Project Zomboid Server Settings and Config Files
All four Project Zomboid config files explained: the server INI, SandboxVars gameplay rules, and why mods need both WorkshopItems and Mods lines to load.
Project Zomboid splits its configuration across four files, and which one you need depends on what you are changing: the server's identity and rules live in an INI file, the world's gameplay rules live in a Lua file, and two more Lua files control where players spawn. This guide covers all four, plus the mod configuration that trips up nearly everyone.
This guide covers Build 42
Build 42 has been Project Zomboid's stable public branch since 29 July 2026 and is currently 42.20.3. Servers deliberately kept on Build 41 run the
legacy41Steam branch (app_update 380870 -beta legacy41 validate); expect some differences from what is documented here.
The four files
They sit in the server data folder, typically Zomboid/Server/, and they are named after your server:
| File | Controls |
|---|---|
<servername>.ini |
Server identity, slots, PvP, mods, RCON, backups |
<servername>_SandboxVars.lua |
Gameplay rules — zombies, loot, weather, time |
<servername>_spawnregions.lua |
Which spawn regions (towns) players can choose |
<servername>_spawnpoints.lua |
Exact spawn coordinates, set per occupation |
The default <servername> is servertest, so out of the box you are looking for servertest.ini.
Renaming the server gives you a brand-new config
Project Zomboid loads the config matching the server name it is started with. Change that name and it will not find your existing files — it generates a fresh set at defaults, and your tuned settings appear to have vanished. They have not; they are still on disk under the old name. Either keep the name or rename all four files to match.
The main INI file
The settings people actually change:
| Setting | Notes |
|---|---|
PublicName / PublicDescription |
How the server appears in the browser |
Public |
true to list it publicly |
Open |
Whether new players may connect at all |
Password |
Server password. Blank for none |
MaxPlayers |
Slot count |
PVP |
true for PvP, false for PvE |
PauseEmpty |
Pauses the world when nobody is online |
GlobalChat |
Server-wide chat channel |
ServerWelcomeMessage |
Shown on join |
AutoCreateUserInWhiteList |
Auto-registers connecting players |
DropOffWhiteListAfterDeath |
Removes players from the whitelist when they die |
SafetySystem |
The PvP safety toggle system |
Loot and world persistence
| Setting | Notes |
|---|---|
HoursForLootRespawn |
0 disables loot respawn entirely |
MaxItemsForLootRespawn |
Cap per container |
ConstructionPreventsLootRespawn |
Player building blocks respawn in that area |
SaveWorldEveryMinutes |
0 uses the engine default |
Backups
Project Zomboid keeps its own backups, separate from those on your rented Project Zomboid server:
| Setting | Notes |
|---|---|
BackupsCount |
How many to retain |
BackupsOnStart |
Back up on every boot |
BackupsOnVersionChange |
Back up before a game update applies |
BackupsPeriod |
Minutes between periodic backups. 0 disables |
BackupsOnVersionChange is worth leaving on — PZ updates occasionally change save formats, and it is the cheapest insurance available. It is still not a substitute for the Backups tab; see How to Create a Backup.
DefaultPortandRCONPortare not yours to chooseProject Zomboid uses the port you give it plus the one directly above it for Steam, and the panel allocates that pair together.
16261and16262are the stock numbers and yours will usually differ — leaveDefaultPortas you found it and read your real value off the Network tab.
RCONPortis a placeholder rather than a working default. RCON needs an allocation of its own before anything will answer on it, so add one from the Network tab rather than typing27015into the file.
Sandbox settings — the gameplay rules
<servername>_SandboxVars.lua is where the world's character is set. Almost every value is an index, not a quantity — Zombies = 3 does not mean three zombies, it means preset 3.
SandboxVars = {
Zombies = 3, -- 1=Insane, 2=High, 3=Normal, 4=Low, 5=None
Distribution = 1, -- 1=Urban Focused, 2=Uniform
DayLength = 3, -- 1=15min, 2=30min, 3=1hr, 4=2hr...
StartMonth = 7,
StartTime = 2, -- 1=7am, 2=9am, 3=noon, 4=2pm, 5=5pm, 6=9pm, 7=midnight
WaterShut = 14, -- Days until water is cut
ElecShut = 14, -- Days until power is cut
LootRespawn = 1, -- 1=None, 2=Every Day, 3=Every Week, 4=Every Month
FoodRotSpeed = 3, -- 1=Very Fast, 5=Very Slow
StatsDecrease = 3, -- 1=Very Fast, 5=Very Slow
XpMultiplier = 1.0,
ZombieLore = {
Speed = 2, -- 1=Sprinters, 2=Fast Shamblers, 3=Shamblers
Strength = 2, -- 1=Superhuman, 2=Normal, 3=Weak
Cognition = 3, -- 3=Basic navigation
Memory = 2,
Sight = 2,
Hearing = 2,
},
} ZombieLore is the sub-table that decides how the game actually feels. Speed = 1 turns every zombie into a sprinter, which is a far larger change than raising the population.
Build the sandbox file in game rather than by hand
Start a local game, open Host → Server Settings, configure everything through the proper UI with real labels instead of index numbers, then copy the generated
SandboxVarsfile onto the server. It is much faster than looking up whatFoodRotSpeed = 3means, and it cannot produce an invalid combination.
It is Lua, and a syntax error stops the server
Unlike the INI file,
_SandboxVars.luais code. A missing comma or brace prevents the server starting rather than falling back to defaults. Keep a copy of a working file before editing.
Mods: two settings, and you need both
This is the most common Project Zomboid configuration mistake. Two different lines, two different kinds of identifier:
WorkshopItems=2392709985;2857548524
Mods=Authentic Z - Current;tsarslib | Setting | Takes | Purpose |
|---|---|---|
WorkshopItems |
Numeric Workshop IDs — the number in the Steam URL | Tells Steam what to download |
Mods |
Text Mod IDs — from the mod's own mod.info |
Tells the game what to activate |
Setting only WorkshopItems downloads the files and loads nothing. Setting only Mods activates something the server never fetched.
The Mod ID is not the folder name and not the Workshop title
It is the
id=field inside the mod'smod.info. It usually resembles the folder name but is not guaranteed to match, and it is never the display name shown on Steam.One Workshop item can also contain several mods. A single package might bundle a weapons pack, a UI tweak and a translation, each with its own Mod ID — one entry in
WorkshopItems, three inMods. Read the mod's Steam description; authors usually list the IDs to add.
Load order in Mods matters where mods depend on each other — library mods such as tsarslib must come before whatever needs them.
Applying changes
The INI does not need a restart. Save your edits to <servername>.ini while the server is running, then run /reloadoptions in admin chat: it re-reads the server options and pushes them to connected clients. To change a single value without touching the file at all, use /changeoption optionName "newValue".
/reloadoptions covers the server options in the INI only — it does not reload the Lua files, so sandbox and spawn changes still mean stopping the server, editing, and starting it again.
For the commands themselves and the access level they need, see Project Zomboid Admin Setup.
What to read next
- Getting started with your Project Zomboid server — first boot and connecting
- Project Zomboid Admin Setup — admin access and moderation
- Installing Workshop Mods on Project Zomboid — the full mod workflow
- How to use your server panel — where the Network and File Manager tabs live
FAQ
Where are the Project Zomboid server config files?
In Zomboid/Server/, named after your server — servertest.ini, servertest_SandboxVars.lua, servertest_spawnregions.lua and servertest_spawnpoints.lua by default. That is four files, not three.
Why did my server settings reset?
Most often the server name changed, so Project Zomboid looked for a config that did not exist and generated a fresh one. The old files are still on disk under the previous name.
Why are my mods not loading?
You almost certainly set WorkshopItems but not Mods, or used the wrong kind of ID. WorkshopItems takes the numeric Workshop ID; Mods takes the text Mod ID from mod.info. Both lines are required.
What is the difference between WorkshopItems and Mods?
WorkshopItems is what gets downloaded. Mods is what gets switched on. A single Workshop item can contain several mods, so the lists are not always the same length.
How do I make zombies sprinters?
ZombieLore.Speed = 1 in the SandboxVars file. That single value changes the game more than any population setting.
Do I need to restart after editing?
Not for the INI. Save <servername>.ini with the server running and then run /reloadoptions to apply it live. The Lua files — SandboxVars and the two spawn files — are read at startup, so those changes do need a restart.
How do I turn off loot respawn?
HoursForLootRespawn=0 in the INI, and LootRespawn = 1 (None) in SandboxVars.
Made with 💜 by GameServerKings

Need a Project Zomboid server?
Deploy an instantly-provisioned Project Zomboid server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $5.40 /month