Minecraft est l'un des jeux les plus populaires de tous les temps. C'est un jeu vidéo bac à sable, qui permet à ses joueurs d'explorer des mondes infinis et de tout construire, des simples maisons aux grands gratte-ciel.
Ce tutoriel couvre l'installation et la configuration du serveur Minecraft sur Ubuntu 18.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.
Les mêmes instructions s'appliquent à Ubuntu 16.04 et à toute distribution basée sur Ubuntu, y compris Linux Mint et Elementary OS.
Prérequis #
L'utilisateur avec lequel vous êtes connecté doit avoir les privilèges sudo pour pouvoir installer les packages.
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. Parce que le serveur Minecraft n'a pas besoin d'une interface utilisateur graphique, 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.
Installez le package Headless OpenJRE 8 en exécutant :
sudo apt install openjdk-8-jre-headless
Vérifiez l'installation en imprimant la version Java :
java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)
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
qui exécutera le serveur Minecraft :
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Nous n'allons pas définir de mot de passe pour cet utilisateur. Il s'agit d'une bonne pratique de sécurité car cet utilisateur ne pourra pas se connecter via SSH. Pour passer au minecraft
utilisateur, vous devrez être connecté au serveur en tant que root ou utilisateur avec des privilèges sudo.
Installer Minecraft sur Ubuntu #
Avant de commencer le processus d'installation, assurez-vous de passer à 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 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
Lorsque le clonage est terminé, basculez vers le répertoire du dépôt :
cd ~/tools/mcrcon
Lancer la compilation du mcrcon
utilitaire en tapant :
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 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.
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 vous démarrez le serveur 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, nous devons 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, nous devons éditer le server.properties
fichier pour activer le protocole rcon et définir le mot de passe rcon. Ouvrez le fichier à l'aide de votre éditeur de texte :
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. Ici, 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 #
Pour exécuter Minecraft en tant que service, nous allons créer un nouveau 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 /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 rechargez la configuration du gestionnaire systemd :
sudo systemctl daemon-reload
Vous pouvez maintenant démarrer le serveur Minecraft en exécutant :
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 Sun 2019-05-19 23:49:18 PDT; 9min ago
Main PID: 11262 (java)
Tasks: 19 (limit: 2319)
CGroup: /system.slice/minecraft.service
`-11262 /usr/bin/java -Xmx1024M -Xms512M -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 #
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 exécutant 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!
>
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 devez créer un alias bash.