Move a Project Zomboid World and Mods to a Dedicated Server

Published on

Which files and versions you need to move a Project Zomboid world and its Workshop mods to a dedicated server, for Build 42 and legacy41, with a test first.

Spiffo, the raccoon mascot of Project Zomboid, with a backpack in the rain while zombies crowd in behind him

Your group has a Project Zomboid world worth keeping, on a hosted co-op game, a PC at home or another host, and you want it on a dedicated server with every Workshop mod still in place. The question behind every move is the same: which files and versions do I need? This guide answers it for Build 42 and Build 41 from The Indie Stone's patch notes, Steam's own branch data and the official PZwiki.

Quick answer: Copy the four settings files from Zomboid/Server (<name>.ini, <name>_SandboxVars.lua, <name>_spawnregions.lua and <name>_spawnpoints.lua), the world folder Zomboid/Saves/Multiplayer/<name> and the file with the same name in Zomboid/db, and keep the server name. Run the new server on the branch the world was saved on: the default branch (42.21 on 7 November 2026) for Build 42, or legacy41 (41.78.21) for Build 41, and have every player switch to that branch too. Your mods travel inside the .ini on the WorkshopItems=, Mods= and Map= lines, so copy them unchanged. A hosted co-op world moves the same way. For a singleplayer save there is no documented route, and a singleplayer character can't come along.

Which files and versions do I need?

A Project Zomboid server names its files after itself: servertest, unless it was started with -servername. They sit in the Zomboid folder of the user that runs the server, C:\Users\<you>\Zomboid on Windows and ~/Zomboid on Linux, according to the PZwiki page on the dedicated server:

File or folderWhereWhat it holds
<name>.iniZomboid/ServerServer settings: name, ports, passwords and the mod lines
<name>_SandboxVars.luaZomboid/ServerSandbox settings such as zombies, loot and time
<name>_spawnregions.luaZomboid/ServerThe towns players can start in
<name>_spawnpoints.luaZomboid/ServerCustom spawn points
<name> folderZomboid/Saves/MultiplayerThe world itself
file named <name>Zomboid/dbThe server's own file; the wiki says to reuse its name when you bring back a server you set up before

Copy the folders complete rather than picking files out of them. Build 42 keeps player data in a separate players.db file, one the 42.14.0 notes freed from a 64KB limit, and you don't want to find out later that one piece stayed behind.

Two lines in the .ini matter more than they look: ResetID and ServerPlayerID. The wiki's server settings page says they decide whether a character comes from another server or from single player, that a player can be made to create a new character because of them, and that it is "strongly advised that you backup these IDs somewhere". Moving the old .ini as a whole keeps both. If you only paste your mod lines into a fresh .ini on the new server, the IDs are whatever that server wrote.

Match the branch on the server and on every PC

Steam listed the same four branches for the game (app 108600) and the dedicated server (app 380870) on 7 November 2026:

BranchVersion on 7 November 2026Use it for
default42.21, since 28 September 2026Build 42 worlds
pre-release42.22.2, released 6 NovemberTesting the next patch on a copy
legacy4141.78.21Build 41 worlds
42.1942.19.2Finishing a world from the old 42.19 Unstable

The Indie Stone's rules for each:

  • A Build 41 world stays on Build 41. "Build 41 savegames clearly will not be compatible with Build 42," says the B42 checklist, which sends server owners who want to carry on to legacy41, a branch "for you (and your players)". The 42.20.1 hotfix even fixed "an issue that would allow broken B41 worlds to be hosted on B42 servers". Our Build 42 update guide covers the choice between a fresh Build 42 world and staying on 41.
  • A 42.19 world stays on 42.19. Those saves did not carry over to 42.20 "due to additional map content being added", the same checklist says, which is why the 42.19 branch exists.
  • Pre-Release is for copies. The Indie Stone "cannot guarantee that the save will work" there, and keeps each build on Pre-Release "for at least one week" before it reaches Stable. Move the live world only when the new version is on the default branch.

Players switch in Steam: right-click Project Zomboid, choose Properties, open Game Versions & Betas and pick the branch, the steps from the checklist. Since 42.21, a player on a different game version gets a notification when they try to connect, so a mismatch at least announces itself.

On a server you install yourself, the wiki's SteamCMD command takes the branch after -beta:

app_update 380870 -beta legacy41 validate

Without -beta, app_update 380870 validate installs the default branch. In Steam's data the Pre-Release branch is called pre-release.

The mod lines move inside the .ini

Your mods are three lines in <name>.ini. WorkshopItems= lists the Workshop IDs for the server to download, each "separated by a semicolon", as in the wiki's example WorkshopItems=514427485;513111049. Mods= holds the Mod IDs, and Map= the map folders, with Muldraugh, KY as the default. Copy the .ini and all three move with it, in the same order. Players don't have to subscribe first: the wiki says Workshop mods added to the server "will be downloaded automatically on connecting client machines".

Build 42 changed how mod IDs work. In October 2023 The Indie Stone wrote that "the game's use of ModIDs has been altered to be appended by the workshop ID of each mod", so that reuploads and modpacks sharing one ModID stop causing file mismatch errors, and 42.15.0 "Fixed ModID, WorkshopID logic". Two things follow for a move:

  • Keep each world's own mod lines. A Build 41 world on legacy41 keeps the lines Build 41 wrote, and a Build 42 world keeps the lines Build 42 wrote. Don't paste one into the other.
  • If you have to rebuild the lines, let the game write them. We found no exact Build 42 Mods= syntax in The Indie Stone's patch notes, so set the mods under Host and Manage Settings on your PC and copy the three lines from the .ini it saves, as our Build 42 mods guide shows. That guide also explains the Build 42 mod folder layout, and what to do when a listed mod has been taken down from the Workshop and the server won't start.

Moving a hosted co-op world

When you play through Host, the game runs a local multiplayer server on your PC; the wiki even compares the dedicated server's memory setting to the Server Memory option under Host. It also uses the same settings files: the profile you create or edit under Host and Manage Settings is the <name>.ini and its .lua files in Zomboid/Server.

  1. Close the hosted game so its server saves and stops.
  2. Write down the settings name you hosted with and the game version.
  3. Copy the four settings files with that name from Zomboid/Server, the folder with that name from Zomboid/Saves/Multiplayer and the file with that name from Zomboid/db. The wiki documents Saves/Multiplayer for a server's world, not for Host in so many words, so check that the folder was last changed on the day you last played. Keep one copy on your PC that you don't touch.
  4. Upload them to the new server and start it under the same name, which on a server you run yourself means -servername <name> on the start line.

The wiki lists one problem that belongs to exactly this move. If you connect with a profile you used on a server "previously hosted using the in-game 'Host' function", your character can end up stuck in the void. Its fix is a new account name in the server's entry under Favorites ("player" becomes "player_1"), after which "your new character should be placed at one of the ordinary spawn positions". That is a new character, so try your old profile first and keep the fix for when you are really stuck.

Moving from another host

The files are the same; these checks come on top:

  1. Stop the old server cleanly. In its console, save saves the world and quit saves and stops the server (wiki). Then download the four settings files, the world folder and the db file. A host's file manager may show the Zomboid folder in another place, but Server, Saves and db sit side by side in it.
  2. Note the branch, the version and the server name the old host used.
  3. Replace, don't merge. If the new server has already started once, it generated a fresh world and default settings under its name, as the wiki says it does when it finds no data. Stop it and put your files in place of those.
  4. Keep the new host's ports. Your copied .ini carries the old DefaultPort (16261 by default) and UDPPort (16262 by default). Before the first start, set them to the ports the new host gave you, and do the same for RCONPort if you use RCON.

Moving a singleplayer save: what you can and can't keep

Neither The Indie Stone's patch notes nor the PZwiki pages we read describe turning a singleplayer world into a server world, so we give no steps for it. Workarounds you find on forums come from players, not from the developer; if you try one, do it on a copy.

What you can keep:

  • Your sandbox settings. Set them again under Host and Manage Settings, which writes <name>_SandboxVars.lua; the wiki says the server uses those files at its next successful start.
  • Your mod list. The same Workshop items go on WorkshopItems=, with their Mod IDs on Mods= and map folders on Map=.

What you can't:

  • Your character. ServerPlayerID exists to tell a character from single player or another server apart, and such a player has to create a new character.
  • The world itself, as far as the official sources go.

Test before you invite anyone

  1. Start the server and watch the console until it reports that it started. The wiki says a message shows success or failure, and 42.20.0 fixed the "SERVER STARTED" log line.
  2. Type showoptions in the console. It lists the current server options and values; compare the name, password and the three mod lines with your old .ini.
  3. Join on your own. In the game, open Join and Favorites, add the server's IP address and port, and log in with the username and password you used on the old server.
  4. Check what matters to your group: your character and skills, a base, a stocked container and a vehicle, with the mods active.
  5. Save, quit and start again. Run save and quit, start the server, join once more and check that your changes stayed.
  6. Leave the server's own backups on. Check that BackupsOnStart and BackupsOnVersionChange are true in the .ini; BackupsCount keeps five by default. Keep your untouched copy of the old files as well until the group has played a few evenings.

Then tell everyone the address and the branch, and announce it in game with servermsg. If a player is kicked with "File doesn't exist on the client", our fix for that error goes through the causes; since 42.15.0 the game also gives a better error message "when clients are missing a mod from the server". For admin rights on the new server, our admin commands guide covers setaccesslevel.

Our Project Zomboid server hosting runs the current stable branch, so a Build 42 world on 42.21 fits, in nine regions: the Netherlands, Germany, Poland, Canada, USA (California), USA (Virginia), Singapore, India and Australia. You add the Workshop IDs and Mod IDs in the panel and they download when the server starts, the sandbox settings can be changed in the panel too, and plans go from 4GB to 12GB of RAM. Server and players have to be on the same branch, so if your world is on legacy41, ask us before you order.

FAQ

Can I move a Project Zomboid singleplayer save to a dedicated server?

Not in a way The Indie Stone or the PZwiki documents. You can recreate your sandbox settings under Host and Manage Settings and reuse your mod list, but your singleplayer character can't join, because ServerPlayerID makes players with a character from single player create a new one.

Which files do I need to move a Project Zomboid server?

<name>.ini, <name>_SandboxVars.lua, <name>_spawnregions.lua and <name>_spawnpoints.lua from Zomboid/Server, the world folder from Zomboid/Saves/Multiplayer and the file with the same name from Zomboid/db. servertest is the default name.

Will my Build 41 world run on a Build 42 server?

No. The Indie Stone says Build 41 savegames are not compatible with Build 42. Run the server on the legacy41 branch and have every player select legacy41 in Steam.

Do my players have to subscribe to the mods again?

No. The wiki says Workshop mods added to the server download automatically when players connect. They do need the same game branch as the server.

Why is my character stuck in the void after moving a hosted world?

The wiki ties it to connecting with a profile from a world you hosted with the Host button. Change the account name in the server's Favorites entry and you join as a new character at a normal spawn point.

Sources

Opened on 7 November 2026:

PZwiki, in the page versions revised for 42.20.0 and 42.20.2 that were current on 25 October 2026: