Table des matières:

The OreServer - un serveur Minecraft dédié à Raspberry Pi avec indicateur de lecteur LED : 9 étapes (avec photos)
The OreServer - un serveur Minecraft dédié à Raspberry Pi avec indicateur de lecteur LED : 9 étapes (avec photos)

Vidéo: The OreServer - un serveur Minecraft dédié à Raspberry Pi avec indicateur de lecteur LED : 9 étapes (avec photos)

Vidéo: The OreServer - un serveur Minecraft dédié à Raspberry Pi avec indicateur de lecteur LED : 9 étapes (avec photos)
Vidéo: Сервер Minecraft, ванила, без доната, без привата 2024, Novembre
Anonim

Par MrJymmFollow About: Beaucoup d'idées, jamais assez de temps. En savoir plus sur MrJymm »

MISE À JOUR de juillet 2020 - Avant de commencer ce projet, sachez que BEAUCOUP de modifications et de mises à jour ont été apportées aux divers outils logiciels que j'ai utilisés pour créer cela il y a plus de deux ans. Par conséquent, la plupart des étapes ne fonctionnent plus telles qu'elles sont écrites. Le projet peut encore être terminé et est toujours très amusant, mais attendez-vous à devoir faire votre propre bricolage pour que tout fonctionne. Certaines solutions peuvent être trouvées dans les commentaires récents à la fin de l'instructable. Merci et bonne mine

Si vous êtes un fan de Minecraft, vous avez probablement pensé à quel point il serait amusant d'avoir votre propre serveur personnel à partager avec vos amis. Mes fils me demandaient constamment leur propre monde partagé, et finalement leur intérêt pour Minecraft s'est combiné avec mon intérêt pour le Raspberry Pi, et l'idée du OreServer est née.

Ce projet vous montrera comment configurer un serveur Minecraft avec une fonctionnalité amusante et unique: il est conçu pour ressembler à un bloc de minerai et il s'illumine de différentes couleurs en fonction du nombre de personnes qui jouent actuellement sur votre monde !

Mais ça ne s'arrête pas là ! Nous rendrons également le serveur accessible à toute personne disposant de l'édition PC de Minecraft, afin que vous puissiez partager l'adresse de votre serveur et inviter des amis dans votre monde. Il fonctionnera 24h/24 et 7j/7, donc même si vous êtes occupé ou hors de la maison, vos amis peuvent continuer à construire. Et nous mettrons en place des sauvegardes automatiques au cas où une tragédie surviendrait (ce canon TNT semblait être une bonne idée à l'époque…) afin que vous puissiez réinitialiser à partir d'un travail des jours précédents.

Étape 1: Liste des pièces et des outils

Liste de pièces et d'outils
Liste de pièces et d'outils

Ce sont les pièces, les outils et les logiciels dont vous aurez besoin pour mener à bien ce projet. J'ai ajouté des liens pour référence, mais la plupart de ces fournitures sont disponibles auprès de plusieurs fournisseurs, alors ramassez-les là où c'est le plus facile / le moins cher pour vous.

Les pièces:

  • Raspberry Pi 3 et alimentation

    Ceux-ci sont également disponibles en ensemble

  • Adaptateur micro USB à angle droit
  • Carte Micro SD

    Minimum 8 Go, mais une carte de haute qualité de 16 ou 32 Go est recommandée

  • Bijou Néopixel Adafruit
  • Trois fils GPIO courts
  • Filament d'impression 3D argent ou gris (tout type)
  • Vis 2.5mm (x4)
  • Du papier sulfurisé ou du papier de soie blanc

Outils:

  • Lecteur de carte microSD
  • Matériel de soudage
  • Petit tournevis
  • Imprimante 3D

Logiciel:

  • Minecraft (édition Java PC)
  • ISO Raspbian Lite

    PAS la version "avec Desktop"

  • etcher.io
  • Putty ou un client de terminal SSH similaire
  • Filezilla ou client FTP similaire

Étape 2: Configurer et préparer le Raspberry Pi

Configurer et préparer le Raspberry Pi
Configurer et préparer le Raspberry Pi
Configurer et préparer le Raspberry Pi
Configurer et préparer le Raspberry Pi
Configurer et préparer le Raspberry Pi
Configurer et préparer le Raspberry Pi
Configurer et préparer le Raspberry Pi
Configurer et préparer le Raspberry Pi

Avant de pouvoir commencer à installer le serveur, nous devons effectuer quelques étapes d'installation et de configuration de base sur le Pi.

