
Tuto : Créer un serveur Minecraft sur un Raspberry Pi
MAJ Juin 2016 : le Raspberry Pi 3 permet de faire tourner vraiment bien un serveur Minecraft, voici une démo avec un serveur tournant sur un Raspberry Pi 3 (Minecraft 1.9.4).
Salut à tous,
Aujourd’hui je vous propose un petit tutoriel qui vous permettra de monter un serveur Minecraft à moindre coût et que vous pourrez utiliser pour jouer jusqu’à 4 personnes simultanément avec des performances correctes.
Prérequis :
Avant de commencer voici ce dont vous aurez besoin :
- Au moins un Raspberry Pi 2 (1Go de RAM) et idéalement un Raspberry Pi 3.
Un Raspberry Pi modèle B ou B+ avec 512Mo de RAM tournera mais se ne sera pas très fluide (les modèles avec 256Mo n’ont vraiment pas assez de RAM pour faire tourner le serveur) - Un chargeur USB délivrant au moins 1A et un câble Micro USB (prévoyez idéalement 2,5 A pour un Raspberry Pi 3)
- Un câble ethernet
- Une carte SD rapide (si vous n’en avez pas encore regardez ici), d’au moins 8Go ou plus histoire d’avoir de la marge pour votre carte.
Nous allons ici utiliser l’installation officielle de Minecraft.
Note pour les Raspberry Pi B ou B+ (512Mo de RAM) :
Les performances du Raspberry Pi sont quand même limités surtout avec Java qui bouffe énormément de ressources, si Minecraft était écrit dans un autre langage on aurait moins de soucis ici.
La vitesse de la carte SD est importante ici, car la lecture de la map avec plusieurs joueurs risque de poser problème si le débit de lecture / écriture de la carte SD ne suit pas.
Il faudra bien sûr limiter le nombre d’utilisateurs, le jeux est parfaitement fluide à deux joueurs par contre comptez maximum 4 personnes car sinon le jeu devient vraiment lent.
Pour le Raspberry Pi 2 ou 3 je n’ai pas encore eu l’occasion de tester Minecraft dessus, mais avec la RAM doublée un processeur quadcore le jeu devrait vraiment être beaucoup plus fluide et permettre l’utilisation de certains pack de textures, plus de joueurs voir des mods.
Installer Raspbian :
Avant de commencer installez une distribution Rapsbian vierge sur votre carte SD (sans tâche de fond ou autre service d’installé).
Branchez le tout et connectez vous en SSH sur votre Raspberry Pi.
Overclocker un peu le Raspberry Pi :
Ceux qui ont un Raspberry Pi 2 ou 3 peuvent sauter cette étape.
Afin d’obtenir de meilleurs performances nous allons overclocker le Raspberry Pi, lancez pour cela la commande suivante :
sudo raspi-config
L’ampérage d’au moins 1A est important ici ,votre Raspberry va consommer un chouilla plus en étant overclocké.
Choisissez l’option 8 (Overclock) et prenez medium ce sera suffisant.
Optimisation de la RAM
Si vous voulez optimiser un peu plus le Raspberry, vous pouvez aller jusqu’à “Advanced” (numéro 9) et choisissez “Memory Split”.
Changez la valeur pour 16 au lieu de 64 (par défaut) comme ça on augmente la quantité de RAM utilisable pour le serveur au lieu de la réserver au GPU qui ne servira strictement à rien sur notre machine.
Choisissiez “Finish” à l’écran d’accueil pour appliquer les modifications et redémarrer le Raspberry PI.
Pour étendre la partition principale et utiliser l’ensemble de l’espace de stockage disponible sur votre carte SD utilisez l’option numéro 1 : “Expand Filesystem”
Installation du serveur Minecraft :
Avant de commencer, on va mettre à jour la distribution pour cela lancez la commande suivante :
sudo apt-get update && sudo apt-get upgrade
On installe ensuite java :
sudo apt-get install oracle-java7-jdk
Vous êtes normalement dans votre dossier home, on va créer un dossier Minecraft. Vous pouvez très bien choisir n’importe quel autre emplacement ou encore créer le dossier dans srv/Minecraft si vous le souhaitez.
sudo mkdir minecraft
On ouvre le dossier en question :
cd minecraft
On récupère la dernière version du serveur de Minecraft au format .jar.
sudo wget -O minecraft-server.jar http://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar
On attribue les bons droits au fichier jar
sudo chmod +x minecraft-server.jar
Afin que le serveur continue de tourner lorsque l’on quitte notre connexion SSH, il va falloir installer “Screen” et se créer un petit fichier de script (un fichier .sh) pour éviter de taper une grosse commande à chaque fois que l’on veut lancer le serveur.
sudo vi Minecraft.sh
On insère le code suivant dans ce fichier (remplacez minecraft_server.1.8.1.jar par le nom de votre fichier .jar) :
On remarquera que l’on affecte ici 300 Mo de RAM pour le serveur, on peut adapter cette quantité en fonction de la capacité du Rasbperry Pi, sur un Raspberry Pi 2 on peut mettre beaucoup plus.
Pour un Raspberry Pi 2 ou 3 vous pouvez mettre les valeurs suivantes : -Xms512M -Xmx1008M à la place de -Xms300M
On sauvegarde notre fichier et on donne les bons droits à notre script :
sudo chmod 555 Minecraft.sh
Le script est prêt, il ne nous reste plus qu’à le lancer en tâche de fond, de cette manière lorsque l’on ferme notre session SSH le serveur continuera de tourner.
sudo apt-get install screen
Il ne reste plus qu’à lancer votre script :
./Minecraft.sh
Le serveur se lance, cela va prendre un bon moment au tout premier lancement car le jeux va générer la carte et différents fichiers de configurations que vous pourrez éditer par la suite.
Pour quitter l’écran du serveur et revenir à la console du terminal utilisez les touches CTRL a + d.
Pour revenir sur l’écran du serveur à tout moment, utilisez la commande suivante :
screen -raAd minecraft
Voilà votre serveur Minecraft est lancé et sera toujours là même si vous fermez votre connexion SSH.
Petit bonus pour ceux qui veulent un petit script de sauvegarde voici ce que vous pouvez faire avec un fichier “save_minecraft.sh” par exemple.
Pensez à adapter le chemin “/home/minecraft” de ce script en fonction de là où sont vos fichiers et n’oubliez pas de faire un :
sudo chmod 555 save_minecraft.sh
Une fois le script lancé avec la commande :
./save_minecraft.sh
Vous aurez une archive tar.gz avec une sauvegarde complète de votre serveur.
Enfin pour ceux qui veulent que leur serveur soit accessible depuis l’extérieur (en dehors du réseau local), n’oubliez pas d’ouvrir le port 25565 (par défaut) de votre BOX et faites une redirection du port 25565 vers l’IP de votre Raspberry Pi.
N’hésitez pas à laisser un commentaire pour toutes questions 🙂
Amusez-vous bien !
Super faut que j’essaye ça, je joue avec mon frère tout le temps et on fait tourner le serveur sur ma machine, j’avoue que décharger ça sur un Raspberry c’est vraiment une bonne idée.
cc du m&l
Merci pour l’article je suis en train de reinstaller tout rasbian
enfin on peut avoir un serveur minecraft GRATUIT 🙂
Installation de rasbian en cours …
Bonjour ! je suis en train de suivre ce tutoriel et j’ai a faire a plusieurs problème.
Tout d’abord, lors de la commande : “sudo apt-get installer oracle-java7-jdk”
j’ai du remplacer “installer” par “install” pour que ça puisse fonctionner.
Et la ou je bloque c’est au niveau du telechargement du minecraft.jar
la commande wget avec le lien du tuto ou avec le nouveau présent sur le site:
https://s3.amazonaws.com/Minecraft.Download/versions/1.8.1/minecraft_server.1.8.1.jar
la commande me retourne: “Cannot write to `minecraft_server.1.8.1.jar’ (Permission denied).”
par contre elle arrive tres bien a ce connecter au serveur.
54.231.65.32|:80… connected.
HTTP request sent, awaiting response… 200 OK
avez vous des suggestions ?
Merci d’avance !!
Pour l’url elle a changée avec les mises à jour :
Il faut aller sur https://minecraft.net/download et récupérer le lien pour linux à savoir : https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar maintenant
Je corrige la commande pour jdk merci 🙂
Super ! ça marche bien avec le nouveau lien.
Merci pour ta réponse rapide et pour le tuto.
Avec plaisir
Bonjour,
Débutant dans le terminal linux, j’ai un peu de mal lorsqu’il faut ajouter ce code-ci “#!/bin/sh BINDIR=$(dirname “$(readlink -fn “$0″)”) cd “$BINDIR” screen -s minecraft java -Xms300M -jar minecraft_serveur.1.8.1.jar -o false” dans le fichier “Minecraft.sh”. Quand j’ai réussi à le faire, j’exécute le fichier on me dit de le rpi ne trouve pas le chemin “bin/sh” .
Est ce qu’il faut adapter le code en fonction du dossier dans lequel on se trouve ?
Merci d’avance pour vos réponses.
Bonjour j’ai mis à jour le tuto avec une capture d’écran sur ce passage, ce sera plus simple 🙂
Bonjour,
Lorsque je tape ./Minecraft.sh rien se passe…
Voici l’intérieur du .sh : #!/bin/sh BINDIR=$(dirname “$(readlink -fn “$0″)”) cd “$BINDIR” screen -s minecraft java -Xms300M -jar Minecraft.jar -o false
J’ai remplacer ton “minecraft_serveur.1.8.jar” par “Minecraft.jar” à cause de la nouvelle MAJ.
Aurais tu une idée du pourquoi rien ne se passe du coup quand je tape “./Minecraft.jar” ?
merci de ton aide.
Bien cordialement
Re,
j’ai avancé un peu. Mon problème venait surement du fait que dans le fichier Minecraft.sh j’avais des lignes vierges au dessus de la ligne de code.
Cependant, maintenant voici un nouveau message d’erreur : /bin/sh: 0: Can’t open BINDIR=$(dirname “$(readlink -fn “$0″)”) cd “$BINDIR” screen -s minecraft java -Xms300M -jar Minecraft.ja
As-tu une idée de pourquoi, comment ? As-tu une solution ?
Je te remercie.
Salut j’ai modifié le tuto avec quelques captures d’écran et simplifié le script ça sera beaucoup plus clair. Si tu as des questions n’hésite pas.
Super merci 🙂
Maintenant à priori le screen ne se lance pas… “screen is terminating”
une idée ?
Salut est tu sûr du nom de ton fichier .jar dans la ligne de commande ?
Il te faut l’adapter en fonction du tien. Idem vérifie que tu es dans le même dossier que ton fichier .JAR ou adapte le chemin vers le fichier minecraft.xxx.jar dans la ligne de commande.
=> Je reproduit ton problème si je ne suis pas dans le bon dossier ou si le nom du fichier .jar est incorrect.
Salut,
Merci de tes réponses. Hier soir j’ai réussi à avancer.
En fait, tu as raison, le .jar n’était pas le bon.
Minecraft. jar c’est le launcher (pas le serveur)
minecradt_server.1.8.1.jar c’est le serveur (donc ce qu’on cherche ici)
Après avoir fait cette correction, j’ai rencontré des problèmes.
J’ai fini par comprendre que c’était lié à des permissions sur Screen.
Une fois cela réglé, le fichier Minecraft.sh se lance (enfin :)), mais après quelques minutes et après avoir atteint 99% au ‘Preparing spawn area’ un nouveau message d’erreur apparaît…
‘Can’t keep up! …’ Je comprends que c’est lié au manque de RAM…
J’ai bien suivi tes conseils en début de tuto, pourtant…
J’utilise un Raspberry Pi B+, j’ai donc 512Mo.
As-tu une idée pour résoudre ce problème ?
Je te remercie 🙂
J’ai ce message d’avertissement de temps en temps mais cela n’empêche pas le jeu de fonctionner correctement. Tu as pu te connecter ?
Salut,
Non j’ai essayé mais pas possible de se connecter…
Bonjour,
j’ai suivi le tuto à la lettre mais malgré le nouveau lien https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar
j’ai aussi le message d’erreur:
pi@raspberrypi ~/minecraft $ wget https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar
–2015-02-13 11:59:54– https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar
Resolving s3.amazonaws.com (s3.amazonaws.com)… 54.231.34.104
Connecting to s3.amazonaws.com (s3.amazonaws.com)|54.231.34.104|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 280212 (274K) [application/java-archive]
Minecraft.jar: Permission denied
merci pour une aide éventuelle
Salut gigi, essaye avec le lien tout en bas de cette page (minecraft_server.1.8.1.jar) : https://minecraft.net/download
c’est bien cette ligne de commande que je dois faire?
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.1/minecraft_server.1.8.1.jar
car si c’est le cas j’avais déjà essayé et c’est la même chose
Alors soit c’est que tu n’as pas les droits d’écriture dans le dossier ou tu es actuellement quand tu fais le WGET (met toi dans un dossier ou tu as les droits d’écritures).
Sinon c’est le fait que le site soit en HTTPS et que WGET vérifie le certificat essaye avec :
wget --no-check-certificate https://s3.amazonaws.com/Minecraft.Download/versions/1.8.1/minecraft_server.1.8.1.jar
oui effectivement c’était de ma faute !! merci
Merci pour ce super Tuto. Bravo.
Voici mon site qui parle du Raspberry PI.
J’ai essayé avec mon Raspberry PI 2 c’est nickel.
http://www.caron.ws
Ya t’il besoin d’over clock un raspberry pi2 pour le transformer en serveur minecraft??
Pas besoin 🙂
Hello,
Ton lien wget https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar me donne un Jar à 256 Ko ce qui entraine naturellement une erreur.
Pensez à privilégié celui-ci http://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar (Permanent location et le plus à jour.)
Bon jeu 😉
Cof’
merci bcp pour le lien, j’en cherchais un comme ça, pour mettre ça sur le script de boot de mon serveur (comme un Raspberry Pi se redémarre peu quand tout va bien, bah suffit d’entrer en jeu, faire un /stop et le serveur se met à jour)
il me manquait ce type de lien “magique” :p
Salut Coofee merci pour l’info 🙂
salut les gens, je suis à la recherche du st Graal, à savoir…
Mon serveur minecraft fonctionne. ça reste à peu près fluide, c’est pas trop trop moche.
or, là où je cherche mon st Graal, c’est quand je m’aperçoit qu’à cheval, ça court 3 cubes, ça se pause, ça continue à accélérer, après 3 cubes ça se pause encore…
Et la même chose avec la redstone, parfois même pire… une fois, 1 min s’est écoulée entre le passage d’un objet dans un hopper vers un coffre.
sachant que je suis rompu aux techniques d’installation:
_ alim Temium 2.3A (et donc 5V, forcément)
_ ventialeur 12 ultra quiet XM1 de chez NoiseBlocker
_ boitier oneNineDesign un peu découpé à l’intérieur pour placer les heatsink à coller, et le capot troué aussi pour que le ventilateur aspire la chaleur
_ dd de raspbian vers la microSD (64Go,SanDisk EVO, UHS-1), la version 2015-05-05
_ lancement avec java jre, paramètres de ram, intervalle 500 à 900, via une commande dans le /etc/rc.local qui lance le script situé dans /home/pi (histoire d’économiser au CPU le lancement d’une session utilisateur)
_ des liens symboliques à la racine qui pointent vers le /home/pi (oui, rc.local a pour répertoire la racine du système de fichiers
_ le governor réglé à ondemand
par ailleurs, les petits réglages côté :
arm_freq réglé à 1100MHz
le core à 500
sd_ram à 500
over volt réglé à 8
(le paramétrage c’est réellement $voltage_additionnel = $nombre * 0.025)
et le startx non lancé.
et malgré tout, pas moyen de se balader à cheval, seul connecté, sans que ça lag …
ceci dit, ça n’empêche pas d’être connecté à deux, mais ça fait lagger le cassage et le placement de blocs carrément …
snif, j’ai tant envie que minecraft tourne 24h/24, comme ça mes 2 potes et moi, on fera des pti allers-et-retours à l’envie, et pas en mode “tu peux démarrer le serveur stp? ah zut t pas chez toi avant 2 semaines…”. Et puis, parce que c’est tellement beau quand ça ronronne tout doucement la nuit, avec quelques clignotements, quand on sait que le monde qu’on a créé tourne 24h/24 …
Et ce pb me torture depuis bientôt 2 semaines.
des suggestions ?
ps: j’ai tenté le build de spigot, mais ça m’a pas aidé. quand je le lance, parfois je suis déco, mais à aucun moment spigot (malgré ce qui fut dit sur le site officiel) n’accepte de lire les fichiers du serveur dont je copie tous azimuts, tellement j’ai pas envie que les 3580 jours minecraftiens ne soient perdus par un ratage éhonté, ou plus simplement, un overclock trop sauvage qui explose une partie des fichiers du système…
et j’ai tenté de rechercher si oracle, dans sa bonté magnanime avait créé une édition d’un jre mais en OS pas juste en surcouche applicative pour le raspberry pi 2. je ne l’ai pas trouvé.
– signé un accro de minecraft pi –
Comment on fait pour l’arreter ?
Comment on fait pour arreter le script ?
J’ai trouver pour revenir sur son ecran du serveur faut faire sa :
screen -raAd
bonjour.
je voudrais avoir ou on a l’ip du serveur.
car je vais faire sa sur mon future raspberry pi 3 B.
merci d’avance.
L’ip du serveur en local c’est ” ifconfig ” en ligne de commande.
Si tu veux le publier en ligne c’est l’ip de ta box avec redirection de port activée vers l’ip de ton raspberry
Bonjour je me suis de op sans faire exprès je voudrais me re op comment faire ?
Merci
Bonjour,
Il faut soit vous rajouter à la main dans le fichier ops.txt sur le serveur, soit taper la commande “/op” directement depuis le jeu si vous avez les droits admin :p
Bon courage 🙂
bonjour j’ai essayer de prendre un nouveau lien pour le telechargement mais il ne fonctione pas non plus peux-tu m’aider pour résoudre mon problème
merci d’avance
Bonjour ou Bonsoir , Est-ce qu’une connection Vdsl ou Adsl peut suffire pour que le ping du serveur ne soit pas trop élever ?
Mon Ping : 16ms
Mon débit descendant 25.45 Mbps
Mon débit ascendant : 2.14 Mbps
Salut,
il y a pas longtemps, j’ai eu un RSB Pi 3 et j’ai de suite pensé à créer mon srv minecraft…
J’ai suivi les instructions mais mon RSB ne trouve pas la commande “screen” 🙁
Svp vous auriez pas une solution à mon pb ??
Merci de vos réponses
Salut !
sudo apt-get install screen
bonjour,
après avoir lancer le script Minecraft.sh j’ais cette erreur:
2018-07-14 19:59:12 [SEVERE] Could not save crash report to ./crash-reports/crash-2018-07-14_19.59.12-server.txt
java.io.FileNotFoundException: ./crash-reports/crash-2018-07-14_19.59.12-server.txt (Aucun fichier ou dossier de ce type)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:162)
at java.io.FileWriter.(FileWriter.java:90)
at b.a(SourceFile:287)
at net.minecraft.server.MinecraftServer.run(SourceFile:355)
at gp.run(SourceFile:573)
2018-07-14 19:59:12 [SEVERE] We were unable to save this crash report to disk.
bonjour,
super tuto.
y a un truc que je pige pas dans le fichier .sh
A chaque fois que je dois relancer le script, ca bug.
J’utilise putty. Je me demande si Screen est comptatible a 100%
quand je quitte putty, je n’arrive pas à rejoindre le screen.
Pourriez-vous donner plus de détails sur l’utilisation?
Bonjour,
Pour retrouver l’instance screen de Minecraft une fois qu’il est lancé il faut faire un
sudo screen -ls
et ensuite un
sudo screen -r (numéro de l’instance pour se rattacher dessus).
Bonjours
j’aimerai aussi réaliser un serveur comme vous le présenter mais j’aimerai savoir si il est possible de le faire avec la dernière version du jeux et quelle sont les modification a apporté pour que cela fonctionne
merci pour les information
Bonjour,
Votre projet de serveur Minecraft m’intéresse beaucoup. J’ai suivi à la lettre ( avec les modifications propres à mon installation) vos instructions, mais quand je rentre la commande ./Minecraft.sh le message screen is terminating apparait et rien ne se passe.
J’ai essayé de placer le fichier à différents niveaux dans les répertoires, mais j’arrive au même résultat.
J’ai un Raspberry Pi 3 B+ avec la plus récente version de Raspbian (version la plus légère possible pour laisser un maximum de place au serveur).
J’ai fait plein de recherches pour trouver des solutions, mais je n’y arrive pas. Est-ce que vous pouvez m’aider?
Merci