Dans le précédent tutoriel, nous avons vu comment installer un serveur Minecraft sur un VPS. Nous allons maintenant voir comment “correctement” le démarrer et comment redémarrer automatiquement son serveur Minecraft lors d’un crash.

Passons au tutoriel !

Rendez-vous dans le dossier “serveur” (là où est stocké votre serveur.)

cd ~/serveur

Pour pouvoir réaliser ce tutoriel, il vous faudra le packet “screen” pour pouvoir ouvrir votre serveur Minecraft dans une “fenêtre” sur votre VPS, pour cela:

apt-get install screen

Il vous faudra ensuite créer deux fichiers, soit par FTP, soit directement sur l’invité de commande. Si vous êtes connecté au FTP: créez les fichiers: start.sh et startloop.sh

Sinon, tapez la commande précédente:

nano start.sh

Insérez-y les lignes suivantes (pour copier/coller les lignes sur votre VPS, copiez-les ici et faites un clique droit sur votre VPS Debian):

#!/bin/sh
SCREEN_NAME=”${PWD##*/}”
if screen -list | awk ‘{print $SCREEN_NAME}’ | grep -q “$SCREEN_NAME”; then
 echo “Serveur déjà lancé !”
#  exit
fi
screen -dmS minecraft sh startloop.sh

Quittez ensuite le mode édition: “CTRL + X” et appuyez sur O ou Y selon la langue de votre VPS. (Y pour Y – O pour Oui)

Créons désormais le deuxième fichier:

nano startloop.sh

Insérez-y les lignes suivantes:

#!/bin/sh
JAR_FILE=$(find ./ -maxdepth 1 -name \*.jar)
while true; do
 java \
 -Xms1G \
 -Xmx2G \
 -XX:+AggressiveOpts \
 -XX:+AggressiveHeap \
 -XX:+UseCompressedOops \
 -XX:+UseStringDeduplication \
 -XX:MaxGCPauseMillis=150 \
 -XX:+UnlockExperimentalVMOptions \
 -XX:+DisableExplicitGC \
 -jar $JAR_FILE \
 DEBUG=true \
 sleep 5
done

Les lignes: -Xms1G & -Xms2G représentent la mémoire allouée au démarrage & la mémoire allouée maximale.

Si votre VPS possède seulement 1GB de RAM, modifiez les lignes en: -Xms1G & -Xms1G !

Les arguments Java en dessous de l’allocation de mémoire permettent d’améliorer les performances de votre serveur Minecraft. Il se peut que ces arguments ne soient pas 100% optimisés pour votre serveur Minecraft. Voici un site regroupant les arguments Java pouvant améliorer les performances de votre serveur Minecrat.

https://forums.spongepowered.org/t/optimized-startup-flags-for-consistent-garbage-collection/13239

Quittez maintenant le mode édition (CTRL + X puis Y)

Avant de lancer le serveur, nous devons modifier les permissions des fichiers crées:

chmod 777 start.sh

chmod 777 startloop.sh

Voilà, votre serveur est prêt à être lancé ! S’il y a un crash ou lorsque vous taperez “/stop”, le serveur se redémarrera automatiquement ! (Ne faites surtout pas /restart, il pourrait y avoir un conflit)

Voici la commande pour lancer le serveur:

sh start.sh

Rien ne se passe? C’est normal ! Pour accéder à la console de votre serveur, tapez:

screen -r minecraft

Pour quitter la fenêtre de votre serveur, appuyez sur CTRL + A + D (en même temps) !


Quelques commandes utiles en cas de bugs !

Il se peut que votre serveur soit buggué (mémoire allouée dépassée, bug Java…). Dans ce cas-là, le screen peut être inaccessible, le port du serveur peut être déjà utilisé & donc le serveur ne pourra pas se lancer.

Pour fermer le screen de force, il vous faudra tout d’abord le numéro du screen, comment l’obtenir ?

screen -ls

Une fois le numéro du screen obtenu, fermez le screen de force avec:

screen -X -S NUMERO kill (remplacez NUMERO)

Le screen est fermé, votre serveur peut-être relancé ! En revanche, si la console de votre serveur indique que le port est déjà utilisé, voici la commande à utiliser.

fuser -k 25565/tcp (remplacez le port 25565 si le port de votre serveur est différent)

Merci à tous d’avoir suivi ce tutoriel, à bientôt !