WENOPAL

How to set up a Project Zomboid dedicated server (B42)

Install the server with SteamCMD, configure it, add mods with the new Build 42 format, open the ports and manage it the easy way with Zomboid Control Panel.

Level server · Updated

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):

bash
steamcmd +force_install_dir /home/pz/servidor +login anonymous +app_update 380870 validate +quit

On 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:

FileWhat it controls
servertest.iniThe server: name, password, player count, PvP, mods
servertest_SandboxVars.luaThe world: zombies, loot, XP, power and water, infection
servertest_spawnregions.luaWhere players can spawn

Some handy lines from servertest.ini:

ini
PublicName=My zombie server
Public=false
Password=a-password-to-join
MaxPlayers=8
PVP=false

4. 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 its mod.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:

ini
WorkshopItems=111111;222222
Mods=\ModUno;\ModDos

Players 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

ini
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;\FinishHim

That 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 -Xms and -Xmx.
  • Linux: in ProjectZomboid64.json, in the server folder.
text
-Xms8g -Xmx8g

Use 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:

  1. In the Windows or Linux firewall, allow those UDP ports.
  2. On your router, create a port forwarding rule for UDP 16261-16262 pointing to the local IP of the server PC.
  3. 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:

text
setaccesslevel "YourUsername" admin

Useful commands (in the server console, or in the in-game chat with a / in front if you're an admin):

CommandWhat it does
saveSaves the world
quitSaves and shuts down the server
playersLists 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

  1. Open the panel in your browser: http://localhost:3001.
  2. Create your panel admin account.
  3. In Settings, point it to where the server is installed and to the Zomboid folder.
  4. Enable RCON in servertest.ini (the panel uses it to talk to the server) and enter the same details in the panel:
ini
RCONPort=27015
RCONPassword=a-long-different-password

If something goes wrong

  • Mods don't load: check the B42 \ in Mods=, that the Mod IDs are spelled correctly and that every mod has its number in WorkshopItems=.
  • 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.