Minecraft est l'un des jeux les plus populaires de tous les temps. Il s'agit d'un jeu vidéo bac à sable dans lequel vous placez des blocs et partez à l'aventure.
Dans ce tutoriel, nous allons passer par les étapes nécessaires pour installer et configurer Minecraft Server sur CentOS 7. 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 planifier des sauvegardes de serveur automatisées à l'aide d'une tâche Cron.
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 yum install git
sudo yum group install "Development Tools"
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 de l'openjdk. Cette version est plus adaptée aux applications serveur car elle a moins de dépendances et utilise moins de ressources système.
L'installation de Javais assez simple, il suffit de lancer :
sudo yum install java-1.8.0-openjdk-headless
Vérifiez l'installation en imprimant la version Java :
java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Création d'un numéro d'utilisateur Minecraft
L'exécution de services en tant que Minecraft sous l'utilisateur root n'est pas recommandée pour des raisons de sécurité.
Nous allons créer un nouvel utilisateur système et un groupe minecraft
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 CentOS #
Avant de commencer le processus d'installation, assurez-vous de passer à l'utilisateur minecraft
:
sudo su - minecraft
Créez trois nouveaux répertoires dans le répertoire d'accueil de l'utilisateur à l'aide de la commande suivante :
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 vous déplacer 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
Une fois le dépôt cloné, accédez à son répertoire :
cd ~/tools/mcrcon
Construire le mcrcon
utilitaire utilisant le compilateur GCC :
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Une fois terminé, testez-le 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 #
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.
[14:33:44] [main/ERROR]: Failed to load properties from file: server.properties
[14:33:45] [main/WARN]: Failed to load eula.txt
[14:33:45] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Vous devrez accepter le CLUF de Minecraft pour 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, ouvrez le server.properties
fichier, activez le protocole rcon et définissez le mot de passe rcon :
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 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
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: disabled)
Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago
Main PID: 17356 (java)
CGroup: /system.slice/minecraft.service
└─17356 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui --noconsole
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 pour accéder au serveur Minecraft depuis l'extérieur de votre réseau local, vous devez ouvrir le port 25565
:
sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp
sudo firewall-cmd --reload
Configuration des sauvegardes #
Dans cette section, nous allons créer un script de sauvegarde et une tâche cron pour sauvegarder automatiquement le serveur Minecraft.
Commencez par passer à minecraft
utilisateur :
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
Rendez le script exécutable en émettant le chmod
suivant commande :
chmod +x /opt/minecraft/tools/backup.sh
Ouvrez le fichier crontab et créez une tâche cron qui s'exécutera automatiquement une fois par jour à une heure fixe :
crontab -e
Nous exécuterons le script de sauvegarde tous les jours à 23h00 :
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!
>
Si vous vous connectez régulièrement à la console Minecraft, au lieu de taper cette longue commande, vous devez créer un alias bash.