Skip to content

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.

Updated August 19, 2026
Project Zomboid

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 legacy41 Steam 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.

DefaultPort and RCONPort are not yours to choose

Project Zomboid uses the port you give it plus the one directly above it for Steam, and the panel allocates that pair together. 16261 and 16262 are the stock numbers and yours will usually differ — leave DefaultPort as you found it and read your real value off the Network tab.

RCONPort is 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 typing 27015 into 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 quantityZombies = 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,
    },
}
<servername>_SandboxVars.lua

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 SandboxVars file onto the server. It is much faster than looking up what FoodRotSpeed = 3 means, and it cannot produce an invalid combination.

It is Lua, and a syntax error stops the server

Unlike the INI file, _SandboxVars.lua is 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
<servername>.ini
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's mod.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 in Mods. 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.

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