Minecraft-Server auf VPS erstellen: Ubuntu, Java 21 und systemd
Die meisten, die einen Minecraft-Server wollen, sind mit einem Gameserver-Paket besser bedient: Panel, Backups, Update mit einem Klick. Aber es gibt eine Gruppe, für die ein VPS die bessere Wahl ist: Du willst mehrere kleine Server hinter einem Proxy, du willst eigene Scripts und Cronjobs laufen lassen, oder du willst einfach lernen, wie es unter der Haube funktioniert. Dieser Guide setzt einen Paper-Server auf Ubuntu 24.04 auf, als systemd-Service, der nach einem Reboot von selbst startet und beim Stoppen die Welt sauber speichert. Rechne mit einer halben Stunde.
Welcher VPS?
Minecraft läuft auf einem Kern und will dort einen schnellen. Wähl deshalb die Normal-Linie mit dem AMD EPYC 7443P (bis 4,0 GHz): HEN-N-02 mit 4 GB für 5,30 € pro Monat ist ein guter Start für 5 bis 10 Spieler, HEN-N-03 mit 4 vCores und 8 GB für 9,50 €, wenn du Plugins oder mehrere Server willst. Die Budget-Linie auf dem älteren Xeon funktioniert auch, aber du merkst die niedrigere Taktfrequenz an der Tickrate, sobald es voll wird. Halt 1 GB für das Betriebssystem frei: Auf einem VPS mit 4 GB gibst du dem Server 3 GB.

Schritt 1: einloggen, updaten, ein separater Benutzer
Log dich per SSH ein (so verbindest du dich) und fang mit Updates und einem Benutzer ohne Root-Rechte an. Der Server läuft nachher unter diesem Benutzer, damit ein bösartiges Plugin nicht gleich deine ganze Maschine übernimmt.
apt update && apt upgrade -y
adduser --disabled-password --gecos "" minecraft
mkdir -p /opt/minecraft && chown minecraft:minecraft /opt/minecraftSchritt 2: Firewall
ufw allow OpenSSH
ufw allow 25565/tcp
ufw enableNur SSH und der Minecraft-Port sind offen. Willst du später Geyser für Bedrock-Spieler, kommt 19132/udp dazu. RCON (Schritt 6) machst du bewusst nicht nach außen auf.
Schritt 3: Java 21
Minecraft 1.20.5 und neuer, inklusive der 26.x-Versionen, verlangen Java 21. Auf Ubuntu 24.04 ist das eine Zeile; unsere Wissensdatenbank hat eine eigene Anleitung dafür, falls du auf einer anderen Distribution bist.
apt install -y openjdk-21-jre-headless
java -versionSchritt 4: Paper herunterladen und die EULA
Lad den neuesten Paper-Build für deine Minecraft-Version von der PaperMC-Seite herunter und leg ihn als paper.jar in /opt/minecraft ab. Starte ihn einmal als Benutzer minecraft; er legt die Dateien an und bleibt an der EULA hängen.
su - minecraft
cd /opt/minecraft
java -Xms3G -Xmx3G -jar paper.jar --nogui
sed -i 's/eula=false/eula=true/' eula.txtMit gleichem -Xms und -Xmx verhinderst du, dass Java den Arbeitsspeicher immer wieder neu anfordern muss. Weitere Flags, etwa das bekannte Garbage-Collector-Tuning, können später kommen; bei zehn Spielern merkst du den Unterschied nicht. Pass jetzt auch server.properties an: online-mode=true stehen lassen, view-distance auf 8 und eine motd. Was die anderen Zeilen tun, steht in server.properties erklärt.
Schritt 5: der systemd-Service
Das ist der Schritt, der einen VPS-Server von einem „Fenster, das ich offen lasse“ unterscheidet. Leg /etc/systemd/system/minecraft.service an:
[Unit]
Description=Minecraft (Paper)
After=network-online.target
Wants=network-online.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms3G -Xmx3G -jar paper.jar --nogui
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=120
[Install]
WantedBy=multi-user.targetsystemctl daemon-reload
systemctl enable --now minecraft
systemctl status minecraft
journalctl -u minecraft -fKillSignal=SIGINT ist die wichtigste Zeile: Der Minecraft-Server fängt dieses Signal ab und speichert alle Welten, bevor er stoppt, genau wie bei stop in der Konsole. Ohne diese Zeile bekommt er bei einem Reboot ein hartes Signal, und du riskierst einen kaputten Chunk. TimeoutStopSec gibt ihm dafür zwei Minuten; eine große Welt braucht das manchmal.
Schritt 6: eine Konsole über RCON
Ein Service hat kein Fenster, in das du Befehle tippst. Die saubere Lösung ist RCON: Setz in server.properties enable-rcon=true, rcon.port=25575 und ein langes rcon.password, und installier auf dem VPS einen RCON-Client wie mcrcon. Weil die Firewall diesen Port nicht öffnet, ist RCON nur lokal erreichbar, und genau so soll es sein. Eine Alternative, die viele Admins angenehmer finden: den Server aus dem Service heraus in screen oder tmux starten, sodass du mit screen -r die echte Konsole siehst. Das funktioniert, aber die Stopp-Logik wird dann komplizierter; fang mit RCON an.
Schritt 7: Backups
Unsere VPS haben Backups der ganzen Maschine inklusive, aber eine Welt willst du öfter und gezielter sichern. Ein Cronjob, der stündlich die Weltordner packt, reicht:
0 * * * * tar -czf /opt/backups/welt-$(date +\%Y%m%d-%H).tar.gz -C /opt/minecraft world world_nether world_the_endErgänz eine Zeile, die Dateien älter als sieben Tage aufräumt, und kopier den Ordner ab und zu an einen anderen Ort als den VPS selbst. Ein Backup auf derselben Platte wie der Server ist kein Backup.
Schritt 8: updaten und im Blick behalten
Updaten heißt: die neue paper.jar ablegen und systemctl restart minecraft. Schau vor jedem Update auf die Plugins: Die müssen die neue Version unterstützen. Behalt die Maschine mit htop und free -m im Auge; bleiben weniger als ein paar hundert MB frei, ist es Zeit für ein größeres Paket, was monatlich geht.
Ehrlich: wann du das nicht tun solltest
Alles hier oben bekommst du bei einem Minecraft-Gameserver fertig: Panel mit Konsole, Backups mit einem Klick, Version wechseln, Plugins installieren und DDoS-Schutz auf dem Spielport. Der beginnt bei 0,50 € pro Monat und kostet etwa 1,10 € pro GB, was für einen einzelnen Server günstiger ist als ein VPS vergleichbarer Größe. Der VPS gewinnt erst bei mehreren Servern, einem Velocity-Proxy, eigener Software daneben oder schlicht dem Wunsch, es selbst zu machen. Willst du das Beste aus beiden Welten, schau dir Pterodactyl auf deinem eigenen VPS an: ein Panel, das du selbst verwaltest.