Get the server files
Through Steam, filter your library for tools and install Project Zomboid Dedicated Server. Then read this twice, because it is the wiki's own warning: do not launch the server through Steam. If you already did, verify the integrity of the files before going further.
Through SteamCMD the app id is 380870. On Windows, set an install directory and pull it down:
force_install_dir C:\PZServerlogin anonymousapp_update 380870 validate
On Linux the wiki's setup is worth copying rather than improvising: do not run the server as root, make a dedicated user, install into something like /opt/pzserver, and keep the SteamCMD lines in an update_zomboid.txt script you rerun for every update.
The start script will not run as shipped
This is the single most common first failure and it is not your fault. The Windows StartServer64.bat file arrives configured for a far larger machine than most people are using. The wiki is direct about it: you must edit the -Xms and -Xmx values in that file to suit the machine you are on, or the server will not start.
Otherwise: run StartServer64.bat on Windows, or bash start-server.sh on Linux. On the first run it will ask you to set a password for the admin account it creates, and then print a line telling you whether it came up.
Two Linux habits are worth building immediately. Start the server inside tmux, so a dropped connection does not take the server with it, and reattach later with tmux a. And note that the developers explicitly discourage running Project Zomboid under systemd; the wiki links their post saying so, alongside a working unit file if you insist.
You can also give the server a name of its own with -servername SERVERNAME, which changes which ini file is read and creates a new save folder under that name. That is the clean way to run a second world without moving files around.
Two UDP ports
Project Zomboid needs two ports open, both UDP:
- 16261 UDP, the default starting port
- 16262 UDP, the direct connection port
On Linux with UFW that is sudo ufw allow 16261/udp, the same for 16262, then sudo ufw reload. If you run more than one server on the same box, each instance needs its own pair of clear UDP ports, set as DefaultPort and UDPPort in that instance's ini file.
To connect, launch the game, choose Join, open the Favorites tab, and add your public IPv4 address with the port. There is a wrinkle worth knowing before you rename anything: player map data is stored on each client against the server's address and port, so reusing port 16261 for a different world can bleed old map knowledge into the new one.
The config files are in your user folder
The server does not keep its settings beside its own files. By default it looks for a world named servertest inside your user folder, and creates it with default settings if it is not there.
| File | Windows location | What it holds |
|---|---|---|
servertest.ini | C:\Users\YourUsername\Zomboid\Server | Server configuration settings. |
servertest_SandboxVars.lua | C:\Users\YourUsername\Zomboid\Server | Sandbox settings: the rules of the world. |
servertest_spawnpoints.lua | C:\Users\YourUsername\Zomboid\Server | Custom spawn points. |
servertest_spawnregions.lua | C:\Users\YourUsername\Zomboid\Server | Which regions players may spawn in. |
servertest folder | C:\Users\YourUsername\Zomboid\Saves\Multiplayer | The generated and saved world. |
On Linux the same set sits in ~/Zomboid/Server and ~/Zomboid/Saves/Multiplayer. That whole Zomboid folder is what you copy for a backup or a move. Nothing under the install directory is worth saving.
Settings people actually change
PublicNameandPublic, which decides whether the server shows in the in-game browser.MaxPlayers, default 32, allowed from 1 to 100, not counting admins.Password, which clients must know to join, andOpen, which decides whether people can join without an account already whitelisted.PVP, on by default, andPauseEmpty, which stops game time when nobody is online.SaveWorldEveryMinutes, which is 0 by default, meaning loaded areas are usually only written when players leave them.BackupsCount(default 5),BackupsOnStart,BackupsOnVersionChangeandBackupsPeriod.RCONPort(default 27015) andRCONPassword, if you want remote console access.
You can edit servertest.ini while the server is running. Save it, then run the admin command reloadoptions to make the change live, and showoptions to confirm what the server thinks it is using.
Mods
Mods are two lines in the ini and both have to be right. Put the mod loading IDs in Mods= and the Workshop item IDs in WorkshopItems=, separated by semicolons. The mod loading ID is not the Workshop ID; the wiki points you at info.txt inside the mod folder, or at a collection ID grabber if you would rather paste a whole collection at once. Filling in one field and not the other is the usual cause of a server that starts, lists as modded, and behaves like vanilla.
Updates and version changes
Updating is the same SteamCMD command again. If you need to stay on an older build, the wiki documents the beta branch form, for example app_update 380870 -beta legacy41 validate.
Moving between major builds is where saves get hurt. The wiki documents a specific failure, "Assertion Failed: Illegal termination of worker thread", that appears when a Build 41 server and a Build 42 server have shared a machine. The fix is to check that steam_appid.txt contains only 108600, and then, only after backing up every ini, lua and save file you want to keep, remove the Zomboid folder so the newer server can rebuild it. Read that order carefully. The backup is not optional.
Self-hosting or renting
Project Zomboid is one of the friendlier games to self-host. The files are small, the settings are plain text, and one spare machine will carry a group of friends without complaint.
The costs are the familiar ones. The machine has to stay awake and should not be the one you play on. Some home connections cannot accept incoming connections at all, whatever you do to the router. Whoever hosts is the person who notices at midnight that it fell over. And the Zomboid folder is only as safe as your last copy of it.
Renting moves that list onto someone else's schedule. The sandbox settings, the mods and the backups you care about are still yours to decide.
Where RadarHost fits
RadarHost rents Project Zomboid servers hosted in Beauharnois, Quebec, Canada. There are three plans, Standard, Premium and Diamond, priced in Canadian dollars, with no setup fee and cancel any time. Renting changes who keeps the machine on, not how the ini files or the mod lists above work. After payment, our team reviews the order and emails setup details or next steps within 24 hours. Current plans and prices are on the Project Zomboid availability page.