1. Préparez la carte MicroSD

Tout d'abord, nous devons mettre le système d'exploitation Rasbian sur notre carte MicroSD en utilisant etcher.io.

  1. Insérez votre carte MicroSD dans votre lecteur de carte et le lecteur de carte dans un port USB de votre PC
  2. Exécutez Etcher et utilisez le bouton Sélectionner une image pour charger l'ISO Rasbian Lite
  3. Sélectionnez la carte MicroSD pour le lecteur d'installation
  4. Cliquez sur Flash !

Une fois le processus terminé, Etcher détachera le lecteur MicroSD du système, mais nous devons ajouter un fichier supplémentaire, il suffit donc de le débrancher et de le rebrancher. La carte sera désormais lue comme un lecteur étiqueté "boot". Copiez un fichier vierge nommé "ssh" dans le lecteur de démarrage, puis détachez à nouveau le lecteur MicroSD du système. La carte MicroSD est maintenant prête à entrer dans le Raspberry Pi.

** Si vous ne pouvez pas télécharger le fichier "ssh", il est facile de créer le vôtre en renommant simplement un fichier texte vierge. Assurez-vous de supprimer l'extension ".txt". Quand cela fonctionne, l'icône deviendra vide comme dans la capture d'écran. **

2. Connectez-vous au terminal du Pi

Maintenant que le Pi a un système d'exploitation, mettons-le sous tension !

  1. Branchez à la fois un câble Ethernet filaire et l'alimentation électrique du Rasberry Pi. Bien que le Pi 3 ait une prise en charge Wi-Fi intégrée, une connexion filaire est plus robuste et préférable pour notre serveur.
  2. Ensuite, nous devons récupérer l'adresse IP du Pi à partir de votre routeur. Cette étape différera légèrement en fonction de la marque de votre routeur - dans mon cas, j'entre 192.168.1.1 dans mon navigateur pour me connecter au panneau de commande du routeur. Vous rechercherez une liste de clients DHCP et une entrée nommée "raspberrypi". Notez l'adresse IP attribuée, dans mon exemple, il s'agit de 192.168.1.115. C'est également une bonne occasion de définir l'adresse IP comme « réservée » ou « permanente » afin qu'elle ne se voit pas attribuer une adresse différente plus tard. Si vous rencontrez des difficultés avec cette étape, vous voudrez vérifier la documentation de votre routeur ou le site d'assistance pour plus de détails.
  3. Nous pouvons maintenant ouvrir Putty, entrer l'adresse IP du Pi dans le champ "Nom d'hôte" et cliquer sur "Ouvrir".

Vous devriez maintenant voir un écran noir avec "login as:". C'est le terminal de votre Pi, et c'est là que nous allons faire le reste du travail de configuration du serveur. N'oubliez pas que les écrans des terminaux sont pour les claviers ! Votre souris ne sera pas très utile ici.

3. Raspi-config

Pour terminer la configuration initiale, nous devons nous connecter en utilisant les paramètres par défaut:

connectez-vous en tant que: pi

mot de passe: framboise

Nous pouvons maintenant passer par une configuration de base des paramètres par défaut du Pi en entrant ce qui suit

sudo raspi-config

Nous devons apporter plusieurs modifications, et je vais vous les présenter dans le même ordre qu'elles sont numérotées sur l'écran de configuration.

  1. Changer le mot de passe utilisateur - C'est un must ! Tout le monde connaît le mot de passe par défaut, alors changez-le immédiatement.
  2. Options de réseau

    Nom d'hôte - par défaut, il s'agit de "raspberrypi", mais si vous le souhaitez, vous pouvez le modifier pour qu'il soit plus descriptif

  3. -(pas de changement)-
  4. Options de localisation - si vous n'êtes pas au Royaume-Uni, vous souhaiterez les modifier dans votre propre pays. Mes exemples supposent que ce sont les États-Unis.

    1. Change Locale - utilisez votre flèche vers le bas pour trouver une entrée pour "en_GB" avec un * à côté. Utilisez votre barre d'espace pour supprimer ce *, puis descendez un peu plus loin jusqu'à "en_US. UTF-8" et utilisez à nouveau la barre d'espace pour le marquer avec *.
    2. Changer le fuseau horaire - ce paramètre est important pour que nos tâches chronométrées fonctionnent correctement
    3. Modifier la disposition du clavier - vous pourrez peut-être ignorer cela, mais si vous restez sur UK, quelques symboles de clavier sont déplacés
  5. Options d'interfaçage

    1. -(pas de changement)-
    2. SSH - Activez ceci pour pouvoir continuer à utiliser Putty après avoir redémarré le Pi.
  6. -(pas de changement)-
  7. Options avancées

    1. Développez le système de fichiers - cela garantit que le Pi peut utiliser tout l'espace disponible sur la carte SD
    2. -(pas de changement)-
    3. Memory Split - remplacez-le par 16 pour libérer plus de mémoire pour l'utilisation de Minecraft.

