So you've been playing Project Zomboid solo, you've cleared half a town, your safehouse has a working generator, and you'd rather not start from scratch just because you finally convinced three friends to join you. Good news. You can lift the whole world across to a dedicated server and keep going. It takes a few minutes, some care with file paths, and one match between folder names that people keep getting wrong.
Where Project Zomboid Saves Live on Your PC
Project Zomboid keeps everything under a single folder in your user directory – singleplayer worlds, multiplayer caches, in-game backups, server configs if you've ever hosted locally, sandbox presets, logs, the lot:
C:\Users\<your-username>\Zomboid\
Quickest way there is Win+R, paste %UserProfile%\Zomboid, hit Enter. Inside you'll see Saves, Server, Backups, Logs, Sandbox Presets, and a handful of others. The one we care about right now is Saves.
Open Saves and you'll find a folder per game mode: Apocalypse, Survivor, Builder, Sandbox, plus Multiplayer if you've ever joined an MP server. Singleplayer worlds sit inside whichever mode they were started in, named after whatever you typed at world creation. So an Apocalypse run called "Knox Falls" ends up at:
C:\Users\<you>\Zomboid\Saves\Apocalypse\Knox Falls\
Note down that exact folder name. We need it in a minute.
Two Things Before You Upload Anything
Both matter. Skipping either is how saves get corrupted.
Stop the server first. Head to control.low.ms, find your Project Zomboid service, stop it. PZ writes to its world files constantly during play, not just on save intervals, so uploading on top of a running server is an express route to a trashed players.db.
Take a Cloud Backup. Even on a brand-new server with nothing worth keeping, do it. In the LOW.MS Control Panel, click Cloud Backup in the sidebar and create one. It takes seconds and it's your escape hatch if anything goes sideways.
Uploading via File Manager
The browser File Manager works fine for most uploads. Here's the run:
- Log into control.low.ms and open your Project Zomboid service
- Click
File Managerin the sidebar - Navigate to
Zomboid/Saves/Multiplayer/ - If a folder called
servertestalready exists from the server's first boot, rename it toservertest-old(or delete it once you've confirmed your Cloud Backup is good) - Upload your singleplayer world folder from your PC into
Multiplayer/ - Rename the uploaded folder to
servertest
File Manager handles folders in one go, which is handy. That said, PZ saves grow. A long-running world with explored cities, a vehicle stash and a few hundred modded items can easily push past a gigabyte once you count chunk files and SQLite data. Once you're shifting anything that size, SFTP tends to be the happier option.
Uploading via SFTP
SFTP is on port 8822. Grab WinSCP or FileZilla. Connection details are in Service Settings on the panel.
- Protocol – SFTP
- Host – your server's address, shown in Service Settings
- Port – 8822
- Username and password – same as your panel credentials
Once you're in, navigate to Zomboid/Saves/Multiplayer/ on the server side and drag your local world folder across. Rename it to servertest after the transfer finishes. SFTP gives you a real progress bar and recovers from dropped connections, which the browser File Manager doesn't.
Server Name and Folder Name Have to Match
This is the step people forget, and then they wonder why the server boots into a fresh empty world while their 400-hour save sits untouched on disk.
Project Zomboid uses one identifier for the whole server. It's the name of your config file (servertest.ini by default), the name of your sandbox file (servertest_SandboxVars.lua), and the name of your world folder under Saves/Multiplayer/. All three have to match.
On a default LOW.MS Project Zomboid server, the name is servertest. So your uploaded world needs to end up here:
Zomboid/Saves/Multiplayer/servertest/
If you've changed the name via the -servername startup argument or Commandline Manager in the panel, use whatever you set it to. The matching .ini and _SandboxVars.lua live in Zomboid/Server/. If they don't exist for your chosen name, PZ creates fresh ones on first boot with default sandbox values.
If you're moving a world from a previous server with a different name (say oldserver to servertest), the cleanest route is to rename on the LOW.MS side to match. Set -servername "oldserver" via Commandline Manager and skip the file renames. That avoids touching the databases at all, which is always the safer play.
Bringing Your Sandbox Settings With You
Sandbox settings (zombie speed, loot rarity, day length, respawn rules) are baked into the world folder in map_sand.bin. That file moves with the world folder when you upload, so the settings you played singleplayer with stay attached to the world itself.
The servertest_SandboxVars.lua file in Zomboid/Server/ is separate. It seeds new worlds. An already-generated world ignores it unless you wipe and regenerate. So importing your SP save brings the settings across automatically – no extra steps needed.
If you specifically want the server's Lua file to match what you played with, the honest answer is: export a Sandbox Preset from the in-game menu before you upload, then copy the preset file from C:\Users\<you>\Zomboid\Sandbox Presets\ onto the server. The filename and extension for presets aren't consistent between versions, so take a look at what's in that folder after you save a preset and you'll see what you're working with.
For a tour of every sandbox value worth knowing about, the Project Zomboid server configuration guide covers them in detail.
Starting Back Up
Start the server from the panel. Give it a minute or two. First boot with an imported save is slower than a normal start because PZ has to validate the chunk files (map_*.bin), open the SQLite databases (players.db, vehicles.db), and rebuild a few caches.
Open Web Console in the sidebar and watch the log scroll. You're waiting for the line about the server being ready for connections. Once it's up, grab your IP and port from Service Settings and direct-connect from the in-game Join menu.
What's Actually in a PZ Save
For the curious, here's what you just moved:
map_*.bin– the world chunk files, one per chunk. Custom binary format, not human-editable.map_t.bin– in-game time and a few bits of world metadata.map_sand.bin– the sandbox settings snapshot for this world.players.db– SQLite database holding character data in Build 41 and later.vehicles.db– SQLite database for vehicles.
The two .db files you can open with any SQLite browser if you need to unstick a dead character or a wedged vehicle. You can also break them badly, so take a backup before you poke around.
One version note worth flagging: a Build 41 save will not load on a Build 42 server, or vice versa. If your local client and the server are on different branches, get them aligned before you upload. On the server side that's done via Switch to Latest Experimental (or the equivalent opt-in) in the panel sidebar. On the client, it's the b42unstable Steam beta opt-in. PZ will refuse to load a mismatched save rather than trying to migrate, which is the correct behaviour but catches people out.
If it all goes sideways after upload, that's what your Cloud Backup is for. Open Cloud Restore, pick the backup you took earlier, you're back where you started. PZ also writes its own in-game backups to Zomboid/Backups/ if BackupsCount is above zero in your config – a useful second safety net once things are running.
For the rest of the tuning work after your world is live, the server configuration guide picks up where this one stops.