Das Spielprinzip von Minecraft, welches mittlerweile von Microsoft aufgekauft wurde, lässt sich am besten als LEGO für Erwachsene beschreiben. In einer Welt, die nur aus Blöcken besteht, kann sich der Spieler ausleben und seiner Kreativität freien Lauf lassen.
Vor einigen Jahren schrieb ich einen Artikel, wie ein Minecraft-Server unter Ubuntu aufgesetzt wird. Da der Artikel mittlerweile etwas veraltet ist, wird die Anleitung mit diesem Artikel aktualisiert.
Um einen Minecraft-Server aufzusetzen, muss im ersten Schritt Java mittels:
apt install openjdk-11-jre
installiert werden. Nun kann die Version des installierten Javas mittels des Befehls:
java --version
bestimmt werden. Für die Ausführung von Minecraft wird hierbei Java 7 oder höher benötigt. In der Ausgabe des Befehls finden sich die notwendigen Informationen:
openjdk 11.0.3 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)
Nachdem damit die Grundvoraussetzungen erfüllt sind, wird mittels:
adduser --disabled-login --gecos "" minecraft
su minecraft
ein Nutzer für den Server angelegt und in diesen Nutzer gewechselt. Im Kontext des Nutzer muss nun der Server heruntergeladen werden. Die aktuelle URL des Server ist über die Minecraft-Webseite in Erfahrung zu bringen:
wget https://launcher.mojang.com/v1/objects/d0d0fe2b1dc6ab4c65554cb734270872b72dadd6/server.jar
Nachdem der Server heruntergeladen wurde, kann er für einen ersten Tests gestartet werden:
java -Xmx1024M -Xms1024M -jar server.jar nogui
Beim ersten Start wird folgende Meldung erscheinen:
[13:36:13] [main/ERROR]: Failed to load properties from file: server.properties
[13:36:14] [main/WARN]: Failed to load eula.txt
[13:36:14] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Im Home-Verzeichnis des Nutzers findet sich nun eine Datei mit dem Namen eula.txt. Diese Datei muss bearbeitet werden:
nano eula.txt
Der Wert:
eula=false
muss hierbei auf den Wert true gesetzt werden. Anschließend kann die Datei gespeichert werden und der Editor verlassen werden. Nach dem abermaligen Start des Servers mittels:
java -Xmx1024M -Xms1024M -jar server.jar nogui
sollte derselbe nun hochfahren. Nachdem der Server erfolgreich hochgefahren wurde, sollte er wieder beendet werden. Damit der Service automatisch hochfährt, muss eine sogenannte systemd-Unit angelegt werden. Dazu wird der Nutzer minecraft verlassen und die systemd-Unit angelegt:
exit
nano /etc/systemd/system/minecraft.service
Die neu angelegte Datei wird nun mit folgendem Inhalt befüllt:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/minecraft
User=minecraft
Group=minecraft
Restart=always
ExecStart=/usr/bin/screen -DmS minecraft-server java -Xmx4096M -Xms2048M -jar server.jar nogui
ExecStop=/usr/bin/screen -p 0 -S minecraft-server -X eval 'stuff "save-all"15'
ExecStop=/usr/bin/screen -p 0 -S minecraft-server -X eval 'stuff "stop"15'
ExecStop=/bin/sleep 2
[Install]
WantedBy=multi-user.target
Nachdem die Datei gespeichert wurde, kann die systemd-Unit aktiviert werden:
systemctl enable minecraft
systemctl start minecraft
Damit ist der Minecraft-Server eingerichtet und startet automatisch und läuft anschließend im Hintergrund.
Im Home-Verzeichnis des Nutzers minecraft finden sich einige Dateien, welche der Konfiguration des Servers dienen. In der Datei ops.json werden die Operatoren für den Server hinterlegt. Die Datei server.properties enthält die grundlegenden Einstellungen des Servers. Wurde die Option white-list auf den Wert true gesetzt, so können die berechtigten Nutzer in der Datei whitelist.json hinterlegt werden.