Minecraft est l'un des jeux les plus populaires de tous les temps. Il s'agit d'un jeu vidéo bac à sable où les joueurs explorent des mondes infinis et construisent différentes structures allant de simples maisons à des gratte-ciel imposants.
Ce tutoriel explique comment créer un serveur Minecraft sur Ubuntu 20.04. Nous utiliserons Systemd pour exécuter le serveur Minecraft et le mcrcon
utilitaire de connexion à l'instance en cours d'exécution. Nous vous montrerons également comment créer une tâche cron qui effectue des sauvegardes régulières du serveur.
Prérequis #
Selon le site officiel de Minecraft, 4 Go de RAM sont recommandés comme configuration minimale pour une configuration typique.
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 Java 8 ou supérieur. Le serveur Minecraft n'a pas besoin d'une interface utilisateur graphique, nous allons donc installer la version sans tête de Java. Cette version est plus adaptée aux applications serveur car elle a moins de dépendances et utilise moins de ressources système.
Exécutez la commande suivante pour installer le package Headless OpenJRE 11 :
sudo apt install openjdk-11-jre-headless
Vérifiez l'installation en imprimant la version Java :
java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
Création d'un numéro d'utilisateur Minecraft
Pour des raisons de sécurité, Minecraft ne doit pas être exécuté sous l'utilisateur root. Nous allons créer un nouvel utilisateur système et un groupe avec le répertoire personnel /opt/minecraft
. L'utilisateur aura les autorisations minimales nécessaires pour exécuter le serveur Minecraft :
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Nous ne définirons pas de mot de passe pour cet utilisateur. De cette façon, l'utilisateur ne pourra pas se connecter via SSH et ne pourra pas être compromis. Pour passer au minecraft
user, vous devrez vous connecter au serveur en tant que root ou utilisateur avec des privilèges sudo.
Installer Minecraft sur Ubuntu #
Avant de commencer le processus d'installation, passez au minecraft
utilisateur :
sudo su - minecraft
Exécutez la commande suivante pour créer trois nouveaux répertoires dans le répertoire d'accueil de l'utilisateur :
mkdir -p ~/{backups,tools,server}
- Les
backups
répertoire stockera vos sauvegardes de serveur Minecraft. Vous pouvez synchroniser ce répertoire avec votre serveur de sauvegarde distant. - Les
tools
répertoire contiendra 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 écrit en C.
Nous allons télécharger le code source depuis GitHub et créer le mcrcon
binaire.
Cloner le Tiiffi/mcrcon
référentiel de GitHub vers le ~/tools/mcron
répertoire :
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon
Lorsque vous avez terminé, passez au mcron
répertoire et créez l'utilitaire :
cd ~/tools/mcrcon
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Une fois terminé, vérifiez que mcrcon
a été compilé avec succès en imprimant sa version :
./mcrcon -v
La sortie ressemblera à ceci :
mcrcon 0.7.1 (built: Jun 23 2020 15:49:44) - https://github.com/Tiiffi/mcrcon
Bug reports:
tiiffi+mcrcon at gmail
https://github.com/Tiiffi/mcrcon/issues/
Téléchargement du serveur Minecraft #
Il existe plusieurs mods de serveur Minecraft tels que 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 guide, nous installerons le dernier serveur Minecraft vanille officiel de Mojang. Les mêmes instructions s'appliquent pour l'installation d'autres mods de serveur.
Rendez-vous sur la page de téléchargement de Minecraft pour obtenir le lien de téléchargement du dernier fichier d'archive Java (JAR) du serveur Minecraft. Au moment de la rédaction, la dernière version est 1.16
.
Téléchargez le fichier jar dans le ~/server
répertoire avec wget
:
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server
Configuration du serveur Minecraft #
Une fois le téléchargement terminé, passez au ~/server
répertoire et démarrez le serveur Minecraft :
cd ~/server
java -Xmx1024M -Xms1024M -jar server.jar nogui
Lors du premier démarrage, le serveur exécute certaines opérations, crée le server.properties
et eula.txt
fichiers et arrêts.
[17:35:14] [main/ERROR]: Failed to load properties from file: server.properties
[17:35:15] [main/WARN]: Failed to load eula.txt
[17:35:15] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Pour exécuter le serveur, vous devez accepter le CLUF Minecraft, comme indiqué par la sortie ci-dessus. Ouvrez le eula.txt
fichier et modifiez eula=false
à eula=true
:
nano ~/server/eula.txt
~/server/eula.txteula=true
Fermez et enregistrez le fichier.
Ensuite, ouvrez le server.properties
file et activez le protocole rcon et définissez le mot de passe rcon :
nano ~/server/server.properties
Recherchez 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. Ici, vous pouvez également ajuster les propriétés par défaut du serveur. Pour plus d'informations sur les paramètres du serveur, visitez la page server.properties.
Création du fichier d'unité Systemd #
Au lieu de démarrer manuellement le serveur Minecraft, nous allons créer un fichier d'unité Systemd et exécuter Minecraft en tant que service.
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/
répertoire :
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 -Xms1024M -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 le fichier et rechargez la configuration du gestionnaire systemd :
sudo systemctl daemon-reload
Vous pouvez maintenant démarrer le serveur Minecraft en tapant :
sudo systemctl start 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 Tue 2020-06-23 17:48:44 UTC; 8s ago
Main PID: 1338035 (java)
Tasks: 15 (limit: 1074)
Memory: 465.3M
CGroup: /system.slice/minecraft.service
└─1338035 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
Enfin, activez le démarrage automatique du service Minecraft au démarrage :
sudo systemctl enable minecraft
Réglage du pare-feu #
Ubuntu est livré avec un outil de configuration de pare-feu appelé UFW. Si le pare-feu est activé sur votre système et que vous souhaitez accéder au serveur Minecraft depuis l'extérieur de votre réseau local, vous devez ouvrir le port 25565
:
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.
Passer au 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 :
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, utilisez le mcrcon
utilitaire. 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!
>
Lorsque vous accédez à 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 créez créer un alias bash.