Minecraft est l'un des jeux les plus populaires de tous les temps. Il s'agit d'un jeu vidéo bac à sable sur la construction de diverses structures et l'aventure.
Ce tutoriel explique comment installer et configurer Minecraft Server sur Debian 9. Nous utiliserons Systemd pour exécuter le serveur Minecraft et le mcrcon
utilitaire pour se connecter à l'instance en cours d'exécution. Nous vous montrerons également comment créer une tâche cron qui effectuera des sauvegardes régulières du serveur.
Prérequis #
L'utilisateur sous lequel vous êtes connecté doit avoir les privilèges sudo.
Installez les packages requis pour construire le mcrcon
outil :
sudo apt update
sudo apt install git build-essential
Installation de l'environnement d'exécution Java #
Minecraft nécessite l'installation de Java 8 sur le système.
Nous allons installer la version sans tête du JRE. Cette version est plus adaptée aux applications serveur car elle a moins de dépendances et utilise moins de ressources système :
sudo apt install openjdk-8-jre-headless
Vérifiez l'installation en exécutant :
java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
Création d'un numéro d'utilisateur Minecraft
L'étape suivante consiste à créer un nouvel utilisateur système et un groupe avec le répertoire personnel /opt/minecraft
qui exécutera le serveur Minecraft. Pour ce faire, lancez la commande suivante :
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
L'utilisateur n'aura pas de mot de passe. Il s'agit d'une bonne pratique de sécurité car cet utilisateur ne pourra pas se connecter via SSH.
Installer Minecraft sur Debian #
Avant de commencer le processus d'installation, assurez-vous de passer à minecraft
utilisateur.
sudo su - minecraft
Créez trois nouveaux répertoires dans le répertoire d'accueil de l'utilisateur :
mkdir -p ~/{backups,tools,server}
- Les
backups
répertoire stockera la sauvegarde de votre serveur. Vous pourrez ensuite synchroniser ce répertoire avec votre serveur de sauvegarde distant. - Les
tools
répertoire stockera lemcrcon
client et le script de sauvegarde. - Le
server
Le répertoire contiendra le serveur Minecraft réel et ses données.
Télécharger et compiler mcrcon #
RCON est un protocole qui vous permet de vous connecter aux serveurs Minecraft et d'exécuter des commandes. client mcronis RCON construit en C.
Nous allons télécharger le code source depuis GitHub et créer le mcrcon
binaire.
Commencez par naviguer vers ~/tools
et clonez le répertoire Tiiffi/mcrcon
dépôt depuis GitHub en utilisant la commande suivante :
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
Basculez vers le répertoire du référentiel :
cd ~/tools/mcrcon
Lancer la compilation du mcrcon
utilitaire en exécutant :
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Une fois terminé, vous pouvez le tester en tapant :
./mcrcon -h
La sortie ressemblera à ceci :
Usage: mcrcon [OPTIONS]... [COMMANDS]...
Sends rcon commands to Minecraft server.
Option:
-h Print usage
-H Server address
-P Port (default is 25575)
-p Rcon password
-t Interactive terminal mode
-s Silent mode (do not print received packets)
-c Disable colors
-r Output raw packets (debugging and custom handling)
-v Output version information
Server address, port and password can be set using following environment variables:
MCRCON_HOST
MCRCON_PORT
MCRCON_PASS
Command-line options will override environment variables.
Rcon commands with arguments must be enclosed in quotes.
Example:
mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop
mcrcon 0.6.1 (built: May 19 2019 23:39:16)
Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/
Téléchargement du serveur Minecraft #
Il existe plusieurs mods de serveur Minecraft comme Craftbukkitor Spigot qui vous permet d'ajouter des fonctionnalités (plugins) sur votre serveur et de personnaliser et d'ajuster davantage les paramètres du serveur. Dans ce didacticiel, nous allons installer le dernier serveur Minecraft vanille officiel de Mojang.
Le dernier fichier d'archive Java (JAR) du serveur Minecraft est disponible en téléchargement à partir de la page de téléchargement de Minecraft.
Au moment de la rédaction, la dernière version est 1.14.1
. Avant de passer à l'étape suivante, vous devez vérifier la page de téléchargement pour une nouvelle version.
Exécutez le wget
suivant commande pour télécharger le fichier jar Minecraft dans le ~/server
répertoire :
wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server
Configuration du serveur Minecraft #
Une fois le téléchargement terminé, accédez au ~/server
répertoire et démarrez le serveur Minecraft :
cd ~/server
java -Xmx1024M -Xms512M -jar server.jar nogui
Lorsque le serveur est démarré pour la première fois, il exécute certaines opérations et crée le server.properties
et eula.txt
fichiers et arrêts.
[23:41:44] [main/ERROR]: Failed to load properties from file: server.properties
[23:41:45] [main/WARN]: Failed to load eula.txt
[23:41:45] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Comme vous pouvez le voir dans la sortie ci-dessus, vous devrez accepter le CLUF de Minecraft afin de faire fonctionner le serveur. Ouvrez le eula.txt
fichier et modifiez eula=false
à eula=true
:
nano ~/server/eula.txt
~/server/eula.txt#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sun May 19 23:41:45 PDT 2019
eula=true
Fermez et enregistrez le fichier.
Ensuite, activez le protocole rcon et définissez le mot de passe rcon en modifiant le server.properties
fichier :
nano ~/server/server.properties
Localisez les lignes suivantes et mettez à jour leurs valeurs comme indiqué ci-dessous :
~/server/server.propertiesrcon.port=25575
rcon.password=strong-password
enable-rcon=true
N'oubliez pas de changer le strong-password
à quelque chose de plus sécurisé. Si vous ne souhaitez pas vous connecter au serveur Minecraft à partir d'emplacements distants, assurez-vous que le port rcon est bloqué par votre pare-feu. Vous pouvez également ajuster les propriétés par défaut du serveur. Pour plus d'informations sur les paramètres possibles, visitez la page server.properties.
Création du fichier d'unité Systemd #
Revenez à votre utilisateur sudo en tapant exit
.
Ouvrez votre éditeur de texte et créez un fichier nommé minecraft.service
dans le /etc/systemd/system/
:
sudo nano /etc/systemd/system/minecraft.service
Collez la configuration suivante :
/etc/systemd/system/minecraft.service[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop
[Install]
WantedBy=multi-user.target
Modifier le Xmx
et Xms
flags en fonction des ressources de votre serveur. Le Xmx
flag définit le pool d'allocation de mémoire maximum pour une machine virtuelle Java (JVM), tandis que Xms
définit le pool d'allocation de mémoire initial. Assurez-vous également que vous utilisez le bon rcon
port et mot de passe.
Enregistrez et fermez le fichier et informez systemd que nous avons créé un nouveau fichier d'unité :
sudo systemctl daemon-reload
Démarrez et activez le serveur Minecraft en exécutant :
sudo systemctl start minecraft
sudo systemctl enable minecraft
La première fois que vous démarrerez le service, il générera plusieurs fichiers et répertoires de configuration, y compris le monde Minecraft.
Vérifiez l'état du service avec la commande suivante :
sudo systemctl status minecraft
● minecraft.service - Minecraft Server
Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago
Main PID: 7262 (java)
Tasks: 19 (limit: 4915)
CGroup: /system.slice/minecraft.service
└─7262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
Réglage du pare-feu #
Si votre serveur est protégé par un pare-feu et que vous souhaitez accéder au serveur Minecraft depuis l'extérieur de votre réseau local, vous devez ouvrir le port 25565
.
Pour autoriser le trafic sur le port Minecraft par défaut 25565
tapez la commande suivante :
sudo ufw allow 25565/tcp
Configuration des sauvegardes #
Dans cette section, nous allons créer un script shell de sauvegarde et une tâche cron pour sauvegarder automatiquement le serveur Minecraft.
Commencez par passer à l'utilisateur minecraft
:
sudo su - minecraft
Ouvrez votre éditeur de texte et créez le fichier suivant :
nano /opt/minecraft/tools/backup.sh
Collez la configuration suivante :
/opt/minecraft/tools/backup.sh#!/bin/bash
function rcon {
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password "$1"
}
rcon "save-off"
rcon "save-all"
tar -cvpzf /opt/minecraft/backups/server-$(date +%F-%H-%M).tar.gz /opt/minecraft/server
rcon "save-on"
## Delete older backups
find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete
Enregistrez le fichier et rendez le script exécutable en émettant le chmod
suivant commande :
chmod +x /opt/minecraft/tools/backup.sh
Ensuite, créez une tâche cron qui s'exécutera automatiquement une fois par jour à une heure fixe.
Ouvrez le fichier crontab en tapant :
crontab -e
Pour exécuter le script de sauvegarde tous les jours à 23h00, collez la ligne suivante :
0 23 * * * /opt/minecraft/tools/backup.sh
Accéder à la console Minecraft #
Pour accéder à la console Minecraft, vous pouvez utiliser le mcrcon
utilitaire. La syntaxe est la suivante, vous devez spécifier l'hôte, le port rcon, le mot de passe rcon et utiliser le -t
commutateur qui active le mcrcon
mode terminal :
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit!
>
Pour accéder à la console Minecraft depuis un emplacement distant, assurez-vous que le port rcon n'est pas bloqué.
Si vous vous connectez régulièrement à la console Minecraft, au lieu de taper cette longue commande, vous pouvez créer un alias bash.