Blog
How to Set Up a Project Zomboid Server: A Build 42 Guide
Published:

1. Where will the server run?
There are two options: your own computer or a rented server (VPS/VDS). On your own computer the server only runs while the computer is on, and players outside need a port forward on your router. A rented server stays up all day and does not load your home connection; you can pick Linux or Windows.
Put the server close to your players to keep latency (ping) low. Zomboid is not a fast-paced game, so a server in a neighbouring region usually plays fine.
2. Memory and CPU
The server runs on Java, and how much memory it uses is set with -Xmx (in StartServer64.bat on Windows, in ProjectZomboid64.json on Linux). For a small group you can start with 4 GB and raise it as mods and players grow. Leave 1-2 GB free on the machine for the operating system.
Zomboid depends heavily on single-core speed. A server with fewer but fast, dedicated (not shared) cores runs smoother than one with many slow cores.
3. Installing with SteamCMD
The dedicated server is a separate Steam app (app ID 380870) and can be downloaded without buying the game. On Linux you log in to SteamCMD anonymously and download it with app_update 380870 validate; on Windows it is also listed in the Tools section of your Steam library as Project Zomboid Dedicated Server.
The server starts with start-server.sh on Linux and StartServer64.bat on Windows. If you give it a name with -servername, the settings files are created under that name. On the first start it asks for the admin account password; pick a strong one.
4. The settings files
The settings live in Zomboid/Server in the user folder: an .ini file with the server name (servertest.ini by default) and a _SandboxVars.lua file with the game rules. The .ini holds the listed name (PublicName), whether the server shows in the list (Public), the join password (Password), the player limit (MaxPlayers) and PvP; the sandbox file holds rules such as zombie population, loot rarity and when power and water shut off.
Usernames with non-ASCII letters are refused by default. If your players use accented letters, set AllowNonAsciiUsername=true in the .ini. Changes take effect when the server restarts.
5. Ports and the firewall
Players connect on UDP ports 16261 and 16262 by default; open both on the firewall and, if needed, on your router. If you want to manage the server remotely with RCON, set RCONPort (27015 TCP by default) and RCONPassword; do not open that port to everyone, only to your own address.
On a rented server, log in over SSH with a key only, disable password and root logins, and leave only the ports you need open on the firewall. This is about the machine rather than the game, but neglecting it can cost you the whole server.
6. Adding mods from the Steam Workshop
Mods are added with two lines in the .ini file: the WorkshopItems line takes the Workshop item IDs and the Mods line takes the mod IDs, separated by semicolons. The server downloads the mods itself when it starts, and players download the same mods when they join.
Build 42 and Build 41 mods are not compatible; check which version a mod was made for. Mods load in the order of the Mods line, which matters for mods that depend on each other. Many large mods mean a long download on first join; asking players to subscribe to a Workshop collection first makes joining faster.
7. Updates and version mismatch
When the game updates on Steam, players' games update automatically. If the server stays on the old version nobody can join and players see a version mismatch error. So when an update comes out, stop the server and run the same app_update command in SteamCMD again.
Back up the save folder (Zomboid/Saves/Multiplayer) before updating. The server and the players must be on the same branch: if one is on Build 42 and the other on Build 41, they cannot connect.
8. Administration and backups
To give a player permissions in Build 42 use /setaccesslevel "playername" admin (the level is written without quotes; other levels are moderator, gm, observer and user). /kickuser kicks a player and /banuser bans one.
Take an automatic daily backup of the save folder and keep at least a few days of backups. A corrupted map or a rogue admin can wipe out a world played for months overnight; a backup is the only way back.
Let us set up your server
Our own Project Zomboid server, Kurtlar Sofrası, was set up with these same steps; on top of it we wrote systems such as clans, a control point and daily quests in Lua ourselves.
If you would rather not deal with it, we set up your game server: machine security, game and mod installation, automatic backups and update scripts included. Game server setup starts from $20 with us.
Related service
Game and Discord Server SetupStarting from $20