Ein systemd-Dienst führt Ihren Minecraft-Server im Hintergrund als verwalteten Linux-Dienst aus. Das bedeutet, dass Sie ihn mit systemctl starten, stoppen, neu starten, Protokolle überprüfen und beim Booten aktivieren können, anstatt den Server in einem SSH-Fenster laufen zu lassen.
Diese Anleitung ist für einen Linux-VPS, auf dem Sie bereits SSH-Zugriff und eine Minecraft-Server-JAR haben. Wenn Sie Java noch nicht installiert oder eine Minecraft-Server-JAR heruntergeladen haben, tun Sie dies zuerst und kehren Sie dann zu dieser Anleitung zurück.
In den folgenden Beispielen befindet sich der Minecraft-Server-Ordner unter /home/minecraft/server und die JAR-Datei heißt server.jar. Ändern Sie diese Pfade, wenn Ihr Server einen anderen Ordner oder JAR-Namen verwendet.
- Erstellen Sie einen dedizierten Linux-Benutzer für den Minecraft-Server. Den Server als eigenen Benutzer auszuführen, ist sicherer, als ihn als
rootauszuführen.sudo useradd -m -r -s /bin/bash minecraft sudo mkdir -p /home/minecraft/server sudo chown -R minecraft:minecraft /home/minecraft/server
- Laden Sie Ihre Minecraft-Server-JAR in
/home/minecraft/serverhoch oder herunter. Der Ordner sollte die JAR und nach dem ersten manuellen Start Dateien wieeula.txt,server.properties,logsund den Weltordner enthalten.
- Akzeptieren Sie die Minecraft-EULA, nachdem Sie sie gelesen haben. Minecraft wird nicht richtig starten, bis
eula.txteula=trueenthält.sudo -u minecraft nano /home/minecraft/server/eula.txt
- Erstellen Sie ein Startskript. Dies hält den Java-Befehl an einem Ort, sodass der systemd-Dienst jedes Mal denselben Befehl ausführen kann.
sudo nano /home/minecraft/server/start.sh
Verwenden Sie einen Befehl wie diesen und passen Sie den RAM und den JAR-Namen für Ihren Server an:
#!/bin/bash cd /home/minecraft/server exec java -Xms2G -Xmx4G -jar server.jar nogui
-Xmsist die anfängliche RAM-Zuweisung.-Xmxist die maximale RAM-Zuweisung. Setzen Sie-Xmxnicht auf den gesamten VPS-Speicher; lassen Sie RAM für Linux, Java-Overhead, SSH, Backups und andere Dienste übrig.
- Machen Sie das Startskript ausführbar und im Besitz des Minecraft-Benutzers.
sudo chmod +x /home/minecraft/server/start.sh sudo chown minecraft:minecraft /home/minecraft/server/start.sh
- Testen Sie das Startskript manuell, bevor Sie den Dienst erstellen. Stoppen Sie es mit
stopvon der Minecraft-Konsole oder drücken SieCtrl+C, nachdem Sie bestätigt haben, dass es startet.sudo -u minecraft /home/minecraft/server/start.sh
Wenn dieser manuelle Test fehlschlägt, beheben Sie den Fehler, bevor Sie fortfahren. Ein systemd-Dienst wird keinen fehlerhaften Java-Befehl, fehlende JAR, falschen Pfad oder nicht akzeptierte EULA beheben.
- Erstellen Sie die systemd-Dienstdatei.
sudo nano /etc/systemd/system/minecraft.service
[Unit] Description=Minecraft Server After=network.target [Service] User=minecraft WorkingDirectory=/home/minecraft/server ExecStart=/home/minecraft/server/start.sh Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
Usergibt an, welches Konto den Server ausführt.WorkingDirectoryist der Minecraft-Ordner.ExecStartist das Skript, das systemd ausführt.Restart=on-failurestartet den Dienst neu, wenn er abstürzt.
- Laden Sie systemd neu, damit es die neue Dienstdatei erkennt.
sudo systemctl daemon-reload
- Starten Sie den Minecraft-Dienst und überprüfen Sie seinen Status.
sudo systemctl start minecraft sudo systemctl status minecraft --no-pager

- Aktivieren Sie den Dienst beim Booten, sobald Sie zufrieden sind, dass er korrekt startet.
sudo systemctl enable minecraft
- Öffnen Sie den Minecraft-Port in Ihrer Firewall, falls Sie eine verwenden. Der Standardport für die Java Edition ist
25565TCP.sudo ufw allow 25565/tcp
Auf AlmaLinux, Rocky Linux, Oracle Linux oder CentOS mit firewalld verwenden Sie:
sudo firewall-cmd --permanent --add-port=25565/tcp sudo firewall-cmd --reload
Nützliche Dienstbefehle
| Befehl | Was er tut |
|---|---|
sudo systemctl start minecraft | Startet den Minecraft-Dienst. |
sudo systemctl stop minecraft | Stoppt den Minecraft-Dienst. |
sudo systemctl restart minecraft | Startet den Minecraft-Dienst neu. |
sudo systemctl status minecraft --no-pager | Zeigt an, ob der Dienst läuft oder fehlgeschlagen ist. |
sudo journalctl -u minecraft -f | Verfolgt das Live-Dienstprotokoll. |
sudo systemctl disable minecraft | Verhindert, dass der Dienst beim Booten automatisch startet. |
Fehlerbehebung
| Problem | Was zu überprüfen ist |
|---|---|
| Dienst schlägt sofort fehl | Überprüfen Sie den JAR-Dateinamen, den ExecStart-Pfad, die Java-Installation und eula.txt. |
| Spieler können nicht verbinden | Überprüfen Sie, ob der Server läuft, der Port 25565 offen ist und server.properties den richtigen Port hat. |
| Server läuft aus dem Speicher | Reduzieren Sie -Xmx, verringern Sie die Sichtweite, entfernen Sie schwere Mods oder erweitern Sie den RAM. |
| Änderungen werden nicht angewendet | Starten Sie den Dienst neu, nachdem Sie server.properties bearbeitet oder die JAR ersetzt haben. |
Machen Sie ein Backup, bevor Sie die JAR ersetzen, Welten ändern, wichtige Konfigurationsdateien bearbeiten oder einen modifizierten Server aktualisieren.