Maintenant, sélectionnez "Terminer", puis sélectionnez "Oui" pour redémarrer.

Cela mettra fin à votre session dans Putty. Donnez-lui simplement un moment pour terminer le redémarrage, puis ouvrez à nouveau Putty et reconnectez-vous à l'adresse IP du Pi. N'oubliez pas d'utiliser votre nouveau mot de passe !

Étape 3: Installez le serveur dédié

La configuration du logiciel serveur est l'étape la plus longue, mais aussi la plus importante. Nous passerons beaucoup de temps à saisir un tas de commandes Linux ennuyeuses. Ne vous laissez pas intimider ! Tant que vous pouvez copier et coller, vous pouvez passer à travers cette partie.

Un serveur Minecraft est assez complexe et son exécution sur un ordinateur aussi petit qu'un Raspberry Pi nécessite une certaine rationalisation. J'ai commencé avec ce tutoriel fantastique de James Chambers, car il a plusieurs bons conseils pour maximiser les performances du serveur. Je vais résumer son processus d'installation ci-dessous et souligner quelques modifications et mises à jour que j'ai apportées, mais je vous recommande fortement de lire sa page pour plus de détails.

Maintenant que vous vous êtes reconnecté en utilisant le "pi" par défaut et votre nouveau mot de passe, nous pouvons commencer à entrer les commandes pour installer les fichiers du serveur.

Important - Beaucoup de ces commandes sont longues et complexes et seraient très pénibles à saisir dans la fenêtre du terminal. Alors ne le fais pas ! Mettez en surbrillance le texte de la commande dans cette fenêtre, copiez-le avec ctrl-c, puis dans la fenêtre de votre terminal, faites un clic droit avec votre souris pour coller le texte. Tu vois, cette souris est bonne à quelque chose après tout !

Pour le reste de cette étape, vous copierez chacune des commandes dans ces zones de texte de code.

Je vais donner de brèves explications sur ce que nous faisons en cours de route.

Nous allons commencer par mettre notre logiciel à jour.

sudo apt-get update && sudo apt-get upgrade

Chaque fois que vous voyez une demande d'approbation d'installation, tapez "y" et appuyez sur Entrée pour accepter et continuer.

Minecraft fonctionne sur Java, mais notre installation "Lite" de Rasbian ne l'incluait pas, alors saisissons-le.

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808 /jdk-8u161-linux-arm32-vfp-hflt.tar.gz

Remarque ** Lorsque Java est mis à jour vers une version plus récente, cette commande peut devenir obsolète. Si vous recevez un message d'erreur, vous devrez mettre à jour la commande pour la dernière version. Visitez la page de téléchargements Java d'Oracle, cliquez sur le bouton "Accepter le contrat de licence", puis cliquez avec le bouton droit sur le lien vers le dernier fichier linux-arm32 et sélectionnez le lien de copie. Vous devrez utiliser ce lien mis à jour pour remplacer le texte de la commande ci-dessus, en commençant par http. **

Nous pouvons maintenant installer les fichiers Java que nous venons de télécharger.

sudo mkdir /usr/java

cd/usr/java

Si vous deviez modifier le lien de téléchargement pour une nouvelle version, assurez-vous de modifier le numéro de version dans ces prochaines commandes pour qu'il corresponde.

sudo tar xf ~/jdk-8u161-linux-arm32-vfp-hflt.tar.gz

sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_161/bin/java 1000

sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_161/bin/javac 1000

disque ~

Et enfin, l'événement principal que vous attendiez si patiemment, installons le serveur Minecraft. Il s'agit d'une version spécialisée du serveur appelée Paper, et elle regorge d'optimisations pour améliorer les performances.

Papier mkdir

wget

unzip master.zip -d Papier

