Die Serverdateien installieren
Der Dedicated Server ist ein eigenes kostenloses Tool auf Steam, App 380870, und lässt sich ohne Steam-Login herunterladen. Auf einem Windows-PC findest du ihn in der Steam-Bibliothek unter den Tools. Auf einem gemieteten Rechner oder einem ohne Bildschirm holst du ihn mit SteamCMD, und ein Hosting-Panel führt bei der Installation denselben Befehl aus.
PZwiki hat eine Warnung, die man wiederholen sollte: Starte den Server nicht mit dem Starten-Button in Steam. Starte ihn mit dem Skript im Serverordner, StartServer64.bat unter Windows oder start-server.sh unter Linux. Wurde er versehentlich über Steam gestartet, prüf die Dateien, bevor du es erneut versuchst.
Unter Linux rät das Wiki außerdem, einen normalen Benutzer für den Server anzulegen und ihn nicht als root laufen zu lassen. Selbst hosten oder mieten (auf Englisch) zeigt die echten Kosten eines Rechners zu Hause.
- Installieren oder aktualisieren: steamcmd +force_install_dir <ordner> +login anonymous +app_update 380870 validate +quit
- Stattdessen Build 41: app_update 380870 -beta legacy41 validate
- Startskript unter Windows: StartServer64.bat
- Startskript unter Linux: start-server.sh, aus dem Serverordner gestartet
- Eine andere Welt auf derselben Installation: -servername DEINNAME an den Startbefehl anhängen
Die zwei UDP-Ports und wofür sie da sind
PZwiki nennt zwei Ports, die ein Dedicated Server offen braucht, beide UDP.
Der erste ist 16261, festgelegt über DefaultPort in der ini-Datei des Servers. Das ist der Port, den Spieler eintippen, wenn sie den Server im Spiel hinzufügen, und die Seite zu den Einstellungen beschreibt ihn als Standard-Startport für Spielerdaten. Der zweite ist 16262, festgelegt über UDPPort, den das Wiki als Port für Direktverbindungen bezeichnet. Öffne und leite beide weiter.
Jeder Server auf demselben Rechner braucht sein eigenes Paar. Das Beispiel des Wikis für einen zweiten Server ist 16274 und 16275, geändert in der ini-Datei dieses Servers oder mit den Startparametern -port und -udpport.
Ältere Anleitungen sagen dir, für jeden Spielerplatz einen TCP-Port zu öffnen, 16262 bis 16272 für zehn Spieler. Das galt für ältere Versionen des Spiels. Die Multiplayer-FAQ im Wiki hält fest, dass die TCP-Ports pro Spieler ab Version 41.65 nicht mehr nötig sind.
Dazu gibt es einen RCON-Port, RCONPort, standardmäßig 27015. Er ist nur für Fernkonsolen-Tools gedacht, und du kannst ihn geschlossen lassen, wenn du keins nutzt.
- 16261 UDP: DefaultPort, der Port, den Spieler im Spiel eingeben
- 16262 UDP: UDPPort, der Port für Direktverbindungen
- 27015: RCONPort, nur wenn du ein Fernkonsolen-Tool nutzt
- UPnP ist in der ini standardmäßig an und versucht, die Weiterleitung auf einem Heimrouter einzurichten, der das unterstützt
Java-Speicher: Der Heap muss in den Rechner passen
Der Server ist ein Java-Programm, und Java nutzt für das Spiel nur so viel Speicher, wie die Heap-Einstellung erlaubt. Diese Einstellung ist -Xmx, der maximale Heap, daneben -Xms als Startwert.
Wo du sie setzt, hängt davon ab, wie der Server startet. Unter Windows steht sie in der StartServer64.bat. Unter Linux wird der Server über das Programm ProjectZomboid64 gestartet, das seine Java-Optionen aus der Liste vmArgs in der ProjectZomboid64.json im Serverordner liest, und diese Datei bearbeitest du. Der Wert wird als -Xmx6g für sechs Gigabyte geschrieben oder als -Xmx6144m für dieselbe Menge in Megabyte.
Die Zahl muss kleiner sein als der Speicher, den der Rechner oder Container wirklich hat. PZwiki warnt, dass das Windows-Startskript standardmäßig 16 GB anfordert und dass der Server auf einem Rechner, der das nicht liefern kann, mit Speicherfehlern nicht startet. Ein Startwert in -Xms, der sich nicht reservieren lässt, verhindert den Start ganz. Unter Linux kann der Fehler später kommen und schlimmer aussehen: Darf der Heap über das hinaus wachsen, was Rechner oder Container haben, beendet der Out-of-Memory-Killer des Systems den Prozess sofort. Vorher wird nichts gespeichert, und das Log hört einfach auf.
Java nutzt außerdem Speicher außerhalb des Heaps, für eigenen Code, Threads und die nativen Bibliotheken, die das Spiel lädt. Setz -Xmx also nicht auf die volle Größe des Rechners. Lass einen deutlichen Puffer, auf einem kleinen Server mehr als auf einem großen, und erhöhe den Heap erst, wenn die Konsole meldet, dass er vollläuft.
- Windows: -Xms und -Xmx in der StartServer64.bat bearbeiten
- Linux: den Eintrag -Xmx in vmArgs in der ProjectZomboid64.json bearbeiten
- Den Heap unter dem Speicher des Rechners halten, mit Platz für Javas eigenen Overhead
- Ein Heap über dem verfügbaren Speicher bedeutet einen gescheiterten Start oder einen beendeten Prozess, keinen langsameren Server
Der Ordner Zomboid: Einstellungen, Sandbox und Spielstände
Alles, was deinen Server zu deinem macht, liegt außerhalb des Installationsordners, in einem Ordner namens Zomboid im Home-Verzeichnis des Benutzers, unter dem der Server läuft. Unter Windows ist das C:\Users\DeinName\Zomboid, unter Linux ~/Zomboid. Der Startparameter -cachedir verschiebt ihn woandershin, und genau das machen die meisten Hosting-Panels.
Der Servername hält die Dateien zusammen. Der Standardname ist servertest, die Dateien heißen also servertest.ini und so weiter. Startest du mit -servername, tragen alle Dateien und der Spielstand-Ordner stattdessen diesen Namen, und neben der alten entsteht eine neue, leere Welt. Wähl den Namen vor dem ersten Start.
Die Dateien werden beim ersten Start mit Standardwerten angelegt. Du kannst sie bei gestopptem Server in einem Texteditor bearbeiten oder im Spiel selbst unter Host und dann Manage Settings erstellen, was dieselben Dateien schreibt. Änderungen an der ini lassen sich mit dem Admin-Befehl reloadoptions auch auf einen laufenden Server anwenden.
- Server/servertest.ini: Servereinstellungen wie Ports, Passwort, Spielerlimit, PVP, Mods und Karte
- Server/servertest_SandboxVars.lua: die Sandbox-Regeln, etwa Zombie-Population, Loot und Tageslänge
- Server/servertest_spawnregions.lua und servertest_spawnpoints.lua: wo neue Charaktere starten können
- Saves/Multiplayer/servertest: die Welt selbst, alles Erkundete, Gebaute und Geplünderte
- db: die Datenbank mit Spielerkonten und Zugriffsstufen, benannt nach dem Server
Erster Start, das Admin-Konto und nützliche Einstellungen
Beim ersten Start hält die Konsole an und bittet dich, ein Passwort für das Admin-Konto festzulegen, das sie anlegt. Auf einem Server ohne Bildschirm kannst du es stattdessen mit dem Startparameter -adminpassword übergeben. Wenn die Welt generiert ist, meldet die Konsole, dass der Server gestartet ist.
Im Spiel trittst du über Join und dann Favorites bei und gibst Adresse, Port 16261 sowie Namen und Passwort des Admin-Kontos ein. Andere bekommen Rechte über den Befehl setaccesslevel, der einen Benutzernamen und eine der Stufen user, priority, observer, gm, moderator oder admin nimmt. Das ist besser, als den Admin-Login zu teilen.
Einige ini-Einstellungen solltest du früh festlegen.
- Open: true lässt jeden durch Beitreten ein Konto anlegen. false heißt, ein Admin muss jeden Spieler mit adduser hinzufügen
- Password: ein Beitrittspasswort für den ganzen Server
- MaxPlayers: standardmäßig 32. Die Seite zu den Einstellungen warnt, dass mehr als 32 zu schlechtem Map-Streaming und Desync führen kann
- PauseEmpty: standardmäßig true, die Spielzeit steht also, wenn niemand online ist
- Public: standardmäßig false. Auf true setzen, um den Server im Serverbrowser im Spiel zu listen
- SaveWorldEveryMinutes: standardmäßig 0, geladene Bereiche werden also gespeichert, wenn Spieler sie verlassen, und nicht nach Zeitplan
- BackupsOnStart und BackupsOnVersionChange: beide standardmäßig true, mit BackupsCount auf 5
Workshop-Mods und Karten
Mods stehen in der servertest.ini in zwei getrennten Zeilen, und die nehmen unterschiedliche Werte.
WorkshopItems ist die Liste der Steam-Workshop-Itemnummern, getrennt durch Semikolons. Sie sorgt dafür, dass der Server die Dateien herunterlädt. Mods ist die Liste der Mod-IDs, die geladen werden, also der ID, die jede Mod in ihrer eigenen Info-Datei angibt. Ein Workshop-Item kann mehrere Mods enthalten, die beiden Listen sind also oft nicht gleich lang. Eine Mod, die heruntergeladen, aber nicht unter Mods eingetragen ist, tut nichts.
Karten-Mods brauchen eine dritte Zeile. Map enthält die Namen der Kartenordner, und der Standardwert ist Muldraugh, KY.
Am wenigsten fehleranfällig füllst du das über den Bildschirm Host und Manage Settings im Spiel aus. Er hat eine Seite für den Steam Workshop und schreibt die Zeilen für den Build, den du nutzt. Die Seite zu den Einstellungen auf PZwiki zeigt, wo du jede ID findest, falls du es lieber von Hand machst. Spieler, die beitreten, laden die Workshop-Mods des Servers automatisch herunter.
Mods werden für einen bestimmten Build des Spiels gemacht. Prüf, ob es jede Mod in einer Version für Build 42 gibt, bevor du sie hinzufügst, und teste eine neue Mod-Liste zuerst mit einer Kopie der Welt. Wie Gameserver-Hosting funktioniert (auf Englisch) erklärt, wie du deine Dateien auf einen gemieteten Server hochlädst.
Updates, Build 42 und Welt-Wipes
The Indie Stone hat Version 42.20 am 29. Juli 2026 auf den öffentlichen Stable-Branch gebracht. Seitdem ist Build 42 der Standard-Download, für das Spiel und für den Dedicated Server. Version 42.21 folgte am 28. September 2026 auf Stable. Build 41 bleibt auf einem Steam-Branch namens legacy41 verfügbar, und der Entwickler sagt, dass Spielstände aus Build 41 nicht mit Build 42 kompatibel sind.
Einen Unstable-Branch gibt es weiterhin. The Indie Stone beschreibt den Ablauf jetzt so: Ein Update geht zuerst auf Unstable, Spieler testen es, und dann wandert es auf Stable. Server und Spieler müssen auf demselben Branch und derselben Version sein, und seit 42.21 sagt das Spiel einem Spieler Bescheid, wenn er einem Server mit anderer Version beitreten will. Für eine Gruppe, die eine stabile Welt will: auf Stable bleiben und den Server mit demselben SteamCMD-Befehl aktualisieren, sobald das Spiel ein Update bekommt. Sichere vorher den Ordner Zomboid.
Um die Welt zu wipen und die Konten zu behalten, stoppst du den Server, machst ein Backup und löschst den Ordner mit dem Namen deines Servers in Saves/Multiplayer. Die Kontodatenbank in db ist davon getrennt, Spieler behalten also ihre Logins und Admins ihre Rechte. Lösch die Datenbank nur mit, wenn du einen komplett sauberen Neuanfang willst.
Das Spiel hat außerdem ein Startflag für einen Soft Reset. PZwiki dokumentiert, dass es auf der aktuellen Stable-Version nicht funktioniert, plane einen Wipe also nicht darum herum. Stopp den Server mit dem Befehl quit, der vorher speichert, und nicht durch Schließen des Fensters.