Table des matières:

Imaginez que vous êtes un serveur Xyzzy sur Raspberry Pi : 19 étapes
Imaginez que vous êtes un serveur Xyzzy sur Raspberry Pi : 19 étapes

Vidéo: Imaginez que vous êtes un serveur Xyzzy sur Raspberry Pi : 19 étapes

Vidéo: Imaginez que vous êtes un serveur Xyzzy sur Raspberry Pi : 19 étapes
Vidéo: Overwatch, JDG, Pretend You're Xyzzy - REDIFF STREAM 17/03/18 2024, Juillet
Anonim
Imaginez que vous êtes un serveur Xyzzy sur Raspberry Pi
Imaginez que vous êtes un serveur Xyzzy sur Raspberry Pi

Ce guide vous montrera comment configurer un serveur Pretend You're Xyzzy (PYX) sur un Raspberry Pi. Je l'appelle un XyzzyPi

Pretend You're Xyzzy est un clone en ligne et open source de Cards Against Humanity joué dans un navigateur Web.

Sur Android, vous pouvez également utiliser l'application Client pour faire semblant d'être Xyzzy.

Lorsque j'ai commencé à chercher à configurer mon propre serveur PYX, j'ai eu du mal à trouver des instructions qui n'étaient pas obsolètes et faciles à suivre. Il semblait que la plupart d'entre eux avaient été écrits pour des personnes qui avaient déjà une certaine expérience de la configuration d'un serveur PYX. J'ai pu comprendre les choses, mais je voulais créer un guide étape par étape pour ceux qui sont moins férus de technologie ou qui n'ont pas beaucoup d'expérience avec de telles choses. De plus, je n'ai trouvé aucune instruction pour le faire fonctionner sur un Raspberry Pi. Après quelques essais et erreurs, j'ai pu faire fonctionner le serveur PYX sur un Pi avec seulement quelques légères modifications aux fichiers. J'espère que cela fera gagner du temps à ceux que ça intéresse.

Je l'ai fait sur un Pi 3 modèle B+ et un Pi 4 modèle B 4 Go. Il y a quelques problèmes avec l'utilisation d'un Pi Zero W en raison du fait que le processeur ne gère pas correctement une machine virtuelle Java. J'essaie actuellement de le faire fonctionner sur un Zero W et je mettrai à jour les instructions si je réussis. Je n'ai pas de Pi 1 ou 2 à tester, donc cela peut ou non fonctionner avec ceux-ci.

J'ai essayé de rendre ce didacticiel facile à suivre pour les personnes de tous niveaux, il peut donc y avoir des choses ici que vous connaissez déjà.

Si vous savez déjà comment installer Raspbian et vous connecter à votre Pi, passez à l'étape 6

Si vous avez de l'expérience dans la configuration d'un serveur PYX et que vous souhaitez simplement connaître les modifications nécessaires pour le faire fonctionner sur un Pi, passez à l'étape 13

Avis de non-responsabilité: je n'ai pas créé Pretend You're Xyzzy ou l'application cliente Android.

