Setup · 9 min read
How to host a Project Zomboid dedicated server
Set up a Project Zomboid Build 42 dedicated server on Windows or Linux: SteamCMD app 380870, the memory line to edit, UDP 16261 and 16262, and joining.
Last checked
Short answer
StartServer64.bat on Windows or start-server.sh on Linux and type an admin password when it asks. Forward UDP ports 16261 and 16262. Friends choose Join, Favorites, Add Server and enter your address and port 16261. Build 42 is the default Steam branch; Build 41 is on legacy41.Three ways to host
| Host button in the game | Dedicated server on your PC | Rented server | |
|---|---|---|---|
| What runs the world | Host button in the gameA server the host's game starts on the host's PC | Dedicated server on your PCThe dedicated server on a PC you keep switched on | Rented serverThe same server software on the host's machine |
| Who has to be there | Host button in the gameThe host, playing | Dedicated server on your PCNobody | Rented serverNobody |
| Router setup | Host button in the gameNot covered here | Dedicated server on your PCForward two UDP ports, or let UPnP try | Rented serverNone |
| Settings | Host button in the gameIn the game's menus | Dedicated server on your PCservertest.ini and a sandbox file | Rented serverThe same files, edited in a panel |
A note on sources: this guide rests on The Indie Stone's Steam announcements, the server's own files as Steam ships them today, and our own tests.
Hosting from the game
The main menu's Host button starts a server on your own PC, in the background, and puts you in it. Its screen has its own Server memory setting, and it needs no separate install. The game's Steam page also lists local split-screen co-op.
One detail from the server's settings file: the Password setting is “ignored when hosting a server via the Host button”. And the world is only there while you are. The Steam page describes the alternative as “persistent player-run servers”, and that's what the rest of this guide sets up: a world that's there whether or not any one of you is playing.
What your own PC needs
The Indie Stone publish no server figures that we could find. The memory the server asks for is set in its own start files, and it's more than many PCs can spare:
| Need | Detail |
|---|---|
| Memory, as shipped | DetailWindows: StartServer64.bat sets -Xms16g -Xmx16g, 16 GB from the start. Linux: ProjectZomboid64.json sets -Xmx8g |
| Memory, in our tests | DetailThe server started with 6 GB available and held about 1.1 GB with nobody online (3 October 2026, an earlier build) |
| Disk | DetailAbout 7.3 GB for the install in our tests, plus your world and mods |
| System | Detail64-bit Windows or Linux. The Linux start script says “Only 64bit is supported” |
| Steam account | DetailNot needed for the download: SteamCMD's anonymous login worked in our tests |
Memory grows with players, explored map and Workshop mods. The RAM calculator gives our estimate for your group and mod count.
Ports to open on your router
| Port | Protocol | Setting in servertest.ini | What it's for |
|---|---|---|---|
| 16261 | ProtocolUDP | Setting in servertest.iniDefaultPort=16261 | What it's forPlayer data. The port friends type |
| 16262 | ProtocolUDP | Setting in servertest.iniUDPPort=16262 | What it's forThe second of the two ports the game uses |
Both are UDP, and you need both. The comment on DefaultPort in the game's own file calls it “one of two ports used”. Guides that say only 16261 matters are out of date. In our tests the server listened on these two UDP ports and on no TCP game port.
The file also ships with UPnP=true. The server will try to set up the forwarding on a router that supports UPnP, and the file says it falls back to the default ports if that fails. If friends can't connect, forward both ports by hand to the PC running the server, give that PC a fixed address on your home network, and let the server through the PC's firewall.
Set it up, step by step
- Install the server. In Steam it's in your library as a tool. With SteamCMD:
steamcmd +force_install_dir ~/pzserver +login anonymous +app_update 380870 validate +quitOn Windows, run
steamcmd.exewith the same arguments and a Windows folder. Steam installs Build 42 (42.22.2 Stable today). For Build 41, add-beta legacy41beforevalidate; the server and every player must be on the same build. - Set the memory before the first start, to what the PC can spare. On Windows, open
StartServer64.batin the install folder and change both numbers in-Xms16g -Xmx16g, for example to-Xms4g -Xmx6g. On Linux, change-Xmx8ginProjectZomboid64.json;start-server.shitself says to edit that file. An update, or SteamCMD'svalidate, can put the shipped numbers back, so check them afterwards. - Start it. Windows: run
StartServer64.bat. Linux:./start-server.sh. The first start prints “Enter new administrator password:” and then “Confirm the password:”. That creates the admin account, calledadmin. - Wait for
*** SERVER STARTED ****in the console. That took about a minute in our tests. Typequitto stop it so it saves cleanly. - The first start writes the settings files, named after the server:
servertestunless you start it with-servername. Edit them while the server is stopped (see the next section). - Forward UDP 16261 and 16262, then start it again.
On Linux you can skip the prompt by adding -adminpassword and a password to the start command, but anyone who can list the PC's processes can read it there. On Windows, StartServer64.bat passes on only the first two words after its name, so StartServer64.bat -servername mygroup works and a longer list is cut short.
Where the files are
The server keeps everything in a folder called Zomboid in your user folder, not in the install folder:
| What | Windows | Linux |
|---|---|---|
| Settings | WindowsC:\Users\<you>\Zomboid\Server\servertest.ini | Linux~/Zomboid/Server/servertest.ini |
| World rules | WindowsZomboid\Server\servertest_SandboxVars.lua | Linux~/Zomboid/Server/servertest_SandboxVars.lua |
| The world | WindowsZomboid\Saves\Multiplayer\servertest | Linux~/Zomboid/Saves/Multiplayer/servertest |
The same Server folder holds the spawn files, and -cachedir= moves the whole Zomboid folder somewhere else. Copy the world folder before a big update or a new mod.
The settings to change first
These are in servertest.ini. The descriptions are from the comments in the game's own file. The servertest.ini generator has every setting, with its default and range.
| Setting | Game default | What it does |
|---|---|---|
PublicName= | Game defaultset your own | What it doesThe name shown in the in-game browser |
Password= | Game defaultempty | What it does“Clients must know this password to join the server” |
MaxPlayers= | Game default32 | What it doesFrom 1 to 254, admins not counted. Above 32 the file warns of “poor map streaming and desync” |
Public= | Game defaultfalse | What it doesShows the server in the in-game browser. Off by default |
Open= | Game defaulttrue | What it doesLets players join without an account on the whitelist |
PauseEmpty= | Game defaulttrue | What it doesStops game time when nobody is online |
WorkshopItems=, Mods= | Game defaultempty | What it doesWorkshop item IDs, and the mod IDs from each mod's mod.info |
A starting point for a private group of six, with two Workshop items:
PublicName=Our Zomboid world
Password=pick-a-join-password
MaxPlayers=6
Public=false
Open=true
WorkshopItems=514427485;513111049The Workshop IDs are the file's own example, separated by semicolons; use the number at the end of each mod's Workshop page address. A Workshop item can hold more than one mod, so its page usually says which mod IDs to put in Mods=. The sandbox rules for the world, such as zombie numbers and loot, are in servertest_SandboxVars.lua, and the sandbox settings generator builds that file from the game's own presets. The game also keeps its own older copies of the world: BackupsCount=5, and one whenever the version changes (BackupsOnVersionChange=true).
How friends join
In Project Zomboid, friends go to Join, then Favorites, then Add Server. They put your public address in IP/Domain and 16261 in Port, and the join password in Server Password if you set one. The game also asks for an Account Username and Account Password. That's their own account on your server, which they make up the first time; it isn't the join password.
Players on the same home network as the server can fill in the optional Local IP box with the server PC's local address. You sign in as admin the same way, with admin and the password from the first start.
Your server won't be in the in-game list unless you set Public=true, and friends don't need it to be. The file notes that Steam-enabled servers are always visible in Steam's own server browser.
Everyone needs the same build and the same mods as the server. After a Project Zomboid update, update the server too (stop it and run the SteamCMD command again) and check your mods have caught up.
Build 42, Build 41 and Pre-Release
- Build 42 is the default. It has been the Stable branch since 42.20.0 on 29 July 2026, and 42.22.2 came out on 9 November 2026. Many guides still treat Build 41 as stable.
- Build 41 is on the
legacy41branch, for the server and in Steam (Properties, Game Versions & Betas) for players. - The
unstablebranch is gone. The Indie Stone replaced it withpre-release, where a build sits for at least a week before it becomes Stable. - Saves. After a build update the game asks to convert a save and keeps a
_backupcopy. The Indie Stone say they can't provide technical support for modded saves, so take your own copy before a big update.
Traps
- The 16 GB start file. On Windows the server asks for 16 GB before anyone joins. Change it before the first start.
- One port forwarded. The game uses two UDP ports, 16261 and 16262.
- Editing the wrong file.
servertest.iniis in your user'sZomboid\Serverfolder, not in the install folder. - Looking for it in the list.
Publicisfalseby default. Join by address. - Mixed builds or mods. A player on another build or missing a mod is turned away. Keep everyone on the same branch.
If the server runs but nobody can find or join it, see Project Zomboid server not showing, or friends can't join?, which goes through each message the game shows.
Common questions
How much memory should I give it?
There is no developer figure. Ours start at 6 GB for the whole server, and our test server held about 1.1 GB with nobody online; players, explored map and mods add to that. Leave room for Windows or Linux and anything else the PC runs.
How do I make someone else an admin?
Once they have joined once, type this in the server console (the game's levels are Admin, Moderator, Overseer, GM and Observer):
setaccesslevel "theirname" "admin"In the game, an admin types the same command with a / in front.
Can I move my single-player world onto the server?
The map can come over, but not the character. With the server stopped, copy your world's save folder over the server's, Zomboid\Saves\Multiplayer\servertest, keeping the server's name. Everyone starts a new character. Keep a copy of both first.
Renting a server instead
This section is about our Project Zomboid servers only. Several details differ from the home setup above.
Each of our servers gets its own port, so friends type the address and port the panel shows, which may not be 16261. We open both UDP ports. You choose the admin and join passwords when you create the server, so there's no console prompt. Change the join password in the panel, not in servertest.ini: the panel writes it into the file at every start.
Ours set the Java memory limit to three quarters of the server's memory at every start, so the 16 GB and 8 GB lines never apply. They start at 6 GB and allow 10 players by default, where the game's own default is 32. Workshop and mod IDs go in the panel's settings editor, and the server downloads them when it starts.
To bring a world, zip the save's folder and upload it from the panel's Files page. We check it first, and the server's old world is kept for 7 days so you can undo. From a single-player save the map comes over and everyone starts a new character. Players register again the first time they join; their accounts stay with the old server.
Each server checks for a game update every time it starts. Keep your own copy: download your files from the panel's Files page, as one .zip or over SFTP. Sizes are on the pricing page, and servers are rented by the pass: a day, a week or a month. When a pass ends the server stops and its files are kept for 30 days.
Game facts checked against Project Zomboid 42.22.2.