Minecraft ist eines der beliebtesten Spiele aller Zeiten. Es ist ein Sandbox-Videospiel, das es seinen Spielern ermöglicht, unendliche Welten zu erkunden und alles zu bauen, von einfachen Häusern bis hin zu großen Wolkenkratzern.
Dieses Tutorial behandelt die Installation und Konfiguration des Minecraft-Servers auf Ubuntu 18.04. Wir verwenden Systemd, um den Minecraft-Server und mcrcon
auszuführen Dienstprogramm zum Verbinden mit der laufenden Instanz. Wir zeigen Ihnen auch, wie Sie einen Cronjob erstellen, der regelmäßige Server-Backups durchführt.
Dieselben Anweisungen gelten für Ubuntu 16.04 und alle Ubuntu-basierten Distributionen, einschließlich Linux Mint und Elementary OS.
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 apt update
sudo apt install git build-essential
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 der JRE. Diese Version ist besser für Serveranwendungen geeignet, da sie weniger Abhängigkeiten hat und weniger Systemressourcen verbraucht.
Installieren Sie das Headless OpenJRE 8-Paket, indem Sie Folgendes ausführen:
sudo apt install openjdk-8-jre-headless
Überprüfen Sie die Installation, indem Sie die Java-Version drucken:
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)
Erstellen des Minecraft-Benutzers Nr.
Aus Sicherheitsgründen sollte Minecraft nicht unter dem Root-Benutzer ausgeführt werden. Wir erstellen einen neuen Systembenutzer und eine neue Gruppe mit dem Home-Verzeichnis /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 auf Ubuntu #
Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie zu minecraft
wechseln Benutzer.
sudo su - minecraft
Führen Sie den folgenden Befehl aus, um drei neue Verzeichnisse im Home-Verzeichnis des Benutzers zu erstellen:
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 nach Abschluss des Klonvorgangs in das Repository-Verzeichnis:
cd ~/tools/mcrcon
Starten Sie die Kompilierung des mcrcon
Dienstprogramm durch Eingabe 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 dieser Anleitung 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 Sie den Server zum ersten Mal starten, 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 wir der Minecraft-EULA zustimmen, um den Server ausführen zu können. Ö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.
Als nächstes müssen wir die server.properties
bearbeiten Datei, um das rcon-Protokoll zu aktivieren und das rcon-Passwort festzulegen. Öffnen Sie die Datei mit Ihrem Texteditor:
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 laden Sie die systemd-Manager-Konfiguration neu:
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: 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
Aktivieren Sie schließlich, dass der Minecraft-Dienst beim Booten automatisch gestartet wird:
sudo systemctl enable minecraft
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 Uhr 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!
>
Stellen Sie beim Zugriff auf die Minecraft-Konsole von einem entfernten Standort aus sicher, dass der rcon-Port nicht blockiert ist.
Wenn Sie sich regelmäßig mit der Minecraft-Konsole verbinden, sollten Sie, anstatt diesen langen Befehl einzugeben, einen Bash-Alias erstellen.