mv ~/Paper/RaspberryPiMinecraft-master/* ~/Paper/

papier cd

chmod +x start.sh

wget

java -jar -Xms512M -Xmx800M trombone.jar

Cette dernière commande démarrera le serveur pour la première fois, et après quelques instants, vous recevrez une erreur indiquant que vous devez accepter le CLUF. Ouvrez le CLUF avec la commande suivante:

nano eula.txt

Remplacez la ligne qui dit "eula=false" par "eula=true". Enregistrez vos modifications en appuyant sur ctrl-x, puis Y, puis entrez.

Remarque ** James Chambers mentionne une méthode pour overclocker votre carte SD à ce stade de son guide. Je n'ai pas personnellement essayé cette étape, car elle nécessite une carte de haute qualité et celle que j'avais à ma disposition n'a rien de spécial. Je pense que l'overclocking améliorerait certainement encore les performances, mais même sans overclocking, le serveur fonctionne suffisamment bien pour que les enfants qui y jouent ne se plaignent pas. **

Examinons rapidement les propriétés du serveur et apportons quelques modifications.

nano server.properties

Il existe une longue liste de choses que vous pouvez modifier sur votre serveur ici, telles que la personnalisation du nom du serveur et du MOTD, la modification du mode de jeu ou l'activation du PvP ou des blocs de commande. Vous pouvez modifier les choses selon vos préférences maintenant, ou vous pouvez ouvrir ce fichier pour apporter d'autres modifications plus tard, mais nous apporterons deux modifications immédiatement.

max-joueurs=8

port-serveur=25565

Huit joueurs est le niveau le plus élevé que je recommanderais, plus et vous êtes très susceptible de voir les performances du serveur ralentir, même avec toutes les optimisations apportées pour exécuter les choses sur le Pi.

Le port du serveur doit être modifié car, comme le mot de passe "raspberry" par défaut, tout le monde connaît le port par défaut de 25565. Même une modification mineure de 26565 aidera à sécuriser votre serveur. Notez le numéro de port à côté de l'endroit où vous avez enregistré l'adresse IP du Pi. Vous aurez besoin des deux plus tard.

Une fois que vous avez terminé de mettre à jour vos paramètres, enregistrez les modifications en appuyant sur ctrl-x, puis Y, puis entrez.

La prochaine étape de la préparation de votre serveur prendra également le plus de temps une fois démarré, probablement environ une heure. Ces commandes pré-généreront votre monde, ce qui signifie que le serveur n'aura pas à faire tout ce travail plus tard pendant que vous et vos amis explorez.

cd ~/Papier/plugins

wget --content-disposition -E

écran d'installation sudo apt-get

papier cd

./start.sh

Il ne semble pas que quelque chose s'est passé, mais votre serveur a maintenant démarré ! Afin d'interagir avec le serveur, nous devons utiliser cette commande

écran -r minecraft

Et puis nous allons pré-générer le monde:

wb world set 1000 spawn

wb monde remplir 1000

wb remplir confirmer

C'est la partie qui prendra beaucoup de temps. Allez prendre une collation et revenez plus tard! Lorsque le processus est terminé, arrêtez le serveur avec une commande très simple

arrêter

Cela enregistrera et fermera le serveur et vous ramènera au terminal Raspberry Pi.

Notre dernière tâche consiste à configurer le serveur pour qu'il démarre automatiquement lorsque le Raspberry Pi est branché ou redémarré. Nous pouvons le faire en créant un script simple.

disque ~

nano startup.sh

Nous avons déjà utilisé nano pour éditer quelques fichiers, mais cette fois nous en créons un à partir de zéro, donc la fenêtre sera vide. Copiez ces deux lignes dans le fichier:

cd /home/pi/Papier

screen -dmS minecraft java -server -Dfile.encoding=UTF-8 -Xms512M -Xmx800M -XX:NewSize=300M -XX:MaxNewSize=500M -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+ CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:SurvivorRatio=16 -XX:TargetSurvivorRatio=90 -jar /home/pi/Paper/paperclip.jar nogui

Ensuite, enregistrez votre nouveau script en appuyant sur ctrl-x, puis Y, puis entrez.

chmod +x startup.sh

chmod +x /etc/rc.local

sudo nano /etc/rc.local

La toute dernière ligne du fichier rc.local indique "exit 0". Directement au-dessus de cette ligne, nous allons ajouter ceci:

su pi -c /home/pi/startup.sh

Et une fois de plus, nous sauvegardons les modifications du fichier avec ctrl-x, puis Y, puis enter.

redémarrage sudo

Vous recevrez un message indiquant que la connexion est fermée et vous pouvez fermer la fenêtre Putty.

C'est ça! Vous avez traversé la partie ennuyeuse ! Nous sommes maintenant prêts à tester notre serveur !

Étape 4: Testez votre serveur et invitez vos amis

Testez votre serveur et invitez vos amis
Testez votre serveur et invitez vos amis
Testez votre serveur et invitez vos amis
Testez votre serveur et invitez vos amis
Testez votre serveur et invitez vos amis
Testez votre serveur et invitez vos amis
Testez votre serveur et invitez vos amis
Testez votre serveur et invitez vos amis

Ensuite, nous allons vérifier que le serveur fonctionne et nous assurer que nos amis peuvent se joindre.

Ouvrez votre lanceur Minecraft sur votre PC et appuyez sur Play. Assurez-vous que vous utilisez la dernière version pour correspondre au serveur Paper.

Sur l'écran principal, sélectionnez Multijoueur, puis Ajouter un serveur. Entrez le nom que vous souhaitez avoir sur votre liste de serveurs, et pour l'adresse du serveur, entrez l'IP de votre Pi et le numéro de port. Pour mon exemple, nous utilisons 192.168.1.115:26565. Assurez-vous que vous avez un deux-points entre l'adresse IP et le numéro de port, et qu'il n'y a pas d'espace. Cliquez sur Terminé, puis sur Lecture sur votre serveur. Après quelques instants, vous vous retrouverez plongé dans votre tout nouveau monde !

Attends, reviens ! Ne commencez pas à construire tout seul, invitons des amis ! Malheureusement, ils ne peuvent pas utiliser la même adresse IP que vous. Donc, pour que cela fonctionne, vous devez d'abord dire à votre routeur qu'il est acceptable pour les personnes qui se trouvent à l'extérieur de votre maison de se connecter au Pi. C'est ce qu'on appelle la redirection de port et le processus exact différera un peu en fonction de votre routeur. J'ai joint une capture d'écran de ce à quoi cela ressemble sur mon routeur de marque TP Link, mais vous devrez peut-être consulter le site d'assistance de votre routeur pour plus d'informations.

Dans vos paramètres de redirection de port, saisissez le numéro de port que vous avez choisi pour votre serveur, puis l'adresse IP de votre Raspberry Pi. Votre routeur sait maintenant que lorsque vos amis essaient de se connecter à ce numéro de port, ils doivent être dirigés vers le Pi.

Ensuite, nous devons utiliser un service gratuit tel que No-IP pour créer votre propre adresse unique, appelée nom d'hôte. Vous configurerez également votre routeur ou votre PC pour maintenir l'adresse IP du nom d'hôte à jour.

Suivez les étapes de leur guide de configuration maintenant.

Lorsque vous aurez terminé de configurer votre compte No-IP, vos amis pourront se connecter à votre serveur en entrant votre nouveau nom d'hôte et le numéro de port dans la section Adresse du serveur de leur écran multijoueur Minecraft. Par exemple, nom d'hôte.ddns.net:26565.

Étape 5: Sauvez le monde ! (avec sauvegardes automatiques)

Sauver le monde! (avec sauvegardes automatiques)
Sauver le monde! (avec sauvegardes automatiques)

Cette étape est facultative, mais c'est une bouée de sauvetage potentielle. Votre monde est confronté à de sérieux risques, qu'il s'agisse d'une carte MicroSD corrompue, de méfaits ou de chagrins occasionnels, ou simplement de ces plantes grimpantes embêtantes. Pour protéger tout votre travail acharné, le serveur enregistrera automatiquement votre fichier mondial chaque nuit. Pour éviter que votre carte MicroSD ne se remplisse, nous supprimerons également toutes les sauvegardes datant de plus d'une semaine. Après cela, vous pouvez facilement les copier sur votre propre PC ou sur un autre lecteur de sauvegarde pour encore plus de sécurité.

Nous allons commencer par utiliser Putty pour nous reconnecter à notre Pi afin de créer un autre nouveau script.

nano dailybackup.sh

Copiez les commandes suivantes dans le script:

# Arrêtez le serveur Minecraft

screen -x minecraft -X stuff stop^M sleep 5 # Copiez le répertoire Paper dans la sauvegarde/PaperYYDDMM cp -a Paper/. backup/Paper$(date +%F) # Supprimer les sauvegardes de plus de 7 jours find backup/* -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

Et puis, dites-le avec moi - enregistrez votre fichier en appuyant sur ctrl-x, Y, entrez.

Nous allons maintenant créer une tâche récurrente pour exécuter le script de sauvegarde tous les soirs à l'aide de crontab.

crontab -e

Vous aurez un choix d'éditeurs la première fois que vous exécuterez cette commande, sélectionnez le numéro 2 pour Nano.

Cela ouvrira un fichier spécial pour la planification des tâches. Au bas de ce fichier ajoutez les lignes suivantes:

5 0 * * * /home/pi/dailybackup.sh

15 0 * * * redémarrage sudo

La première ligne indique au Pi d'exécuter votre script de sauvegarde à 00h05 tous les soirs. La deuxième ligne indique au Pi de redémarrer dix minutes plus tard. Si vous préférez une heure différente pour les sauvegardes et le redémarrage, vous pouvez modifier ces lignes selon vos préférences. N'oubliez pas que le premier nombre est la minute et le deuxième nombre est l'heure au format 24h. Les trois astérisques garantissent que ce script s'exécutera tous les jours.

Une fois que votre système a fonctionné pendant un certain temps, vous voudrez peut-être prendre l'habitude d'enregistrer les sauvegardes dans un autre emplacement à partir de la carte MicroSD du Pi. Cette tâche est rendue très simple en vous connectant à votre serveur à l'aide de Filezilla. Faites simplement glisser le dossier de sauvegarde du côté droit de Filezilla et déposez-le sur votre PC. Une fois qu'il a copié tous les fichiers, vous pouvez les stocker aussi longtemps que vous le souhaitez !

Et si une tragédie survient et que vous devez revenir à l'un de vos fichiers de sauvegarde, c'est une procédure simple et rapide. Assurez-vous d'abord que vous avez arrêté le serveur:

écran -r minecraft

arrêter

Ensuite, utilisez Filezilla pour supprimer le répertoire Paper et remplacez-le en faisant glisser l'un de vos répertoires enregistrés vers le Pi. Assurez-vous de supprimer la date du nom du répertoire afin qu'il soit à nouveau nommé simplement Papier. Ensuite, vous pouvez redémarrer votre serveur avec

./startup.sh

Et juste comme ça, vous pouvez vous remettre au métier de la construction !

Étape 6: Branchez les LED

Branchez les LED
Branchez les LED
Branchez les LED
Branchez les LED
Branchez les LED
Branchez les LED

Il est temps d'ajouter des lumières ! C'est là que votre serveur commence à devenir plus qu'un simple collecteur de poussière derrière votre moniteur. Cette étape vous montrera comment souder et attacher le Neopixel Jewel au Raspberry Pi, puis installer le logiciel nécessaire pour faire fonctionner les LED. Peu de temps après, vous n'aurez plus à vous demander si quelqu'un attend de jouer avec vous en ligne, car votre serveur vous le dira d'un simple coup d'œil !

Les Neopixel d'Adafruit sont des LED fantastiques. Ils sont RVB, ce qui signifie qu'ils peuvent s'allumer dans n'importe quelle couleur que vous voulez. Ils sont adressables, ce qui signifie que vous pouvez utiliser des commandes logicielles pour changer leur couleur quand vous le souhaitez. Pour plus d'informations sur le fonctionnement des Neopixels avec Raspberry Pi, consultez le guide officiel d'Adafruit.

Le bijou a 7 LED qui nous donneront beaucoup de couleurs vives et fortes. Il y a également cinq points de contact de soudure, mais nous n'en utiliserons que trois. Je vous recommande fortement d'utiliser trois fils de couleurs différentes pour éviter de les mélanger lorsque vous les connecterez plus tard au Pi. Dans mes exemples de photos, j'ai utilisé du rouge, du noir et du marron.

Avant de commencer cette étape, vous voudrez que le Raspberry Pi soit complètement éteint. Entrez ces commandes, puis débranchez l'alimentation du Pi.

écran -r minecraft

arrêter

sudo shutdown -h now

Coupez trois fils GPIO femelles, suffisamment longs pour que vous ayez suffisamment de fils avec lesquels travailler pendant la soudure. Vous pouvez toujours boucler l'excédent comme je l'ai fait. Soudez soigneusement les fils aux contacts sur le bijou. Fixez ensuite les connecteurs femelles aux broches GPIO du Raspberry Pi:

PWR à la broche 1 = 3,3 V

GND à la broche 6 = Terre

IN à la broche 12 = GPIO18

Une fois le bijou en place, vous pouvez rebrancher le Pi et utiliser Putty pour connecter et installer le logiciel LED avec les commandes suivantes. Surveillez les endroits qui peuvent vous demander d'entrer Y pour continuer l'installation.

sudo apt-get install build-essential python-dev git

sudo apt-get install scons

sudo apt-get install swig

git clone

cd rpi_ws281x

scons

Important ** Dans la prochaine étape, nous allons faire un ajout mineur à la bibliothèque neopixel. C'est nécessaire pour éviter une erreur de mémoire qui m'a rendu fou pendant plusieurs jours. Sans cela, les LED fonctionneront pendant quelques heures, puis cesseront de se mettre à jour correctement. **

cd python

python setup.py build

sudo nano build/lib.linux-armv7l-2.7/neopixel.py

Utilisez la flèche vers le bas pour faire défiler la ligne qui dit class Adafruit_NeoPixel(object):. Pas loin après cela, vous trouverez une section avec du texte bleu qui dit def _cleanup(self). Vous allez copier la ligne suivante dans ce section, exactement comme indiqué dans la capture d'écran ci-dessus.

ws.ws2811_fini(self._leds)

Et encore une fois, nous devons enregistrer les modifications avec ctrl-x, Y, enter.

disque ~

cd rpi_ws281x/python

sudo python setup.py installer

Ensuite, nous devons indiquer au fichier de test le nombre de LED que nous avons, puis nous pouvons les allumer !

exemples de cd

sudo nano strandtest.py

Trouvez la ligne qui dit LED_COUNT = 16 et changez-la en LED_COUNT = 7, puis ctrl-x, Y, entrez pour enregistrer.

sudo python strandtest.py

Si tout s'est bien passé, vous venez d'être aveuglé par une explosion arc-en-ciel clignotante. Lorsque vous pouvez voir à nouveau, appuyez sur ctrl-c pour arrêter les lumières. Les LED ne s'éteindront pas, mais elles cesseront de clignoter et c'est assez bon pour le moment.

Étape 7: programmez les voyants pour vérifier l'état du serveur

Programmez les LED pour vérifier l'état du serveur
Programmez les LED pour vérifier l'état du serveur

Avec nos LED installées et prêtes, il est temps de les faire réagir au serveur. Concrètement, nous leur ferons indiquer le nombre actuel de joueurs sur le serveur:

Joueurs = Minerai

  • 0 = Redstone
  • 1-2 = Fer
  • 3-4 = Or
  • 5-6 = Émeraude
  • 7-8 = Diamant

Si le serveur ne fonctionne pas, le bloc de minerai sera du charbon (LED éteintes). Et en prime, si le contrôle d'état ne trouve pas de connexion Internet, les LED clignoteront en jaune !

Afin de récupérer le nombre de joueurs du serveur, nous allons installer mcstatus de Nathan Adams, l'un des développeurs de jeux de Mojang.

sudo apt-get installer python-pip

sudo pip installer mcstatus

Ensuite, nous devons copier les deux scripts python ci-dessous, mcled.py et ledoff.py, sur notre serveur avec Filezilla. Faites simplement glisser et déposez les deux scripts dans la zone de droite, comme indiqué dans la capture d'écran.

Allez-y et testez ledoff.py dès maintenant, afin que nous puissions éteindre les LED qui sont restées allumées à l'étape précédente.

sudo python ledoff.py

Lors de l'exécution manuelle des scripts comme celui-ci, vous recevrez un message indiquant "Erreur de segmentation". Il s'agit d'un problème non résolu dans la bibliothèque Neopixel.py qui n'a aucun effet sur ce que nous faisons.

Si vous êtes curieux de savoir comment ces scripts fonctionnent, vous pouvez les ouvrir avec n'importe quel éditeur de texte sur votre PC, ou en utilisant nano sur l'écran du terminal. Veillez simplement à ne pas enregistrer accidentellement des modifications qui pourraient les empêcher de fonctionner !

Remarque ** mcled.py suppose que vous utilisez le port 26565 de mon exemple. Si vous utilisez un autre port, vous devez modifier le script pour qu'il corresponde aux étapes suivantes **

sudo nano mcled.py

Trouvez une ligne de texte rouge qui dit "# Obtenir le nombre de joueurs du serveur", et en dessous, vous verrez une ligne qui comprend du texte vert qui dit "localhost" et le numéro de port à côté de cela. Modifiez le numéro de port pour qu'il corresponde au vôtre et, comme toujours, enregistrez vos modifications avec ctrl-x, Y, entrez.

Afin d'obtenir des mises à jour constantes sur l'état du serveur, nous allons dire au Pi d'exécuter le script mcled.py toutes les minutes, ce qui signifie configurer quelques lignes supplémentaires dans crontab.

crontab -e

Vous verrez les deux lignes que nous avons ajoutées plus tôt pour planifier les sauvegardes et les redémarrages. Maintenant, nous allons en ajouter deux autres:

* 6-20 * * * sudo python mcled.py

0 21 * * * sudo python ledoff.py

La première ligne indique au Pi d'exécuter mcled.py chaque minute de chaque heure entre 6h et 20h59. La deuxième ligne indique au Pi d'éteindre les LED à 21 heures. C'est une préférence personnelle, car à ce moment-là, mes enfants ne jouent plus à Minecraft, même si le serveur continue de fonctionner. Nous avons également le OreServer bien en vue au-dessus de notre téléviseur et la lumière vive devient irritante le soir. Vous pouvez bien sûr modifier ces deux lignes pour que les LED fonctionnent sans arrêt, ou s'éteignent plus tard, ou tout ce qui vous convient.

Peu de temps après l'enregistrement de vos modifications (vous en avez marre de ctrl-x, Y, entrez encore ?), le script sera appelé et votre bijou s'allumera à nouveau. Il sera très probablement rouge pour indiquer que le serveur est en cours d'exécution mais pas en cours d'utilisation. Prenez un moment maintenant pour lancer Minecraft et rejoindre le serveur comme nous l'avons fait lors de notre test précédent. Peu de temps après votre adhésion, les voyants doivent passer au blanc, puis redevenir rouge lorsque vous vous déconnectez.

Étape 8: Fabriquer la caisse de minerai

Faire la caisse de minerai
Faire la caisse de minerai
Faire la caisse de minerai
Faire la caisse de minerai
Faire la caisse de minerai
Faire la caisse de minerai
Faire la caisse de minerai
Faire la caisse de minerai

La touche finale pour rassembler tout cela est le boîtier de bloc de minerai pour le Raspberry Pi. Pour fabriquer le boîtier Ore, j'ai utilisé l'imprimante 3D Lulzbot TAZ6 dans mon makerspace local, RiverCityLabs. J'ai fourni mes fichiers. STL imprimables pour la base et le haut ci-dessous. Si vous n'avez pas votre propre imprimante 3D, recherchez une communauté de fabricants dans votre région, ils sont super ! Ou vous pourriez avoir une bibliothèque ou une école locale qui a des imprimantes accessibles au public. Il existe également plusieurs services d'impression 3D en ligne qui peuvent imprimer et vous envoyer un design. Ou vous pouvez faire preuve de créativité ! Rien ne vous empêche de fabriquer l'étui en carton ou un tas de Lego gris ou tout ce que vous avez à portée de main.

Quelques notes importantes pour la configuration des fichiers d'imprimante 3D:

  • Imprimez le fichier sans aucune modification de mise à l'échelle pour vous assurer que les trous de montage s'alignent avec le Pi.
  • Retournez le haut de façon à ce que l'extrémité ouverte soit tournée vers le haut.
  • Assurez-vous d'activer vos paramètres de support, afin que les surplombs sur les murs ne deviennent pas salissants.

Une fois votre impression terminée, vous pouvez fixer le Pi à la base avec quatre vis de 2,5 mm. Je ne trouve pas de lien vers le produit réel, mais je les ai trouvés dans un pack de 2 chez Menards, ce qui était bien mieux que de commander une boîte de 100 sur Amazon.

Retirez tout le matériel de support du dessus et coupez une feuille de papier parchemin ou de papier de soie blanc pour l'adapter à l'intérieur. Cela diffusera les lumières LED, ce qui rendra l'effet lumineux un million de fois meilleur que de simplement laisser les trous ouverts.

Fixez l'adaptateur MicroUSB à angle droit au port d'alimentation de sorte que le câble sorte à l'arrière du boîtier à côté du port Ethernet.

Vous pouvez maintenant reconnecter les cordons d'alimentation et Ethernet, mettre le Top en place et profiter !

Étape 9: résumé, réflexions supplémentaires et remerciements

Grand prix du Minecraft Challenge 2018

Conseillé: