Minecraft Server unter Linux - Java Edition

Minecraft wird in die Bedrock Edition und die Java Edition unterschieden. Die Bedrock Edition kann auf mobilen Endgeräten, Konsolen sowie unter Windows 10, die Java Edition unter Windows 10, macOS und Linux gespielt werden.

Die Editionen selbst sind nicht kompatibel, so dass ein Spieler der Bedrock Edition nicht mit einem Spieler der Java Edition zusammen spielen kann. Zum gemeinsamen Spielen von Minecraft werden somit Server mit der jeweiligen Edition von Minecraft benötigt.

Einen Minecraft Server der Java Edition selbst zu installieren und zu konfigurieren ist recht einfach und wird im folgenden erläutert. Eine weitere gute Anleitung findet sich im Internet 1).

Die Datei ops.json im Serververzeichnis kann mit der UUID und dem Spielernamen angepasst werden, um individuelle Rechte zuzuweisen 2).

[
  {
    "uuid": "ae762ab1-8b07-497c-ba86-e206fce98b60",
    "name": "Blackspell8",
    "level": 2,
    "bypassesPlayerLimit": true
  },
  {
    "uuid": "65ac0651-82b5-3afa-8cf9-afd2f43b10d9",
    "name": "Fisch234",
    "level": 3,
    "bypassesPlayerLimit": false
  },
  {
    "uuid": "451704c9-16c8-4b62-942a-566d54e141df",
    "name": "Saltobelike",
    "level": 2,
    "bypassesPlayerLimit": false
  },
  {
    "uuid": "6be105e7-5062-4760-8623-d11d005445af",
    "name": "schafcops",
    "level": 2,
    "bypassesPlayerLimit": true
  },
  {
    "uuid": "cee32e83-447a-4791-a80a-b8c32a9d7126",
    "name": "Alex1811",
    "level": 4,
    "bypassesPlayerLimit": true
  }
]

Spieler Fisch234 hat das Level 2 und kann damit einige Cheats wie z.B. /gamemode oder /gamerule verwenden. Spieler Alex hat Level 4 bekommen und kann nun sämtliche Cheats verwenden. Nicht in der ops.json aufgeführte Spieler können keinerlei Cheats ausführen.

Eine Übersicht der möglichen Level eines Operators ist im Internet schnell auffindbar 3)

Level Bezeichnung Cheats
1 Moderator Operatoren mit Level 1 können Veränderungen im ansonsten geschützten Spawnbereich vornehmen. Kommandos können nicht verwendet werden.
2 Spielemeister Operatoren mit Level 2 können Befehlsblöcke editieren und alle Cheat-Befehle ausführen, außer denen von Level 3 und 4. Somit können OPs mit Level 2 folgende Kommandos verwenden: /clear, /difficulty, /effect, /gamemode, /gamerule, /give, /summon, /setblock and /tp
3 Administrator Operatoren mit Level 3 können die Server-Befehle zur Spielersanktion (Kommandos /ban, /deop, /kick, and /op) und zur Ernennung weiter Operatoren (Befehl /op <string, player name> [integer, operator level]) ausführen.
4 Eigentümer Operatoren mit Level 4 können Befehle zur Verwaltung des Servers nutzen, wie den Befehl /stop um den Server stoppen.

Damit der Server automatisch gestart werden kann muss eine Datei minecraft.service unter /etc/systemd/system mit folgendem Inhalt erstellt werden.

[Unit]
Description=java-server
After=network.target

[Service]
RemainAfterExit=yes
WorkingDirectory=/home/minecraft
User=minecraft
ExecStart=screen -S java-server -d -m java -server -Xms512M -Xmx1024M -jar minecraft_server.1.18.1.jar nogui
ExecStop=sleep 10

[Install]
WantedBy=multi-user.target

Die Anweisung ExecStart wird für den Start des Service benötigt. Hier wird einen screen Sitzung mit Parametern für den Start des Minecraft Servers festgelegt. Der Parameter -m in Kombination mit -d bewirkt den Start im detache Modus.

Die Anweisung ExecStop wird hingegen für das Beenden des Service benötigt. Nach dem Beenden wird mit einer Verzögerung von 10 Sekunden auch der Server gestoppt.

Die vom Service aufgerufene skriptdatei start.sh wird im Minecraft Verzeuichnis mit folgendem Inhalt erstelt.

#!/bin/fish
screen -S Delfine -d -m java -server -Xms512M -Xmx1024M -jar ~/minecraft/server-1-19-3.jar nogui

