A dedicated server is the game running on its own, with no screen, so your friends (or anyone) can join whenever they want, even when you're not playing.
What you need
- A PC running Windows or Linux (it can be yours, an old one or a VPS).
- RAM: Build 42 is fairly hungry. As a rough guide: about 8 GB for a small server with no mods and 12 to 16 GB with lots of mods. Always leave about 4 GB free for the operating system.
- A good upload speed if you're hosting it at home.
- Access to your router to open ports, or a VPS that already has them open.
1. Install the server
The server is a free Steam app (Project Zomboid Dedicated Server, ID 380870). You don't need a second copy of the game.
Option A, with Steam (Windows): in your Library, switch the filter to Tools, search for Project Zomboid Dedicated Server and install it.
Option B, with SteamCMD (Linux, a VPS, or if you'd rather do it from the command line):
steamcmd +force_install_dir /home/pz/servidor +login anonymous +app_update 380870 validate +quitOn Windows the path would be something like C:\pzserver. Since Build 42 moved to the stable branch (42.20), you no longer need -beta unstable: if an old guide tells you to use it, leave it out.
To update the server when a patch comes out, just run the same command again.
2. First launch
Inside the server folder:
- Windows:
StartServer64.bat - Linux:
./start-server.sh
The first time, it asks you to create the admin password: keep it somewhere safe. Then it creates the world and the config files. Once you see it has finished loading, type quit in the console to shut it down cleanly, and move on to configuring it.
3. Configure it
The files end up in Zomboid/Server/ (inside your user folder, not the install folder). The default name is servertest:
| File | What it controls |
|---|---|
servertest.ini | The server: name, password, player count, PvP, mods |
servertest_SandboxVars.lua | The world: zombies, loot, XP, power and water, infection |
servertest_spawnregions.lua | Where players can spawn |
Some handy lines from servertest.ini:
PublicName=My zombie server
Public=false
Password=a-password-to-join
MaxPlayers=8
PVP=false4. Add mods (Build 42 format)
servertest.ini has two lines, and you need both:
WorkshopItems=: the Workshop numbers (they're in the mod's URL,...?id=3804709719). They tell the server what to download.Mods=: the Mod IDs (shown on the mod's page or in itsmod.info). They tell it what to enable.
In Build 42 every Mod ID has a backslash in front of it, and everything is separated by semicolons:
WorkshopItems=111111;222222
Mods=\ModUno;\ModDosPlayers don't have to install anything: when they connect, the game downloads the server's mods for them.
All of Wenopal's mods, ready to copy
WorkshopItems=3804709719;3807555017;3808063480;3808063096;3807962795;3807987630;3809098058;3808063714;3809076264;3807552892;3808687623;3812219310;3814310825;3805360569;3809969909;3809969388;3813023929
Mods=\Terremoto;\tomCompleItaliano;\melvin42;\chilecars;\wanaco;\Catimbas;\jockies;\ClasicoUniversitarioZ;\TeletuZombi;\sableluz;\BatallaAura;\EmoteBubbles;\PumpkinZ;\Adornos18;\PistolaGravedad;\buzitos;\FinishHimThat is 17 mods. If you only want some of them, remove the ones you don't want from both lines: each number in WorkshopItems= matches a mod in Mods=, in the same order.
5. Give it more memory
If the server freezes or crashes with lots of players or mods, raise its memory with the -Xmx value:
- Windows: in
StartServer64.bat, look for-Xmsand-Xmx. - Linux: in
ProjectZomboid64.json, in the server folder.
-Xms8g -Xmx8gUse the same value for both, and never all of the PC's RAM.
6. Open the ports
Project Zomboid uses UDP 16261 and 16262. For other people to join over the internet:
- In the Windows or Linux firewall, allow those UDP ports.
- On your router, create a port forwarding rule for UDP 16261-16262 pointing to the local IP of the server PC.
- Look up your public IP (for example at ifconfig.me) and give it to your friends.
On a VPS, opening the ports in the provider's dashboard is usually enough.
7. Connect
In the game: Join → add the server with its IP and port 16261, plus the password if you set one. If you're on the same PC or the same network, use the local IP (127.0.0.1 on the same PC).
8. Manage it
Make yourself admin from the server console:
setaccesslevel "YourUsername" adminUseful commands (in the server console, or in the in-game chat with a / in front if you're an admin):
| Command | What it does |
|---|---|
save | Saves the world |
quit | Saves and shuts down the server |
players | Lists who's connected |
servermsg "Restart in 5 minutes" | Message to everyone |
kickuser "Name" | Kicks someone |
The easy way: Zomboid Control Panel
Managing everything by editing files works, but it's tedious. Zomboid Control Panel is a free, open-source web app (MIT license) that does it for you from your browser. Among other things, it has:
- Buttons to start, stop, restart and save.
- A console (RCON) for typing commands without logging into the machine.
- A live map with player positions.
- A Workshop mod manager, with conflict detection.
- An editor for the server configuration.
- Scheduled restarts and backups.
- A Discord bot and performance stats.
Installing it
- Windows and Linux: download the build from the repository's Releases section and follow the install guide in its documentation (
docs/install). - Docker / Unraid: it has an all-in-one installer; the command is in the project's README.
- macOS: only works through Docker (Docker Desktop or OrbStack).
First use
- Open the panel in your browser:
http://localhost:3001. - Create your panel admin account.
- In Settings, point it to where the server is installed and to the
Zomboidfolder. - Enable RCON in
servertest.ini(the panel uses it to talk to the server) and enter the same details in the panel:
RCONPort=27015
RCONPassword=a-long-different-passwordIf something goes wrong
- Mods don't load: check the B42
\inMods=, that the Mod IDs are spelled correctly and that every mod has its number inWorkshopItems=. - Nobody can get in from outside: it's almost always the ports. Test it from your own network first.
- The server crashes: check the server log (
Zomboid/server-console.txt) and the memory (-Xmx). - Version "mismatch": the server and the players have to be on the same game version. Update the server with SteamCMD.