Minecraft ist eines der beliebtesten Spiele aller Zeiten. Es ist ein Sandbox-Videospiel, in dem es darum geht, Blöcke zu platzieren und Abenteuer zu erleben.
In diesem Tutorial gehen wir die Schritte durch, die zum Installieren und Konfigurieren von Minecraft Server unter CentOS 7 erforderlich sind. Wir verwenden Systemd, um den Minecraft-Server und den mcrcon
auszuführen Dienstprogramm zum Verbinden mit der laufenden Instanz. Wir zeigen Ihnen auch, wie Sie mithilfe eines Cron-Jobs automatisierte Server-Backups planen.
Voraussetzungen #
Der Benutzer, als der Sie angemeldet sind, muss über sudo-Berechtigungen verfügen, um Pakete installieren zu können.
Installieren Sie die Pakete, die zum Erstellen von mcrcon
erforderlich sind Werkzeug:
sudo yum install git
sudo yum group install "Development Tools"
Java Runtime Environment wird installiert #
Minecraft erfordert Java 8 oder höher. Da der Minecraft-Server keine grafische Benutzeroberfläche benötigt, installieren wir die Headless-Version von openjdk. Diese Version ist besser für Serveranwendungen geeignet, da sie weniger Abhängigkeiten hat und weniger Systemressourcen verbraucht.
Die Installation von Java ist ziemlich einfach, führen Sie einfach aus:
sudo yum install java-1.8.0-openjdk-headless
Überprüfen Sie die Installation, indem Sie die Java-Version drucken:
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)
Erstellen des Minecraft-Benutzers Nr.
Das Ausführen von Diensten als Minecraft unter dem Root-Benutzer wird aus Sicherheitsgründen nicht empfohlen.
Wir erstellen einen neuen Systembenutzer und eine neue Gruppe minecraft
mit Heimatverzeichnis /opt/minecraft
das den Minecraft-Server ausführt:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Wir werden kein Passwort für diesen Benutzer festlegen. Dies ist eine gute Sicherheitspraxis, da sich dieser Benutzer nicht über SSH anmelden kann. Um zu minecraft
zu wechseln Benutzer müssen Sie beim Server als root oder Benutzer mit sudo-Berechtigungen angemeldet sein.
Installation von Minecraft unter CentOS #
Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie zu Benutzerminecraft
wechseln :
sudo su - minecraft
Erstellen Sie drei neue Verzeichnisse im Home-Verzeichnis des Benutzers mit dem folgenden Befehl:
mkdir -p ~/{backups,tools,server}
- Die
backups
Verzeichnis speichert Ihr Server-Backup. Sie können dieses Verzeichnis später mit Ihrem entfernten Sicherungsserver synchronisieren. - Die
tools
Verzeichnis speichert denmcrcon
Client und das Backup-Skript. - Der
server
Verzeichnis enthält den eigentlichen Minecraft-Server und seine Daten.
Mcrcon wird heruntergeladen und kompiliert #
RCON ist ein Protokoll, mit dem Sie sich mit den Minecraft-Servern verbinden und Befehle ausführen können. mcronis RCON-Client, integriert in C.
Wir laden den Quellcode von GitHub herunter und erstellen den mcrcon
binär.
Wechseln Sie zunächst zu ~/tools
Verzeichnis und klonen Sie Tiiffi/mcrcon
Repository von GitHub mit dem folgenden Befehl:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
Sobald das Repository geklont ist, navigieren Sie zu seinem Verzeichnis:
cd ~/tools/mcrcon
Erstellen Sie den mcrcon
Dienstprogramm mit dem GCC-Compiler:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Wenn Sie fertig sind, testen Sie es, indem Sie Folgendes eingeben:
./mcrcon -h
Die Ausgabe sieht in etwa so aus:
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/
Minecraft-Server wird heruntergeladen #
Es gibt mehrere Minecraft-Server-Mods wie Craftbukkitor Spigot, mit denen Sie Funktionen (Plugins) auf Ihrem Server hinzufügen und die Servereinstellungen weiter anpassen und optimieren können. In diesem Tutorial installieren wir den neuesten offiziellen Vanilla-Minecraft-Server von Mojang.
Die neueste Java-Archivdatei (JAR) des Minecraft-Servers kann von der Minecraft-Download-Seite heruntergeladen werden.
Zum Zeitpunkt des Schreibens ist die neueste Version 1.14.1
. Bevor Sie mit dem nächsten Schritt fortfahren, sollten Sie auf der Download-Seite nach einer neuen Version suchen.
Führen Sie das folgende wget
aus Befehl zum Herunterladen der Minecraft-Jar-Datei im ~/server
Verzeichnis:
wget https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -P ~/server
Minecraft-Server konfigurieren #
Navigieren Sie zu ~/server
Verzeichnis und starte den Minecraft-Server:
cd ~/server
java -Xmx1024M -Xms512M -jar server.jar nogui
Wenn Sie den Server zum ersten Mal starten, führt er einige Operationen aus und erstellt die server.properties
und eula.txt
Dateien und Stopps.
[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.
Sie müssen der Minecraft-EULA zustimmen, um den Server auszuführen. Öffnen Sie die eula.txt
Datei und ändern Sie eula=false
zu 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
Schließen und speichern Sie die Datei.
Öffnen Sie als nächstes die server.properties
Datei, aktivieren Sie das rcon-Protokoll und setzen Sie das rcon-Passwort:
nano ~/server/server.properties
Suchen Sie die folgenden Zeilen und aktualisieren Sie ihre Werte wie unten gezeigt:
~/server/server.propertiesrcon.port=25575
rcon.password=strong-password
enable-rcon=true
Vergessen Sie nicht, das strong-password
zu ändern zu etwas Sichererem. Wenn Sie sich nicht von entfernten Standorten aus mit dem Minecraft-Server verbinden möchten, stellen Sie sicher, dass der rcon-Port von Ihrer Firewall blockiert wird. Hier können Sie auch die Standardeigenschaften des Servers anpassen. Weitere Informationen zu den möglichen Einstellungen finden Sie auf der Seite server.properties.
Systemd-Unit-Datei erstellen #
Um Minecraft als Dienst auszuführen, erstellen wir eine neue Systemd-Unit-Datei.
Wechseln Sie zurück zu Ihrem sudo-Benutzer, indem Sie exit
eingeben .
Öffnen Sie Ihren Texteditor und erstellen Sie eine Datei namens minecraft.service
in /etc/systemd/system/
:
sudo nano /etc/systemd/system/minecraft.service
Fügen Sie die folgende Konfiguration ein:
/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
Ändern Sie den Xmx
und Xms
Flags gemäß Ihren Serverressourcen. Der Xmx
Flag definiert den maximalen Speicherzuweisungspool für eine Java Virtual Machine (JVM), während Xms
definiert den anfänglichen Speicherzuweisungspool. Stellen Sie außerdem sicher, dass Sie den richtigen rcon
verwenden Port und Passwort.
Speichern und schließen Sie die Datei und benachrichtigen Sie systemd, dass wir eine neue Unit-Datei erstellt haben:
sudo systemctl daemon-reload
Jetzt können Sie den Minecraft-Server starten, indem Sie Folgendes ausführen:
sudo systemctl start minecraft
Wenn Sie den Dienst zum ersten Mal starten, werden mehrere Konfigurationsdateien und Verzeichnisse einschließlich der Minecraft-Welt generiert.
Überprüfen Sie den Dienststatus mit dem folgenden Befehl:
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
Aktivieren Sie den automatischen Start des Minecraft-Dienstes beim Booten:
sudo systemctl enable minecraft
Firewall # anpassen
Wenn Ihr Server durch eine Firewall geschützt ist, um von außerhalb Ihres lokalen Netzwerks auf den Minecraft-Server zuzugreifen, müssen Sie Port 25565
öffnen :
sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp
sudo firewall-cmd --reload
Backups konfigurieren #
In diesem Abschnitt erstellen wir ein Sicherungsskript und einen Cronjob, um den Minecraft-Server automatisch zu sichern.
Wechseln Sie zunächst zu minecraft
Benutzer:
sudo su - minecraft
Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Datei:
nano /opt/minecraft/tools/backup.sh
Fügen Sie die folgende Konfiguration ein:
/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
Machen Sie das Skript ausführbar, indem Sie den folgenden chmod
ausgeben Befehl:
chmod +x /opt/minecraft/tools/backup.sh
Öffnen Sie die Crontab-Datei und erstellen Sie einen Cronjob, der einmal am Tag automatisch zu einer festgelegten Zeit ausgeführt wird:
crontab -e
Wir führen das Backup-Skript jeden Tag um 23:00 Uhr aus:
0 23 * * * /opt/minecraft/tools/backup.sh
Zugriff auf die Minecraft-Konsole #
Um auf die Minecraft-Konsole zuzugreifen, können Sie mcrcon
verwenden Dienstprogramm.
Die Syntax ist wie folgt, Sie müssen den Host, den RCON-Port und das RCON-Passwort angeben und den -t
verwenden Schalter, der mcrcon
aktiviert Terminalmodus:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit!
>
Wenn Sie sich regelmäßig mit der Minecraft-Konsole verbinden, sollten Sie, anstatt diesen langen Befehl einzugeben, einen Bash-Alias erstellen.