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 !