Der Service kann mit systemctl start minecraft.service einmalig und mit systemctl enable minecraft.service zusammen mit dem System gestartet werden. Gestoppt wird der Service mit systemctl stop minecraft.service.

Um Einstellungen für den Minecraft Server zu ändern muss der aktuelle laufende Server beendet werden. Dann kann die Datei server.properties im Minecraft Verzeichnis mit einem Editor geöffnet und angepasst und der Server erneut gestartet werden 4).

Um den angezeigten Namen des Server zu ändern wird der Wert motd verwendet.

motd=Delfine Minecraft Server

Um die erlaubte Anzahl der Spieler zu ändern wird der Wert max-Players verwendet.

max-players=10

Mit whitelist wird nur den Spielern der Zutritt zum Server erlaubt, die in der Datei whitelist.json angegeben sind. Falls der Wert auf false gesetzt ist werden alle Spieler zugelassen 5).

whitelist=false

Mit level-name wird Name und Ordner der Welt angegeben. Falls der Ordner leer ist wird bei Start des Servers eine neue Welt erstellt und die Daten dort abgelegt. Alternativ kann auch eine eigene Welt in den Ordner level-name kopiert werden, die bei Start des Servers geladen wird.

level-name=world

Mit spawn-npcs wird erlaubt Villager spawnen zu lassen. Das Spawnen kann über die Konsole mit /summon villager order mit Hilfe eines Spawn-Ei ausgeführt werden.

spawn-npcs=true

Mit op-permission-level wird das Standard-Berechtigungslevel für Spieler bestimmt, die mit dem Befehl /op zum Operator gemacht wurden (mit /de kann das rückgängig gemacht werden). Danach ist eine individuelle Anpassung des Levels für einzelne Spieler über die Datei ops.json möglich 6).

op-permission-level=2

Der Seed einer Welt kann mit dem Wert level-seed geändert werden. Seeds, wie eine Küstenstadt sind frei im Internet auffindbar 7).

# Coastal Towns
level-seed=-7783854906403730143
# Inifinite Mineshaft
level-seed=107038380838084
# Vertical Island Village
-6537256334104833826
# Paluten
866218627

Nach den Änderungen kann der Server neu gestartet werden, um die Änderungen auszuführen.

ACHTUNG: Nach Anpassen des Seeds erfolgt beim Neustart des Servers ein kompletter Reset der Welt.

Wie auch in der Datei ops.json können Spieler in der Datei whitelist.json angegeben werden. Wenn in der Datei server.properties die Variable whitelist den Wert true hat werden nur diese Spieler auf den Server gelassen. Mit dem Wert false hingegen wird die Datei ignoriert 8).

[
  {
    "uuid": "cee32e83-447a-4791-a80a-b8c32a9d7126",
    "name": "Alex181",
  },
  {
    "uuid": "77b38a7e-5bb2-4c2c-aed9-e3f1ee0f2353",
    "name": "Fisch234",
  }
]

Um dem Server ein eigenes Icon zuzuordnen kann eine PNG Datei mit den Maßen 64×64 erstellt und in den Serverordner als server-icon.png kopiert werden. Nach einem Neustart des Servers wird das Icon in der Serverliste erscheinen.

Wenn der Server in einem Verzeichnis minecraft gestartet wird speichert Minecraft die Daten der Welt im Unterverzecihnis mit dem Namen der Welt, wie z.B. welt. Dabei stellen die zusätzlichen Verzeichniss region die Oberwelt, DIM-1 den Nether und DIM1 das Ende dar 9)

~/minecraft/<world>/region/ = Overworld
~/minecraft/<world>/DIM-1/region/ = The Nether
~/minecraft/<world>/DIM1/region/ = The End

Für ein Backup können diese Verzeichnisse in einen anderen Ordner kopiert und für eine Wiederverwendung zurück kopiert werden.

Modes können unter Linux mit Minecraft Forge verwendet werden, was eine Art Erweiterung des Minecraft Launchers darstellt 10),11). Die Mods müssen separat bezogen werden, zum Beispiel von Planet Minecraft 12). Das Mod File ist eine Jar Datei, die diekt in das Mod Verzeichnis von Minecraft kopiert werden muss, damit es beim nächsten Start des Lauinchers zur Verfügung steht. Das Verzeichnis der Mods ist im Homeverzeichnis, ggfls. unter /home/wurl/.var/app/com.mojang.Minecraft/.minecraft/mods zu finden.

<< Neuere Einträge | Ältere Einträge >>