Le crédit pour la création de Pretend You're Xyzzy revient à l'utilisateur de GitHub ajanata (https://github.com/ajanata/PretendYoureXyzzy)

Le crédit pour la création de Client For Pretend You're Xyzzy revient à Gianlu (https://play.google.com/store/apps/dev?id=8675761046824387020)

S'il y a quelqu'un que j'ai manqué, merci de me le faire savoir.

Fournitures

Matériel:

Framboise Pi 3 ou 4

Carte micro SD (j'utilise des cartes micro SD de 32 Go car c'est ce que j'ai sous la main. Vous pouvez probablement vous en tirer avec aussi peu que 2 Go, mais je recommanderais au moins 4 Go.)

PC avec lecteur de carte SD (j'utilise Windows pour ce didacticiel. Si vous utilisez Linux, vous êtes probablement déjà familiarisé avec beaucoup de ces choses, alors ajustez les instructions si nécessaire.)

Logiciel:

Image Raspbian: https://www.raspberrypi.org/downloads/raspbian/ (Tout devrait fonctionner. J'utilise Raspbian Buster Lite au moment de la rédaction.)

Imageur de disque Win32: https://sourceforge.net/projects/win32diskimager/ (Il existe d'autres programmes que vous pouvez utiliser pour flasher l'image Raspbian, mais c'est ma préférence personnelle.)

Mastic:

Étape 1: Flashez Raspbian sur votre carte SD

Flash Raspbian sur votre carte SD
Flash Raspbian sur votre carte SD

Insérez votre carte SD dans le lecteur de carte de votre ordinateur avant d'ouvrir Win32 Disk Imager. Sélectionnez ensuite votre image Raspbian et la lettre de lecteur de votre carte SD et cliquez sur « Écrire ».

ATTENTION: Tout ce qui se trouve sur la carte SD sera supprimé et écrasé. S'il y a des données importantes sur la carte SD, sauvegardez-les d'abord. Assurez-vous également de sélectionner la bonne lettre de lecteur pour votre carte SD. Sinon, vous pourriez effacer/écraser par inadvertance le mauvais lecteur

Une fois terminé, vous aurez deux lecteurs distincts sur votre carte SD. Une fois appelé boot et que Windows ne peut pas lire. Vous obtiendrez probablement une fenêtre contextuelle dans Windows vous demandant de formater la carte. Cliquez simplement sur annuler. Si vous le formatez, vous devrez à nouveau flasher Raspbian.

Étape 2: créez un fichier texte nommé "wpa_supplicant.conf" sur le lecteur de démarrage

Créer un fichier texte nommé
Créer un fichier texte nommé

Sur le lecteur de démarrage de la carte SD, créez un fichier texte nommé wpa_supplicant.conf et collez le code ci-dessous à l'intérieur. Remplacez "nom wifi" et "mot de passe" par votre nom et mot de passe wifi réels, mais conservez les guillemets autour d'eux. Enregistrez le fichier.

Cela permettra à votre Pi de se connecter à votre wifi. Si vous utilisez un câble Ethernet pour connecter votre Pi à votre réseau, vous pouvez probablement ignorer cette étape.

Assurez-vous que l'extension de fichier est correcte. Il devrait s'agir de wpa_supplicant.conf et non de wpa_supplicant.conf.txt

country=usupdate_config=1 ctrl_interface=/var/run/wpa_supplicant

réseau={

scan_ssid=1 ssid="nom wifi" psk="mot de passe" }

Étape 3: Créez un fichier vide nommé « ssh » sur le lecteur de démarrage

Créer un fichier vide nommé
Créer un fichier vide nommé

Sur le lecteur de démarrage de la carte SD, créez un fichier vide nommé ssh

Il n'a pas besoin d'avoir quoi que ce soit dedans, il a juste besoin d'être nommé correctement.

Cela activera ssh sur votre Pi, ce qui vous permettra de vous y connecter à l'aide de Putty.

Assurez-vous que le fichier est simplement nommé ssh sans extension. Pas ssh.txt etc

Étape 4: Éjectez la carte SD de votre PC, placez-la dans votre Pi et allumez votre Pi

Éjectez la carte SD de votre PC, insérez-la dans votre Pi et allumez votre Pi.

Si tout a fonctionné, votre Pi démarrera et se connectera à votre wifi.

Donnez-lui quelques minutes pour parcourir sa configuration initiale.

Étape 5: Connectez-vous à votre Pi à l'aide de Putty

Connectez-vous à votre Pi à l'aide de Putty
Connectez-vous à votre Pi à l'aide de Putty
Connectez-vous à votre Pi à l'aide de Putty
Connectez-vous à votre Pi à l'aide de Putty

Ouvrez Putty et dans la zone Nom d'hôte, tapez raspberrypi en vous assurant que le type de connexion est SSH et que le port est 22. S'il se connecte, vous serez dirigé vers un écran noir avec du texte appelé terminal. Il vous demandera votre nom d'utilisateur et votre mot de passe. Le nom d'utilisateur par défaut est "pi" et le mot de passe par défaut est "raspberry". Il est fortement recommandé de modifier le mot de passe, surtout si vous prévoyez d'exposer votre Pi à Internet. Pour ce faire, tapez "passwd" une fois connecté et suivez les instructions. Assurez-vous de choisir un mot de passe dont vous vous souviendrez.

S'il ne se connecte pas, vous devrez peut-être trouver l'adresse IP utilisée par votre Pi. Il existe plusieurs façons de le faire, mais personnellement, je me connecte simplement à mon routeur et je vérifie la liste des appareils connectés. Une fois que vous avez trouvé l'adresse IP de votre Pi, saisissez-la dans la zone Nom d'hôte de Putty au lieu de raspberrypi et essayez de vous connecter à nouveau.

Si vous ne parvenez toujours pas à vous connecter, vous n'avez peut-être pas créé le fichier ssh correctement. Lisez les étapes précédentes et vérifiez tout.

Étape 6: Facultatif: modifiez le nom d'hôte de votre Pi

Facultatif: modifiez le nom d'hôte de votre Pi
Facultatif: modifiez le nom d'hôte de votre Pi
Facultatif: modifiez le nom d'hôte de votre Pi
Facultatif: modifiez le nom d'hôte de votre Pi
Facultatif: modifiez le nom d'hôte de votre Pi
Facultatif: modifiez le nom d'hôte de votre Pi

Ce n'est pas nécessaire, mais je préfère que le nom d'hôte de mon Pi soit pertinent pour son utilisation plutôt que simplement le générique "raspberrypi". Dans ce cas, je l'ai nommé "xyzzypi" mais vous pouvez l'appeler comme vous le souhaitez.

Pour modifier le type de nom d'hôte:

sudo raspi-config

Sélectionnez les options de réseau

Sélectionnez le nom d'hôte

Entrez le nom d'hôte que vous voulez

Sélectionnez Terminer

Il vous demandera si vous souhaitez redémarrer le Pi maintenant. Le nouveau nom d'hôte n'entrera en vigueur qu'après le redémarrage. Si vous le faites, votre session Putty se déconnectera. Une fois le redémarrage terminé, vous devrez utiliser le nouveau nom d'hôte que vous avez défini pour vous reconnecter à Putty. Si vous vous connectez en utilisant l'adresse IP au lieu du nom d'hôte, cela devrait toujours être le même.

Il existe de nombreuses autres options que vous pouvez définir à l'aide de l'outil raspi-config, mais il existe déjà de nombreux didacticiels à ce sujet en ligne, je ne les aborderai donc pas ici.

Étape 7: Mettez à jour vos packages de candidature

Mettez à jour vos packages de candidature
Mettez à jour vos packages de candidature

Mettez à jour vos packages d'application à l'aide de la commande suivante:

sudo apt-get mise à jour

Laissez-le fonctionner jusqu'à ce qu'il soit terminé.

Remarque: Techniquement, vous n'avez plus besoin de taper "apt-get", vous pouvez simplement taper "apt". Cependant, je suis tellement habitué à taper "apt-get" que c'est juste de la mémoire musculaire pour moi à ce stade.

Étape 8: Installez Git

Installer Git
Installer Git

Une fois la mise à jour des packages d'application terminée, installez Git à l'aide de la commande suivante:

sudo apt-get -y installer git

Laissez-le fonctionner jusqu'à ce qu'il se termine.

Étape 9: Installez Maven

Installer Maven
Installer Maven

Installez Maven à l'aide de la commande suivante:

sudo apt-get -y installer maven

Laissez-le fonctionner jusqu'à ce qu'il se termine

Étape 10: Téléchargez les fichiers du serveur Prétendre que vous êtes Xyzzy

Téléchargez les fichiers du serveur Prétendre que vous êtes Xyzzy
Téléchargez les fichiers du serveur Prétendre que vous êtes Xyzzy

Téléchargez les fichiers du serveur Pretend You're Xyzzy à l'aide de la commande suivante:

git clone git://github.com/ajanata/PretendYoureXyzzy.git

Cela créera un répertoire sur votre Pi nommé PretendYoureXyzzy et téléchargera les fichiers dedans.

Laissez-le fonctionner jusqu'à ce qu'il se termine.

Étape 11: passez au répertoire PretendYoureXyzzy

Passer au répertoire PretendYoureXyzzy
Passer au répertoire PretendYoureXyzzy

Accédez au répertoire PretendYoureXyzzy à l'aide de la commande suivante:

cd PretendYoureXyzzy

Remarque: les commandes Linux sont sensibles à la casse, donc cd PretendYoureXyzzy fonctionnera mais pas cd prétendyourexyzzy.

Étape 12: Ouvrez et modifiez le fichier « build.properties.example » et enregistrez-le sous « build.properties »

Ouvrez et modifiez le
Ouvrez et modifiez le
Ouvrez et modifiez le
Ouvrez et modifiez le
Ouvrez et modifiez le
Ouvrez et modifiez le

Ouvrez le fichier build.properties.example avec l'éditeur de texte nano à l'aide de la commande suivante:

sudo nano build.properties.example

Utiliser un éditeur de texte basé sur un terminal peut sembler un peu intimidant pour ceux qui n'y sont pas habitués, mais ce que nous faisons est très simple.

Utilisez la touche fléchée vers le bas pour faire défiler vers le bas jusqu'à ce que vous trouviez les sections qui disent "hibernate.username" et "hibernate.password".

Utilisez la touche fléchée droite pour vous déplacer jusqu'à la fin de ces lignes et remplacez le nom d'utilisateur et le mot de passe par autre chose. Honnêtement, je ne sais pas si c'est même vraiment nécessaire, mais je ne suis pas à l'aise de les laisser sur le nom d'utilisateur et le mot de passe par défaut avec lesquels ils sont fournis.

Une fois que vous les avez modifiés, appuyez sur ctrl+o pour afficher la boîte de dialogue de sauvegarde.

Retour arrière pour supprimer le ".example" à la fin du nom de fichier afin que vous n'ayez plus que "build.properties"

Il vous demandera si vous souhaitez enregistrer le fichier sous un nom différent. Appuyez sur y pour oui.

Appuyez sur ctrl+x pour fermer l'éditeur de texte nano.

Étape 13: Ouvrez et modifiez le fichier "pom.xml" (C'EST CE QUI LE FAIT FONCTIONNER SUR un PI)

Ouvrez et modifiez le
Ouvrez et modifiez le
Ouvrez et modifiez le
Ouvrez et modifiez le

Ouvrez le fichier pom.xml avec l'éditeur de texte nano en utilisant la commande suivante:

sudo nano pom.xml

Faites défiler vers le bas comme vous le faisiez auparavant. Cette fois, la ligne que vous recherchez est sqlite-jdbc

Juste en dessous de cette ligne se trouve une ligne avec un numéro de version. Vous devez changer ce nombre en 3.28.0 pour qu'il ressemble à:

3.28.0

Une fois que vous avez modifié le numéro de version, appuyez sur ctrl+o pour afficher la boîte de dialogue de sauvegarde.

Conservez le nom de fichier en tant que "pom.xml" et enregistrez-le.

Une fois enregistré, appuyez sur ctrl+x pour fermer l'éditeur de texte nano.

C'est l'édition qui fait que le serveur Pretend You're Xyzzy s'exécute sur un Pi. La version sqlite-jdbc fournie ne fonctionnera pas correctement sur un Pi. La version 3.28.0 fonctionne très bien dans mes tests jusqu'à présent

Étape 14: démarrez le serveur prétendant que vous êtes Xyzzy et assurez-vous qu'il fonctionne

Démarrez le serveur prétendez que vous êtes Xyzzy et assurez-vous qu'il fonctionne
Démarrez le serveur prétendez que vous êtes Xyzzy et assurez-vous qu'il fonctionne
Démarrez le serveur prétendez que vous êtes Xyzzy et assurez-vous qu'il fonctionne
Démarrez le serveur prétendez que vous êtes Xyzzy et assurez-vous qu'il fonctionne
Démarrez le serveur prétendez que vous êtes Xyzzy et assurez-vous qu'il fonctionne
Démarrez le serveur prétendez que vous êtes Xyzzy et assurez-vous qu'il fonctionne

Maintenant que vous avez effectué les modifications nécessaires pour exécuter un serveur Pretend You Xyzzy sur votre Pi, démarrons-le et voyons si tout fonctionne. Démarrez le serveur à l'aide de la commande suivante:

mvn clean package war:exploded jetty:run -Dmaven.buildNumber.doCheck=false -Dmaven.buildNumber.doUpdate=false

Il téléchargera des fichiers supplémentaires, les compilera et démarrera le serveur. Cela prendra probablement quelques minutes.

Remarque: actuellement, c'est la seule façon dont je sais comment faire fonctionner le serveur afin qu'il se compile à chaque fois que vous le démarrez.

Vous saurez que c'est fait lorsque vous recevez un message disant "Le rechargement de la console est ACTIVÉ. Appuyez sur ENTRÉE sur la console pour redémarrer le contexte."

À ce stade, vous pouvez ouvrir votre navigateur et saisir le nom d'hôte (ou l'adresse IP) du Pi en ajoutant le port 8080 à la fin. Donc nom d'hôte: 8080 ou IP: 8080

Si vous utilisiez xyzzypi comme nom d'hôte, ce serait xyzzypi:8080 ou dans mon cas, en utilisant l'adresse IP, ce serait 192.168.1.189:8080

Si tout a fonctionné, vous serez redirigé vers la page principale de Faites semblant d'être Xyzzy.

Toutes nos félicitations! Vous l'avez fait

Cependant, pour le moment, il ne fonctionnera que si vous vous connectez à votre Pi avec Putty et exécutez la commande ci-dessus pour démarrer le serveur. Une fois que vous fermez Putty, le serveur s'arrête. Cela peut convenir à certaines personnes, mais vous souhaiterez peut-être que le serveur Pretend You're Xyzzy s'exécute automatiquement chaque fois que le Pi démarre ou est redémarré sans avoir à se connecter. Les prochaines étapes couvriront le fonctionnement de cela.

Étape 15: créez un script pour démarrer le serveur prétendant que vous êtes Xyzzy

Créer un script pour démarrer le serveur prétendant que vous êtes Xyzzy
Créer un script pour démarrer le serveur prétendant que vous êtes Xyzzy
Créer un script pour démarrer le serveur prétendant que vous êtes Xyzzy
Créer un script pour démarrer le serveur prétendant que vous êtes Xyzzy

Si nous voulons que le serveur Pretend You're Xyzzy démarre automatiquement lorsque le Pi démarre ou redémarre, la première chose que nous devons faire est de créer un script.

Appuyez sur ctrl+c pour arrêter le serveur.

Une fois qu'il s'arrête, tapez la commande suivante:

sudo nano xyzzy.sh

Remarque: j'ai nommé mon script xyzzy.sh mais vous pouvez le nommer comme vous le souhaitez. Assurez-vous simplement qu'il a.sh comme extension de fichier.

À l'aide de l'éditeur de texte nano, saisissez ou collez ce qui suit dans le fichier:

#!/bin/bashcd /home/pi/PretendYoureXyzzy mvn clean package war:exploded jetty:run -Dmaven.buildNumber.doCheck=false -Dmaven.buildNumber.doUpdate=false

Appuyez sur ctrl + o pour afficher la boîte de dialogue de sauvegarde

Enregistrez le fichier et appuyez sur ctrl+x pour fermer nano

Étape 16: Rendez votre script exécutable

Rendez votre script exécutable
Rendez votre script exécutable

Nous devons rendre le script exécutable à l'aide de la commande suivante:

sudo chmod 755 xyzzy.sh

Remarque: si vous avez nommé votre script différemment à l'étape précédente, utilisez plutôt ce nom de fichier.

Étape 17: créez une entrée Crontab pour exécuter automatiquement votre script au démarrage

Créez une entrée Crontab pour exécuter automatiquement votre script au démarrage
Créez une entrée Crontab pour exécuter automatiquement votre script au démarrage
Créez une entrée Crontab pour exécuter automatiquement votre script au démarrage
Créez une entrée Crontab pour exécuter automatiquement votre script au démarrage
Créez une entrée Crontab pour exécuter automatiquement votre script au démarrage
Créez une entrée Crontab pour exécuter automatiquement votre script au démarrage

Il existe plusieurs façons de faire exécuter un script au démarrage. J'utilise crontab ici.

Modifiez les tables crontab à l'aide de la commande suivante:

crontab -e

Il va vous demander quel éditeur vous souhaitez utiliser. Tapez 1 et appuyez sur Entrée pour utiliser nano.

Une fois qu'il s'ouvre, faites défiler jusqu'en bas et ajoutez la ligne suivante:

@reboot /home/pi/PretendYoureXyzzy/xyzzy.sh

Remarque: Encore une fois, si vous avez utilisé un nom de fichier différent pour votre script, saisissez-le à la place.

Appuyez sur ctrl+o pour afficher la boîte de dialogue de sauvegarde.

Enregistrez et appuyez sur ctrl+x pour fermer nano.

Étape 18: redémarrez votre Pi et voyez si vous pouvez vous connecter pour prétendre que vous êtes Xyzzy

Redémarrez votre Pi et voyez si vous pouvez vous connecter pour prétendre que vous êtes Xyzzy
Redémarrez votre Pi et voyez si vous pouvez vous connecter pour prétendre que vous êtes Xyzzy

Maintenant que votre serveur Pretend You Xyzzy est configuré pour s'exécuter au démarrage, vous pouvez redémarrer le Pi et vous assurer que tout fonctionne.

Redémarrez à l'aide de la commande suivante:

redémarrage sudo

Une fois que le Pi a redémarré, il faudra quelques minutes pour tout recompiler pour le serveur. Donnez-lui le temps, puis essayez à nouveau de vous connecter dans le navigateur en utilisant le nom d'hôte ou l'adresse IP du Pi en ajoutant le port 8080 à la fin.

xyzzypi: 8080 ou adresse IP: 8080

Si tout a fonctionné, vous serez redirigé vers la page Faites semblant d'être Xyzzy.

Toutes nos félicitations! Vous avez maintenant le serveur Pretend You Xyzzy qui s'exécute automatiquement sur un Raspberry Pi

Étape 19: Facultatif: Transférer les ports pour autoriser l'accès à votre serveur Xyzzy sur Internet

Alors maintenant, vous avez un serveur Pretend You Xyzzy qui fonctionne, mais pour le moment, il n'est accessible que sur votre réseau local. Cela fonctionne bien si vous avez un groupe d'amis pour jouer chez vous mais que les personnes en dehors de votre réseau local ne pourront pas se connecter.

Vous devrez rechercher les instructions de redirection de port pour votre routeur spécifique si vous ne savez pas déjà comment. Pretend You're Xyzzy utilise le port 8080, c'est donc le port que vous voudrez transférer. Une fois que vous l'aurez configuré, vous pourrez donner à vos amis votre adresse IP et votre port externes et ils pourront se connecter à votre serveur via Internet.

Si vous le souhaitez, vous pouvez également configurer le DNS dynamique afin d'avoir votre propre URL (quelque chose comme JoesPYXserver.noip.com) à donner à des amis pour se connecter à votre serveur. Il existe déjà de nombreux tutoriels pour ce genre de choses.

Conseillé: