VPS für Gameserver richtig auswählen
Ein Gameserver-VPS braucht vor allem einen schnellen CPU-Kern und genug RAM. Prüfen Sie Größe, Ports, systemd, Backups und den Standort für geringe Latenz.
Welche Art von Gaming-VPS meinen Sie?
Ein VPS für Gameserver ist für eine Aufgabe eine gute Wahl: Sie betreiben darauf einen dedizierten Server, mit dem Sie und Ihre Freunde sich von den eigenen Rechnern aus verbinden. Für die andere Bedeutung des Begriffs ist er dagegen ungeeignet: Sie spielen das Spiel direkt auf dem VPS über einen Remote-Desktop. Diese beiden Aufgaben stellen gegensätzliche Anforderungen an die Hardware. Ein dedizierter Server benötigt einen schnellen CPU-Kern und genügend RAM für die Spielwelt. Zum Spielen benötigen Sie eine GPU (Graphics Processing Unit). Ein Standard-VPS-Tarif verfügt in der Regel nicht über eine GPU.
Im Folgenden geht es ausschließlich um die erste Aufgabe. Für die zweite Aufgabe sollten Sie sich zwei Minuten Zeit nehmen, weil viele dafür den falschen Server kaufen.
Warum Sie auf einem VPS keine Spiele spielen können
Ein Standard-VPS stellt Ihnen virtuelle CPU-Kerne, aber keine Grafikkarte bereit. Vom physischen Host wird nichts durchgereicht. Deshalb steht dem Spiel kein Hardware-Renderer zur Verfügung. So sehen Sie, was tatsächlich bereitgestellt wurde:
sudo apt install -y pciutils
lspci | grep -iE "vga|3d"Die Antwort ist ein virtueller Anzeigeadapter, beispielsweise ein Cirrus-Logic- oder virtio-GPU-Gerät. Er ist vorhanden, damit die Webkonsole des Anbieters einen Bildschirm anzeigen kann. Eine 3D-Beschleunigung gibt es dahinter nicht. Wenn Sie darauf einen Desktop und einen VNC-Server installieren, meldet glxinfo -B als Renderer llvmpipe. Dabei handelt es sich um Mesas Software-Renderer, der auf der CPU ausgeführt wird. Ein modernes 3D-Spiel, das von der CPU gerendert wird, erreicht nur wenige Bilder pro Sekunde. Es ist daher unspielbar, bevor überhaupt Daten den Server verlassen. Windows-Instanzen stoßen auf dasselbe Problem. Viele Spiele werden bereits beim Start beendet und melden, dass kein Direct3D-Gerät erstellt werden konnte. Es gibt keinen Anzeigeadapter, auf dem dieses Gerät erstellt werden kann.
Das zweite Problem ist der Rückweg zu Ihnen. Beim Spielen auf einem entfernten System wird jedes Bild als Video codiert, über das Internet übertragen und auf Ihrem Bildschirm decodiert. Zusätzlich zur Eingabeverzögerung des Spiels entstehen dadurch Verzögerungen bei der Codierung und Decodierung. RDP und VNC wurden außerdem für Desktops entwickelt, nicht für Bewegungen mit 60 Bildern pro Sekunde. Cloud-Gaming-Dienste lösen dieses Problem mit echter GPU-Hardware und einem speziell entwickelten Streaming-Protokoll. Ein einfacher VPS bietet beides nicht. Wenn Sie spielen möchten, mieten Sie GPU-Zeit. Wenn Sie Spiele hosten möchten, lesen Sie weiter.
Was ein dedizierter Gameserver tatsächlich benötigt
Ein Gameserver ist eine Simulationsschleife. Er hält die Spielwelt im Arbeitsspeicher und aktualisiert sie eine feste Anzahl von Malen pro Sekunde. Anschließend erhält jeder verbundene Spieler den Teil dieser Welt, den er sehen kann.
Diese Struktur bestimmt die Hardwareanforderungen. Die Schleife läuft überwiegend in einem Thread, daher ist die Einzelkernleistung wichtiger als die Anzahl der Kerne. Die Spielwelt liegt im Arbeitsspeicher, daher ist RAM meist die erste Ressourcengrenze. Während des Spiels wird wenig auf die Festplatte zugegriffen; beim Laden und Speichern ist sie stärker ausgelastet. Die Netzwerkstrecke bestimmt den Ping. Keine Tarifstufe kann daran etwas ändern.
Die Geschwindigkeit eines einzelnen Kerns ist wichtiger als die Anzahl der Kerne
Die meisten Gameserver aktualisieren die Spielwelt in einem einzelnen Haupt-Thread. Die Tick-Schleife von Minecraft und der Server-Frame der Source Engine arbeiten beide so. Für jeden Tick gilt eine feste Zeitvorgabe. Minecraft Java läuft mit 20 Ticks pro Sekunde. Damit stehen für jeden Tick 50 Millisekunden zur Verfügung. Wenn die Verarbeitung länger dauert, gibt der Server genau Folgendes aus:
[12:04:51] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2547ms or 50 ticks behindDiese Zeile bedeutet, dass ein Thread die verfügbare Zeit überschritten hat. Zusätzliche Kerne verschaffen diesem Thread keine zusätzliche Zeit. Ein Tarif mit 2 schnellen vCPUs hält die Tickrate stabil, während ein Tarif mit 8 langsamen vCPUs sie nicht halten kann. Nur einer der 8 Kerne verarbeitet die entscheidende Aufgabe.
Messen Sie die Geschwindigkeit eines einzelnen Threads, bevor Sie sich für einen Tarif entscheiden:
sudo apt install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=1 runLesen Sie die Zeile events per second. Die Zahl ist für sich genommen nicht aussagekräftig, sondern nur im Vergleich. Führen Sie den Test deshalb auf 2 möglichen Tarifen aus und stellen Sie die Ergebnisse gegenüber. Ein vollständiger VPS-Benchmark erfasst Datenträger und Netzwerk auf dieselbe Weise.
Zusätzliche Kerne sind trotzdem sinnvoll. Sie führen den zweiten Gameserver, die Datenbank, das nächtliche Backup und den Chunk-Generator aus, ohne dem Tick-Thread Rechenzeit zu entziehen. Auch die Serversoftware verteilt die Arbeit zunehmend auf mehrere Kerne. Paper, ein beliebter Minecraft-Server-Fork, verlagert beispielsweise einige Aufgaben aus dem Haupt-Tick-Thread. Kaufen Sie daher wenige schnelle Kerne statt vieler langsamer Kerne.
Eine Kennzahl erscheint auf keiner Tarifseite. Sie entscheidet aber, ob der schnelle Kern, für den Sie bezahlen, tatsächlich Ihnen zur Verfügung steht:
vmstat 1 5Die Spalte st gibt den prozentualen Anteil der Zeit an, in der Ihre virtuelle CPU ausführungsbereit war, der physische Host den Kern aber einem anderen Prozess zugewiesen hat. Ein dauerhaft über einige Prozent liegender Wert in st bedeutet, dass der Host überbucht ist. Spieler bemerken das als Ruckler, während top auf Ihrem Server weiterhin eine geringe CPU-Auslastung anzeigt. Diese Leerlaufzeit steht Ihnen nicht zur Verfügung.
Wie viel RAM benötigt ein Gameserver?
Die Daten hinter diesem Diagramm
[
{
"label": "Minecraft Java, vanilla",
"players": 10,
"ram_gb": 2
},
{
"label": "Minecraft Java, large modpack",
"players": 10,
"ram_gb": 8
},
{
"label": "Valheim",
"players": 10,
"ram_gb": 4
},
{
"label": "Palworld",
"players": 32,
"ram_gb": 16
}
]Das sind die Startwerte, die die Dokumentation der Spiele und Modpacks mit Stand August 2026 veröffentlicht. Sie dienen als Orientierung und wurden nicht auf einem einzelnen Server gemessen. Vanilla Minecraft Java läuft mit 2 GB Heap für etwa 10 Spieler problemlos. Für dieselbe Spielerzahl benötigt ein großes Modpack 8 GB, weil die Mods zusätzliche Entitäten und generierte Strukturen hinzufügen, die vollständig in diesem Heap liegen. Das angegebene Minimum für Valheim beträgt 2 GB. Betreiber mit einer kleinen Welt berichten jedoch, dass sich der Prozess eher bei 3 GB einpendelt. Daher sind 4 GB ein sinnvoller Startwert. Palworld ist mit 16 GB für das Maximum von 32 Spielern der Ausreißer. Diesen Wert empfiehlt Pocketpair.
Der RAM-Bedarf steigt nicht proportional zur Anzahl der Verbindungen. Er richtet sich nach der geladenen Welt. Jeder Spieler hält die Region um seine Position geladen. Zwei Spieler, die zusammenstehen, benötigen daher deutlich weniger RAM als zwei Spieler, die entgegengesetzte Ecken der Karte erkunden. Deshalb ist „RAM pro Spieler“ nur eine grobe Orientierung. Maßgeblich ist der RAM-Bedarf pro aktivem Bereich. Eine kleine Gruppe, die häufig erkundet, kann daher den Bedarf eines Plans überschreiten, der für doppelt so viele Spieler ausgelegt ist.
Für Java-Server gelten zwei zusätzliche Regeln. Setzen Sie den minimalen und den maximalen Heap auf denselben Wert. Dadurch muss die JVM nicht während des Betriebs pausieren, um den Heap zu vergrößern oder zu verkleinern:
java -Xms4G -Xmx4G -jar server.jar noguiLassen Sie anschließend Reserven. Die JVM verwendet auch außerhalb des zugewiesenen Heaps Speicher, unter anderem für Thread-Stacks und native Puffer. Außerdem benötigt der Kernel Page Cache, damit Weltdateien schnell gelesen werden können. Auf einem Server mit 6 GB RAM ist ein Heap von 4 GB sinnvoll. Ein Heap von 6 GB ist es nicht.
Die beiden Speicherfehler sehen völlig unterschiedlich aus. Merken Sie sich daher beide Fehlermeldungen. Ein zu kleiner Heap löst einen Fehler innerhalb von Java aus. Der Server läuft dabei meistens noch eingeschränkt weiter:
java.lang.OutOfMemoryError: Java heap spaceEin Heap, der größer als der verfügbare Arbeitsspeicher ist, führt dazu, dass der gesamte Prozess von außen beendet wird. In der Konsole steht nur Killed. Die relevanten Hinweise finden Sie im Kernel-Log:
sudo dmesg -T | grep -i "out of memory"Das Hinzufügen von Swap verhindert die Beendigung, behebt aber nicht die Ursache. Eine Tick-Schleife, die ihre Welt aus dem Swap zurücklesen muss, verpasst jeden Termin. Ihre Spieler erhalten dann einen eingefrorenen Server statt eines abgestürzten Servers.
Ein Versionshinweis, geprüft am 2026-10-11 anhand der Versionsmetadaten von Mojang: Minecraft Java 1.20.5 bis 1.21.11 benötigt Java 21. Version 26.1 und höher, einschließlich der aktuellen Version 26.3, benötigt Java 25. Eine ältere Laufzeit startet zunächst und schlägt anschließend mit einem Fehler wegen einer nicht unterstützten Class-File-Version fehl. Die Meldung ähnelt einer Compiler-Fehlermeldung und sorgt beim ersten Auftreten häufig für Verwirrung. Ubuntu 22.04, 24.04 und 26.04 liefern die Java-25-Laufzeit in ihrem Standardarchiv:
sudo apt install -y openjdk-25-jre-headless
java -versionSpielt die Festplattengeschwindigkeit für einen Gameserver eine Rolle?
Während des Spielbetriebs weniger als erwartet, bei zwei bestimmten Vorgängen jedoch deutlich. Die Welt wird beim Start in den Arbeitsspeicher geladen und beim automatischen Speichern zurück auf den Datenträger geschrieben. Die Datenträgergeschwindigkeit zeigt sich daher durch einen langsamen Start und eine Pause beim Speichern. Dazwischen werden die meisten Lesezugriffe aus dem RAM bedient.
Zwei Vorgänge machen den Datenträger wichtiger, als diese Zusammenfassung vermuten lässt. Beim Erkunden werden neue Chunks oder Zonen vom Datenträger geladen, während sich die Spieler bewegen. Dieser Lesezugriff findet innerhalb des Tick-Zeitbudgets statt. Beim automatischen Speichern einer großen Welt werden viele Daten auf einmal geschrieben. Auf einem langsamen Volume blockiert der Schreibvorgang die Schleife lange genug, um die oben genannte Warnung "Can't keep up" auszugeben. Beides sind Latenzprobleme und keine Durchsatzprobleme. Deshalb ist der Unterschied zwischen NVMe und SATA-SSD auf einem VPS hier wichtiger, als die angegebenen Megabytes pro Sekunde vermuten lassen. Entscheidend ist, wie lange ein einzelner kleiner Vorgang dauert.
Planen Sie das Volume mit ausreichend Reserven für das Wachstum. Eine Welt wächst jedes Mal, wenn jemand einen neuen Bereich betritt. Ihre Backups vervielfachen den benötigten Speicherplatz. Führen Sie du -sh world einen Monat lang einmal pro Woche aus. Danach kennen Sie Ihre tatsächliche Wachstumsrate.
Tickrate, Ping und der Unterschied zwischen beiden
Die Tickrate gibt an, wie oft der Server die Spielwelt pro Sekunde neu berechnet. Minecraft Java läuft mit 20. Server der Source Engine laufen üblicherweise mit 64. In Minecraft ist 20 die Rate, auf die das Spiel ausgelegt ist. Mit dem Befehl /tick rate lässt sie sich ändern. Dadurch wird jedoch die gesamte Spielwelt schneller oder langsamer, anstatt die Darstellung flüssiger zu machen. Ein leistungsstärkerer Server erhöht die Tickrate nicht automatisch. Ziel ist daher, 20 zu halten, statt diesen Wert zu überschreiten.
Der Ping ist die Zeit für den Hin- und Rückweg zwischen einem Spieler und dem Server. Diese beiden Ursachen führen zu unterschiedlichen Problemen. Unterscheiden Sie sie, bevor Sie Geld ausgeben. Wenn der Server Ticks verpasst, erleben alle Spieler gleichzeitig Rubberbanding. Das Server-Log weist normalerweise in Klartext darauf hin. Wenn ein Spieler einen langen Netzwerkpfad hat, tritt die Verzögerung nur bei diesem Spieler auf. Für den Rest der Gruppe läuft das Spiel normal. Ein leistungsstärkerer Prozessor behebt den zweiten Fall nicht.
Latenz hängt vom Standort ab, nicht von der Tarifstufe
Licht bewegt sich in Glasfasern mit etwa 200 Kilometern pro Millisekunde. Bei einem Round Trip wird die Strecke zweimal zurückgelegt. Daher liegt die Untergrenze zwischen Spieler und Server bei ungefähr 1 ms pro 100 km. Kein Anbieter kann diesen Wert unterschreiten. Ein Upgrade des Tarifs ändert daran nichts.
Die Daten hinter diesem Diagramm
[
{
"label": "Toronto to New York",
"distance_km": 550,
"rtt_floor_ms": 5.5
},
{
"label": "Dallas to Chicago",
"distance_km": 1290,
"rtt_floor_ms": 12.9
},
{
"label": "Dallas to Los Angeles",
"distance_km": 1990,
"rtt_floor_ms": 19.9
},
{
"label": "New York to London",
"distance_km": 5570,
"rtt_floor_ms": 55.7
},
{
"label": "Los Angeles to Sydney",
"distance_km": 12070,
"rtt_floor_ms": 120.7
}
]Diese Untergrenzen werden aus der Großkreisentfernung berechnet. Reale Glasfaserstrecken verlaufen nicht geradlinig. Außerdem fügt jeder Router auf dem Weg eine geringe Verzögerung hinzu. Ein gutes Ergebnis aus der Praxis liegt daher ungefähr beim Doppelten der Untergrenze. Ein Spieler in Toronto, der einen 550 km entfernten Server in New York erreicht, hat eine Untergrenze von 5.5 ms und wird normalerweise einen Wert im Zehnerbereich sehen. Die Strecke von Los Angeles nach Sydney hat eine Untergrenze von 120.7 ms. Daran ändert auch ein höheres Budget nichts.
Stellen Sie den Server daher in der Nähe der Spieler auf. Wenn Ihre Gruppe über einen Ozean verteilt ist, hat jemand zwangsläufig die lange Strecke. In der Regel ist die Region mit den meisten Spielern die faire Wahl.
Messen Sie die Strecke, statt die Latenz zu schätzen:
sudo apt install -y mtr-tiny
mtr -rwzc 100 203.0.113.10Lesen Sie zuerst die letzte Zeile. Diese Zeile zeigt den Server. Paketverlust und Latenz dort bestimmen allein, wie sich das Spiel anfühlt. Wird Paketverlust auf einem mittleren Hop angezeigt, während der letzte Hop sauber ist, handelt es sich fast immer um ICMP-Ratenbegrenzung auf diesem Router. Router behandeln Antworten auf Probe-Pakete mit niedrigerer Priorität, während sie den normalen Netzwerkverkehr weiterleiten. Jeder Spieler sollte den Test zum Server ausführen, da die Pakete jeweils einen anderen Weg nehmen.
So wird die Round-Trip-Untergrenze berechnet
Licht bewegt sich in Glas mit ungefähr zwei Dritteln seiner Geschwindigkeit im Vakuum. Das entspricht etwa 200 km pro Millisekunde. Bei einem Round Trip wird die Strecke zweimal zurückgelegt. Die Untergrenze in Millisekunden ergibt sich daher aus der Entfernung in eine Richtung in Kilometern geteilt durch 100. Die Strecke von New York nach London beträgt 5,570 km. 5570 geteilt durch 100 ergibt 55.7 ms. Jeder gemessene Wert liegt höher, weil Kabel den Küstenlinien folgen und Router Zeit für die Verarbeitung benötigen.
Nur die vom Spiel benötigten Ports öffnen
Ein Gameserver benötigt ein oder zwei offene Ports, aber keine weiteren. Die üblichen Standardwerte:
- Minecraft Java Edition: TCP 25565
- Minecraft Bedrock Edition: UDP 19132
- Valheim: UDP 2456 und UDP 2457
- Palworld: UDP 8211
- Valves Source- und Source-2-Spiele wie Counter-Strike 2: UDP 27015
Prüfen Sie die Dokumentation des jeweiligen Spiels, da einige Titel einen zusätzlichen Query-Port verwenden. Valheim ist das deutlichste Beispiel: Über 2456 läuft der Spielverkehr, und 2457 beantwortet die Steam-Serverabfrage, durch die Ihr Server in der Browserliste angezeigt wird. Diese Ports über TCP zu öffnen, bewirkt nichts, weil Valheim ausschließlich UDP verwendet.
Erlauben Sie SSH, bevor Sie die Firewall aktivieren. Andernfalls sperren Sie sich aus Ihrem eigenen Server aus:
sudo ufw allow 22/tcp
sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status verboseViele Provider betreiben zusätzlich eine Netzwerk-Firewall in ihrem Control Panel, die von der Firewall auf dem Server getrennt ist. Ein Port, der in ufw geöffnet, dort aber geschlossen ist, nimmt weiterhin keine Verbindungen an. Das Symptom ist von außen identisch. Prüfen Sie daher beide Stellen, bevor Sie Konfigurationsdateien bearbeiten.
Einen TCP-Port von einem anderen Rechner aus zu prüfen, ist einfach:
sudo apt install -y netcat-openbsd
nc -vz 203.0.113.10 25565UDP lässt sich auf diese Weise nicht testen. Ein geschlossener UDP-Port antwortet normalerweise nicht. Eine Abfrage ohne Antwort sagt daher überhaupt nichts aus. Prüfen Sie stattdessen direkt auf dem Server und suchen Sie nach dem am erwarteten Port gebundenen Gameserver-Prozess:
sudo ss -lunp | grep 2456Machen Sie RCON, das Protokoll für die Remote-Konsole, niemals aus dem Internet erreichbar. Standardmäßig wird dabei ein einzelnes Passwort über eine unverschlüsselte Verbindung auf Port 25575 übertragen. Binden Sie RCON an 127.0.0.1 und greifen Sie über einen SSH-Tunnel darauf zu. Führen Sie den Gameserver außerdem unter einem eigenen Benutzer ohne privilegierte Rechte aus, damit eine Schwachstelle in einem Mod nicht auf den restlichen Rechner zugreifen kann. Die ersten zehn Minuten auf einem neuen VPS behandelt das Benutzerkonto und die SSH-Härtung, die in diesem Abschnitt bereits vorausgesetzt werden.
Server mit systemd ausführen, damit sie neu gestartet werden
Ein Server, der manuell in einer SSH-Sitzung gestartet wird, beendet sich beim Schließen der Sitzung und bleibt nach einem Reboot beendet. systemd behebt beide Probleme. Die Unit führt den Server unter einem eigenen minecraft-Benutzer aus. Dieser Benutzer besitzt /opt/minecraft und sonst nichts:
sudo useradd --system --home-dir /opt/minecraft --shell /usr/sbin/nologin minecraft
sudo chown -R minecraft:minecraft /opt/minecraftErstellen Sie anschließend /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Java server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms4G -Xmx4G -jar server.jar nogui
Restart=on-failure
RestartSec=15
TimeoutStopSec=180
[Install]
WantedBy=multi-user.targetRestart=on-failure startet den Server nach einem Absturz erneut und lässt ihn nach einem regulären Herunterfahren beendet. Das ist das gewünschte Verhalten. Restart=always startet den Server bei jedem absichtlichen Stoppen erneut und behindert Sie dadurch. TimeoutStopSec=180 ist wichtiger, als es zunächst scheint. systemctl stop sendet SIGTERM. Der Vanilla-Minecraft-Server fängt dieses Signal ab und speichert die Welt, bevor er beendet wird. Nach Ablauf des Timeouts sendet systemd stattdessen SIGKILL. Das Speichern einer großen Welt kann länger als die standardmäßigen 90 Sekunden dauern. Alles, was beim Eintreffen von SIGKILL noch nicht auf die Festplatte geschrieben wurde, geht verloren.
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo journalctl -u minecraft -fEin erfolgreicher Start endet mit einer Zeile wie Done (12.345s)! For help, type "help". Wechselt die Unit zwischen dem Status activating und failed, enthält journalctl -u minecraft -n 50 den Grund. Meistens ist ein falscher Pfad in WorkingDirectory oder ein Heap angegeben, der größer ist als der verfügbare Arbeitsspeicher des Servers.
Ein systemd-Dienst wie dieser läuft standardmäßig ohne interaktive Konsole. Planen Sie das daher von Anfang an ein. Verwenden Sie RCON auf localhost für Befehle oder führen Sie den Server in einer tmux-Sitzung aus. Das ist dieselbe Vorgehensweise, mit der Sie eine lange Claude-Code-Sitzung auf einem VPS aktiv halten und sich zwischen Anmeldungen wieder verbinden.
Für über Steam verteilte Spiele benötigen Sie vor all dem SteamCMD. Das Ubuntu-Paket ist eine 32-Bit-Binärdatei. Deshalb ist die Architekturzeile erforderlich. Lassen Sie diese Zeile weg, meldet apt, dass kein Installationskandidat vorhanden ist:
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmdBei manchen Gameservern steigt der Speicherverbrauch mit zunehmender Laufzeit. Ein geplanter Neustart zu einer ruhigen Uhrzeit ist dafür die übliche Umgehung, aber keine Lösung. Ein systemd-Timer, der systemctl restart aufruft, ist leichter nachzuvollziehen als ein Cron-Eintrag, weil systemctl list-timers genau anzeigt, wann er als Nächstes ausgelöst wird.
Sichern Sie die Welt regelmäßig
Auf einem Gameserver sind alle Daten außer dem Weltverzeichnis und den Spielerdaten ersetzbar. Das Spiel neu zu installieren dauert wenige Minuten. Das, was Ihre Gruppe aufgebaut hat, neu zu erstellen, dauert Monate.
Ein zuverlässiges Backup wird erstellt, während keine Schreibvorgänge stattfinden. Den Server für eine Minute zu stoppen, ist die einfachste Möglichkeit, dies sicherzustellen:
sudo systemctl stop minecraft
sudo tar czf /var/backups/mc-$(date +%F).tgz -C /opt/minecraft world world_nether world_the_end
sudo systemctl start minecraftWenn eine nächtliche Pause nicht akzeptabel ist, leeren Sie zuerst den Schreibpuffer der Welt. In der Minecraft-Konsole deaktiviert save-off das automatische Speichern, save-all flush schreibt alle noch ausstehenden Änderungen, und save-on aktiviert das automatische Speichern wieder, sobald das Kopieren abgeschlossen ist. Wenn Sie eine Welt kopieren, während der Server gerade schreibt, kann eine Region-Datei nur teilweise geschrieben werden. Das bemerken Sie möglicherweise erst an dem Tag, an dem Sie die Wiederherstellung benötigen.
Bewahren Sie mindestens eine Kopie außerhalb des Rechners auf. Ein Backup auf derselben Festplatte übersteht keinen Festplattenausfall. Ein Snapshot des Providers ist eher eine praktische Zusatzfunktion als ein Backup, weil er im selben Konto liegt, das Sie möglicherweise verlieren. Geplante restic-Backups in externen Speicher übernehmen Aufbewahrung und Deduplizierung. Dadurch füllen nächtliche Kopien der Welt über einen Monat hinweg Ihr Volume nicht vollständig.
Stellen Sie anschließend eine Kopie wieder her. Ein Backup, das Sie noch nie wiederhergestellt haben, ist nur eine Vermutung. Entpacken Sie das Archiv der vergangenen Nacht in ein separates Verzeichnis, verweisen Sie einen Testserver darauf und prüfen Sie, ob die Welt geladen wird und die Gebäude an ihrem ursprünglichen Ort stehen.
Prüfen Sie diese Punkte, bevor Sie sich festlegen
Buchen Sie zunächst einen Monat statt eines ganzen Jahres und testen Sie den Server einen Abend lang mit echten Spielern. Führen Sie den Single-Thread-sysbench-Test aus und lassen Sie anschließend jeden Spieler mtr zum Server ausführen. Die vollständige VPS-Benchmark-Anleitung beschreibt diese Werkzeuge Schritt für Schritt und zeigt, wie ein schlechtes Ergebnis aussieht. Was ein VPS tatsächlich pro Monat kostet hilft Ihnen zu prüfen, ob Sie für die Ressource bezahlen, die Ihren Server begrenzt, und nicht für die Ressource, deren Wert auf der Tarifseite am größten angegeben ist.
Zwei weitere Beiträge setzen hier an. Einen Minecraft-Server auf einem VPS einrichten beschreibt alles oben Schritt für Schritt am Beispiel des Spiels, mit dem die meisten beginnen. Die ausführlichere Liste der Anwendungen, die auf einem VPS laufen können ist lesenswert, wenn der Server zwischen den Spieleabenden noch etwas Nützliches erledigen soll.
FAQ
Kann ich Spiele auf einem VPS spielen, statt einen Gaming-PC zu kaufen?
Nein. Ein Standard-VPS hat keine GPU, sondern nur einen virtuellen Anzeigeadapter für die Konsole des Anbieters. Nach der Installation einer Desktop-Umgebung meldet glxinfo -B daher den Software-Renderer llvmpipe, und ein 3D-Spiel läuft mit wenigen Bildern pro Sekunde. Selbst mit einer angeschlossenen GPU fügt Remote Play bei jeder Umlaufzeit eines Frames die Video-Kodierung und -Dekodierung hinzu. RDP und VNC wurden dafür nie entwickelt. Ein VPS ist dafür gedacht, den Dedicated Server zu hosten, mit dem sich Ihre Gruppe verbindet. Mieten Sie GPU-Zeit oder verwenden Sie einen Cloud-Gaming-Dienst, wenn Sie spielen möchten.
Wie viele CPU-Kerne benötigt ein Gameserver?
Für die meisten Spiele sind zwei schnelle Kerne besser als acht langsame. Die Weltsimulation läuft in einem Hauptthread, und zusätzliche Kerne können diesem Thread nicht dabei helfen, sein Zeitfenster von 50 ms einzuhalten. Vergleichen Sie mögliche Tarife mit sysbench cpu --cpu-max-prime=20000 --threads=1 run und prüfen Sie den Wert für Ereignisse pro Sekunde. Zusätzliche Kerne lohnen sich, wenn Sie auf demselben System auch einen zweiten Server oder eine Datenbank betreiben. Diese Workloads können dann ausgeführt werden, ohne dem Tick-Thread CPU-Zeit zu entziehen.
Wie viel RAM benötigt ein Minecraft-Server?
Für eine Vanilla-Welt mit ungefähr 10 Spielern benötigen Sie etwa 2 GB Heap. Für ein großes Modpack bei derselben Spielerzahl benötigen Sie 8 GB. Setzen Sie -Xms und -Xmx auf denselben Wert. Lassen Sie außerdem 1 GB bis 2 GB des Arbeitsspeichers für das Betriebssystem frei. Die JVM verwendet Speicher außerhalb des Heaps, und der Kernel benötigt Page Cache. Ist der Heap größer als der Arbeitsspeicher des Systems, beendet der Kernel den Prozess. In dmesg erscheint dann eine Out-of-Memory-Meldung statt eines Java-Fehlers.
Warum haben meine Spieler Lags, obwohl der Server CPU und RAM frei hat?
Zwei Ursachen passen zu dieser Beschreibung. Prüfen Sie das Server-Log auf Can't keep up! Is the server overloaded?. Das bedeutet, dass der einzelne Hauptthread sein Tick-Zeitfenster von 50 ms verpasst hat, während die übrigen Kerne nicht ausgelastet waren. In Paper kann diese Warnung mit warn-on-overload: false in bukkit.yml deaktiviert werden. Prüfen Sie daher, ob sie weiterhin aktiviert ist, bevor Sie aus ihrem Fehlen eine Schlussfolgerung ziehen. Ist die Warnung aktiviert und fehlt sie trotzdem, prüfen Sie den Netzwerkpfad. Lassen Sie jeden Spieler mtr -rwzc 100 203.0.113.10 gegen die Adresse Ihres Servers ausführen und die letzte Zeile lesen. Prüfen Sie außerdem die Spalte st in vmstat 1. Steal Time von mehr als wenigen Prozent bedeutet, dass der Host überbucht ist. Die angezeigte freie CPU steht Ihnen dann tatsächlich nicht zur Verfügung.
Welche Ports muss ich für einen Gameserver öffnen?
Nur den eigenen Port des Spiels sowie SSH. Minecraft Java verwendet TCP 25565, Minecraft Bedrock verwendet UDP 19132, Valheim verwendet UDP 2456 und 2457, und Palworld verwendet UDP 8211. Fügen Sie die SSH-Regel hinzu, bevor Sie ufw enable ausführen. Andernfalls verlieren Sie den Zugriff auf das System. Beachten Sie, dass viele Anbieter eine zweite Firewall in ihrem Control Panel betreiben. Der Port muss in beiden Firewalls geöffnet sein. Öffnen Sie RCON auf Port 25575 niemals für das Internet, da dabei ein einzelnes Passwort im Klartext übertragen wird.