Minecraft ist eines der beliebtesten Spiele aller Zeiten. Es ist ein Sandbox-Videospiel, in dem es darum geht, verschiedene Strukturen zu bauen und Abenteuer zu erleben.
Dieses Tutorial erklärt, wie man Minecraft Server unter Debian 9 installiert und konfiguriert. Wir verwenden Systemd, um den Minecraft-Server und den mcrcon
auszuführen Dienstprogramm zum Herstellen einer Verbindung mit der laufenden Instanz. Wir zeigen Ihnen auch, wie Sie einen Cronjob erstellen, der regelmäßige Server-Backups durchführt.
Voraussetzungen #
Der Benutzer, als der Sie angemeldet sind, muss über sudo-Berechtigungen verfügen.
Installieren Sie die Pakete, die zum Erstellen von mcrcon
erforderlich sind Werkzeug:
sudo apt update
sudo apt install git build-essential
Java Runtime Environment wird installiert #
Für Minecraft muss Java 8 auf dem System installiert sein.
Wir installieren die Headless-Version der JRE. Diese Version ist besser für Serveranwendungen geeignet, da sie weniger Abhängigkeiten hat und weniger Systemressourcen verbraucht:
sudo apt install openjdk-8-jre-headless
Überprüfen Sie die Installation, indem Sie Folgendes ausführen:
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)
Erstellen des Minecraft-Benutzers Nr.
Der nächste Schritt besteht darin, einen neuen Systembenutzer und eine neue Gruppe mit dem Home-Verzeichnis /opt/minecraft
zu erstellen das wird den Minecraft-Server ausführen. Führen Sie dazu den folgenden Befehl aus:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Der Benutzer hat kein Passwort. Dies ist eine gute Sicherheitspraxis, da sich dieser Benutzer nicht über SSH anmelden kann.
Installation von Minecraft unter Debian #
Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie zu minecraft
wechseln Benutzer.
sudo su - minecraft
Erstellen Sie drei neue Verzeichnisse im Home-Verzeichnis des Benutzers:
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.
Navigieren 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
Wechseln Sie in das Repository-Verzeichnis:
cd ~/tools/mcrcon
Starten Sie die Kompilierung des mcrcon
Dienstprogramm durch Ausführen von:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
Sobald Sie fertig sind, können Sie es testen, 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 nach Abschluss des Downloads zu ~/server
Verzeichnis und starte den Minecraft-Server:
cd ~/server
java -Xmx1024M -Xms512M -jar server.jar nogui
Wenn der Server zum ersten Mal gestartet wird, führt er einige Operationen aus und erstellt die server.properties
und eula.txt
Dateien und Stopps.
[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.
Wie Sie der obigen Ausgabe entnehmen können, müssen Sie 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.
Aktivieren Sie als Nächstes das rcon-Protokoll und legen Sie das rcon-Passwort fest, indem Sie die Datei server.properties
bearbeiten Datei:
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. Sie können auch die Standardeigenschaften des Servers anpassen. Weitere Informationen zu den möglichen Einstellungen finden Sie auf der Seite server.properties.
Systemd-Unit-Datei erstellen #
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
Starten und aktivieren Sie den Minecraft-Server, indem Sie Folgendes ausführen:
sudo systemctl start minecraft
sudo systemctl enable 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: 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
Firewall # anpassen
Wenn Ihr Server durch eine Firewall geschützt ist und Sie von außerhalb Ihres lokalen Netzwerks auf den Minecraft-Server zugreifen möchten, müssen Sie Port 25565
öffnen .
Um Datenverkehr auf dem standardmäßigen Minecraft-Port 25565
zuzulassen Geben Sie den folgenden Befehl ein:
sudo ufw allow 25565/tcp
Backups konfigurieren #
In diesem Abschnitt erstellen wir ein Backup-Shell-Skript und einen Cronjob, um den Minecraft-Server automatisch zu sichern.
Wechseln Sie zunächst zu userminecraft
:
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
Speichern Sie die Datei und machen Sie das Skript ausführbar, indem Sie den folgenden chmod
ausführen Befehl:
chmod +x /opt/minecraft/tools/backup.sh
Erstellen Sie als Nächstes einen Cron-Job, der einmal am Tag automatisch zu einer festgelegten Zeit ausgeführt wird.
Öffnen Sie die Crontab-Datei, indem Sie Folgendes eingeben:
crontab -e
Um das Backup-Skript jeden Tag um 23:00 auszuführen, fügen Sie die folgende Zeile ein:
0 23 * * * /opt/minecraft/tools/backup.sh
Zugriff auf die Minecraft-Konsole #
Um auf die Minecraft-Konsole zuzugreifen, können Sie mcrcon
verwenden Nützlichkeit. 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!
>
Um von einem entfernten Standort aus auf die Minecraft-Konsole zuzugreifen, vergewissern Sie sich, dass der rcon-Port nicht blockiert ist.
Wenn Sie sich regelmäßig mit der Minecraft-Konsole verbinden, können Sie, anstatt diesen langen Befehl einzugeben, einen Bash-Alias erstellen.