Installer un serveur Minecraft Vanilla avec sauvegarde automatique sur Debian

Introduction

On ne présente plus Minecraft, le célèbre jeu de cube en 3D de Mojang. Grâce à ce tutorial vous allez pouvoir installer un serveur Minecraft et jouer dans votre propre monde avec vos amis.

Configuration recommandée

Minecraft étant assez gourmand en ressources et en lecture écriture sur le disque, il faut prévoir un serveur avec au minimum 2Go de RAM et un stockage SSD. Si vous comptez accueillir plus de 10 joueurs sur votre serveur prévoyez 4 ou 8Go de mémoire RAM.

Pré-requis

Minecraft est développé en java, il faut donc installer java pour le faire fonctionner

apt-get install git openjdk-7-jdk

On vérifie l'installation de java avec

java -version

Création d’un utilisateur pour votre serveur

Nous allons créer un utilisateur spécifique pour le processus du serveur Minecraft:

useradd -d /home/minecraft -m -s /bin/bash minecraft

On attribue un mot de passe à l'utilisateur

passwd minecraft

Puis on se connecte avec cet utilisateur

su - minecraft

Installation du serveur Minecraft Vanilla

Minecraft Vanilla est la version de officielle du serveur Minecraft, c'est celle que vous trouverez sur minecraft.net. Si vous souhaitez pouvoir ajouter des plugins sur votre serveur il faudra alors utiliser Minecraft Bukkit.

On crée d'abord le répertoire qui accueillera les fichiers du serveur:

mkdir /home/minecraft/serveur

On se place dedans

cd /home/minecraft/serveur

On télécharge la dernière version du serveur minecraft (ici 1.8.4, vous trouverez la dernière version sur minecraft.net/download/

wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.4/minecraft_server.1.8.4.jar

Maintenant, nous allons créer un lien symbolique entre notre fichier minecraft_server.jar et un fichier nommé serveur.jar qui sera utilisé pour le script de lancement automatique:

cd /home/minecraft/serveur

Création du lien symbolique:

ln -s minecraft_server.*.jar serveur.jar

Démarrage du serveur

Nous pouvons maintenant démarrer le serveur, ce dernier va générer les fichiers nécessaires (configuration, etc.)

java -Xmx2048M -Xms1024M -jar serveur.jar nogui
  • Xmx2048M correspond à la quantité maximum de RAM allouée au serveur (en Mo), vous pouvez également spécifier cette valeur en Go en utilisant par exemple -Xmx2G pour attribuer 2Go.

  • Xms1024M cela correspond à la quantité minimum de RAM allouée au serveur (en Mo).

Vous pouvez modifier ces paramètres en fonction de la RAM disponible sur votre serveur.

Vous pouvez maintenant vous connecter à votre serveur et commencer à creuser ! Nous vous recommandons toutefois de poursuivre ce tutorial pour mettre en place le démarrage automatique et une sauvegarde automatique de votre serveur (très pratique pour éviter de perdre des heures de constructions).

Démarrage automatique du serveur Minecraft au démarrage du serveur

Pour cela, on repasse sur l’utilisateur “root” avec la commande suivante

exit

Si vous ne le possédez pas déjà, installer le paquet "screen" (permet de laisser votre serveur tourner tout le temps sans laisser votre console ouverte):

apt-get install screen

On crée maintenant le script de démarrage automatique:

nano /etc/init.d/minecraft

Puis collez les lignes suivantes:

#!/bin/bash
# /etc/init.d/minecraft
### BEGIN INIT INFO
# Provides: minecraft
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Minecraft server
# Description: Starts the minecraft server
### END INIT INFO

cd /home/minecraft/serveur
su -c "screen -mdS minecraft java -Xmx2048M -Xms1024M -jar serveur.jar nogui" minecraft

On le rend exécutable

chmod 755 /etc/init.d/minecraft
chmod +x /etc/init.d/minecraft

Puis on l'ajoute au lancement du serveur

update-rc.d minecraft defaults

Et enfin, on définit notre utilisateur comme propriétaire du fichier

chown minecraft:minecraft /etc/init.d/minecraft

Vérification

On se connecte sur notre utilisateur

su - minecraft 

On démarre le script:

/etc/init.d/minecraft

Puis on affiche le screen:

screen -r minecraft 

Et enfin pour stopper le serveur:

stop

Système de sauvegarde

Création du répertoire pour la sauvegarde

cd /home/minecraft/
mkdir sauvegardes

Pour effectuer la sauvegarde du serveur nous allons utiliser un script

cd /bin
nano sauvegarde.sh

Contenu du fichier

#!/bin/bash
renice 19 -p $ &>/dev/null
Jour=`date +%m-%d-%y`
Heure=`date +%T`
tar -czf /home/minecraft/sauvegardes/sauvegarde-$Jour-$Heure.tgz /home/minecraft/serveur

On le rend exécutable

chmod a+x sauvegarde.sh

Suppression des sauvegardes datant de plus de 7 jours

cd /bin
nano suppression.sh

Contenu du fichier

#!/bin/bash
renice 19 -p $ &>/dev/null
find /home/minecraft/sauvegardes -type f -name '*.tgz' -atime +7 -exec rm {} \;

On le rend exécutable

chmod a+x suppression.sh

Automatisation des scripts de sauvegarde et suppression

Pour que vous puissiez dormir sur vos deux oreilles nous allons automatiser l’exécution des scripts de création et suppression des sauvegardes, ainsi vous n'aurez pas à le faire manuellement. On ouvre l'utilitaire de gestion des crontab:

crontab -e

Ajoutez les lignes suivantes:

0   04  *   *   *     /bin/sauvegarde.sh
0   05  *   *   *     /bin/suppression.sh

Les sauvegardes se feront tous les jours à 4 heures du matin et les suppressions à 5 heures du matin. Vous pouvez bien sûr adapter l'heure d’exécution de ces scripts selon vos besoins, ou pourquoi pas modifier les scripts afin de créer plusieurs sauvegardes par jour.

Vous pouvez maintenant jouer à Minecraft sur votre propre serveur en toute sécurité !

Vous avez une question ou une suggestion ? N'hésitez pas à réagir dans les commentaires !