🧟 PZ Build 42 is out! 25% off:DOOM25
Project ZomboidProject Zomboid·Configuration

Project Zomboid Sandbox Settings Explained (Build 42)

Every Project Zomboid sandbox setting explained: population, loot, zombies, weather, vehicles. Real Pterodactyl paths and B42 defaults.

Andreas·
12 min read
·
May 7, 2026
·
Last updated: Jul 30, 2026
Table of Contents

Project Zomboid Sandbox Settings Explained (Build 42)

Project Zomboid's sandbox settings live in a single file: Pterodactyl_SandboxVars.lua. Every gameplay knob (zombie population, loot multipliers, skill XP, day length, weather) is controlled here. This is the most important file on your server. This guide explains the file as Build 42 actually writes it, with the real key names and the real defaults.

Critical: Stop the server before editing. PZ rewrites SandboxVars.lua on shutdown and will overwrite your changes if you edit while running.

Where the file lives

/home/container/.cache/Server/Pterodactyl_SandboxVars.lua

If you renamed your server, replace Pterodactyl with your server name.

How the Build 42 file is structured

Build 42 changed a lot of key names and moved several groups of settings into nested tables. A B42 file starts like this:

SandboxVars = {
    VERSION = 6,
    Zombies = 4,
    Distribution = 1,
    ...
    ZombieLore = {
        Speed = 4,
        ...
    },
    ZombieConfig = {
        PopulationMultiplier = 0.65,
        ...
    },
    MultiplierConfig = {
        Global = 1.0,
        ...
    },
}

Four things follow from that, and they are where most edits go wrong:

  • VERSION = 6 marks the Build 42 format. If your file says something lower, it was written by Build 41 and the keys below will not all be present.
  • Zombie behaviour is not top level. Speed, Sight, Hearing and friends only work inside the ZombieLore = { ... } block.
  • Population respawn and multipliers live inside ZombieConfig = { ... }.
  • Skill XP is a table (MultiplierConfig), not a single multiplier value.

Pasting a key at the top level when the game expects it inside a table is a silent no-op: the server starts fine and simply ignores it.

Zombie population

The master population control is top level, and it uses six steps, not five.

Setting Default Range What it does
Zombies 4 (Normal) 1=Insane, 2=Very High, 3=High, 4=Normal, 5=Low, 6=None Master zombie count
Distribution 1 (Urban Focused) 1=Urban Focused, 2=Uniform Where zombies concentrate
ZombieRespawn 4 (None) 1=High, 2=Normal, 3=Low, 4=None How often new zombies are added
ZombieMigrate true true/false Zombies may migrate into empty cells

Note that Zombies also drives ZombieConfig.PopulationMultiplier. The two are kept in sync by the game: Insane = 2.5, Very High = 1.6, High = 1.2, Normal = 0.65, Low = 0.15, None = 0.0.

The fine-grained population knobs are inside ZombieConfig = { ... }:

Setting Default Range What it does
PopulationMultiplier 0.65 0.0-4.0 Overall population, set by Zombies
PopulationStartMultiplier 1.0 0.0-4.0 Population on day one
PopulationPeakMultiplier 1.5 0.0-4.0 Population at the peak day
PopulationPeakDay 28 1-365 Day the population peaks
RespawnHours 0.0 0.0-8760.0 Hours before zombies may respawn in a cell. 0 disables respawning
RespawnUnseenHours 0.0 0.0-8760.0 Hours a chunk must be unseen before respawn
RespawnMultiplier 0.0 0.0-1.0 Fraction of a cell's population that respawns each cycle
ZombiesCountBeforeDelete 300 0-5000 Tracked-zombie cap before cleanup

Practical tuning: vanilla B42 ships with respawning off (RespawnHours = 0.0), so a cleared town stays cleared. If you want a long-lived server to refill, you need all three respawn keys: for example RespawnHours = 168.0, RespawnUnseenHours = 48.0, RespawnMultiplier = 0.1. Leaving RespawnMultiplier at 0.0 means nothing respawns no matter what the hours say.

Leave ZombiesCountBeforeDelete at 300. Raising it or setting it to 0 is a well-known cause of severe performance problems.

Zombie behaviour (inside `ZombieLore`)

These are the difficulty knobs, and they all live inside the ZombieLore = { ... } table. Several B42 defaults are "Random", which surprises people who expect Build 41 values.

Setting Default Scale
Speed 4 (Random) 1=Sprinters, 2=Fast Shamblers, 3=Shamblers, 4=Random
SprinterPercentage 0 0-100, only used when Speed = 4
Strength 2 (Normal) 1=Superhuman, 2=Normal, 3=Weak, 4=Random
Toughness 4 (Random) 1=Tough, 2=Normal, 3=Fragile, 4=Random
Transmission 1 (Blood and Saliva) 1=Blood and Saliva, 2=Saliva Only, 3=Everyone's Infected, 4=None
Mortality 5 (2-3 Days) 1=Instant, 2=0-30 sec, 3=0-1 min, 4=0-12 hours, 5=2-3 days, 6=1-2 weeks, 7=Never
Reanimate 3 (0-1 Minutes) 1=Instant, 2=0-30 sec, 3=0-1 min, 4=0-12 hours, 5=2-3 days, 6=1-2 weeks
Cognition 3 (Basic Navigation) 1=Navigate and Use Doors, 2=Navigate, 3=Basic Navigation, 4=Random
Memory 2 (Normal) 1=Long, 2=Normal, 3=Short, 4=None, 5=Random, 6=Random between Normal and None
Sight 5 (Random between Normal and Poor) 1=Eagle, 2=Normal, 3=Poor, 4=Random, 5=Random between Normal and Poor
Hearing 5 (Random between Normal and Poor) 1=Pinpoint, 2=Normal, 3=Poor, 4=Random, 5=Random between Normal and Poor
CrawlUnderVehicle 5 (Often) 1=Never through 7=Always
ZombiesDragDown true Zombies can pull you off a rope or ledge
ZombiesFenceLunge true Zombies lunge over low fences

There is no MemoryDuration key in Build 42, and no Smell key at all. The memory setting is Memory.

On sprinters: the default Speed = 4 is Random, and Random uses SprinterPercentage, which ships at 0. So a default B42 server has no sprinters. For an all-sprinter server set Speed = 1. For a mix, keep Speed = 4 and raise SprinterPercentage (10 to 20 is already brutal).

Loot

Build 42 replaced the old 1-5 rarity dropdowns with float multipliers, and the key names gained a New suffix. FoodLoot, WeaponLoot and OtherLoot no longer exist.

Setting Default Range Covers
FoodLootNew 0.8 0.0-4.0 Food that can rot or spoil
CannedFoodLootNew 0.6 0.0-4.0 Preserved food
WeaponLootNew 0.6 0.0-4.0 Melee weapons
RangedWeaponLootNew 1.2 0.0-4.0 Firearms
AmmoLootNew 0.6 0.0-4.0 Ammunition
MedicalLootNew 0.6 0.0-4.0 Medical items
ToolLootNew 0.6 0.0-4.0 General tools
MechanicsLootNew 0.6 0.0-4.0 Vehicle parts and mechanic tools
ClothingLootNew 0.6 0.0-4.0 Clothing
MaterialLootNew 0.6 0.0-4.0 Crafting and building materials
FarmingLootNew 0.6 0.0-4.0 Seeds, trowels, shovels
LiteratureLootNew 0.6 0.0-4.0 Books and magazines
SkillBookLoot 0.6 0.0-4.0 Skill books
KeyLootNew 0.4 0.0-4.0 Keys
OtherLootNew 0.8 0.0-4.0 Everything not in another category

A value of 1.0 is "as designed", so the stock file is already below baseline on most categories. Doubling a number roughly doubles how often that category shows up.

Loot respawn is separate, and there is no LootRespawn key in Build 42:

Setting Default What it does
HoursForLootRespawn 0 In-game hours before looted containers refill. 0 disables it
SeenHoursPreventLootRespawn 0 Blocks respawn in zones visited within this many hours
MaxItemsForLootRespawn 5 Containers with more items than this will not refill
ConstructionPreventsLootRespawn true Player-built structures in a zone stop respawns there

For long-running servers: set HoursForLootRespawn = 720 (one in-game month) and SeenHoursPreventLootRespawn = 24. Otherwise players strip the map permanently and it stays stripped.

Leave RollsMultiplier at 1.0. The file itself warns against changing it, and high values hurt performance.

Time, weather and utilities

Setting Default Notes
DayLength 4 (1 Hour, 30 Minutes) 1=15 min, 2=30 min, 3=1 hour, 4=1 hour 30 min, 5=2 hours, up to 27=Real-time
StartTime 2 (9 AM) 1=7AM, 2=9AM, 3=12PM, 4=2PM, 5=5PM, 6=9PM, 7=12AM, 8=2AM, 9=5AM
StartMonth 7 (July) 1-12
StartDay 9 Day of the month
StartYear 1 Year offset from 1993
WaterShut 2 (0-30 Days) When mains water stops. 9 disables the shutoff
ElecShut 2 (14-30 Days) When the power grid dies. 9 disables the shutoff
WaterShutModifier 14 Exact day offset used for water
ElecShutModifier 14 Exact day offset used for electricity
AlarmDecay 2 (0-30 Days) How long alarm batteries last after the power goes
Temperature 3 (Normal) Climate warmth
Rain 3 (Normal) Rainfall frequency

There is no HoursPerDay key in Build 42. Day length is DayLength, and its scale runs all the way to 27 for real-time days.

Long-running servers: push WaterShutModifier and ElecShutModifier to 60 or higher, or set WaterShut and ElecShut to 9 to disable the shutoff entirely. Otherwise month two is spent purely hauling water.

Skill XP (inside `MultiplierConfig`)

There is no XpMultiplier key. Build 42 uses a MultiplierConfig = { ... } table with a global rate plus one entry per skill.

MultiplierConfig = {
    Global = 1.0,
    GlobalToggle = true,
    Fitness = 1.0,
    Strength = 1.0,
    Woodwork = 1.0,
    ...
}
Setting Default What it does
Global 1.0 Rate at which all skills level, 0.0 to 1000.0
GlobalToggle true When true, every skill uses Global and the per-skill values are ignored
Per-skill entries 1.0 each Fitness, Strength, Aiming, Mechanics, Cooking, Blacksmith, and the rest

To triple XP across the board, set Global = 3.0 and leave GlobalToggle = true. To boost only firearms, set GlobalToggle = false and raise Aiming and Reloading. Setting a per-skill value while GlobalToggle is still true does nothing, which is the most common XP complaint we see.

Two related keys sit at the top level: CharacterFreePoints (default 0, extra points at character creation) and LevelForMediaXPCutoff (default 3).

Vehicles

Setting Default Effect
EnableVehicles true Whether vehicles spawn at all
CarSpawnRate 3 (Low) 1=None, 2=Very Low, 3=Low, 4=Normal, 5=High
ChanceHasGas 2 (Normal) 1=Low, 2=Normal, 3=High
InitialGas 2 (Low) 1=Very Low through 6=Full
LockedCar 4 (Sometimes) 1=Never through 6=Very Often
CarGeneralCondition 3 (Normal) 1=Very Low through 5=Very High
VehicleEasyUse false Removes locks and key requirements
CarGasConsumption 1.0 How gas-hungry vehicles are

World and building

Setting Default Effect
ConstructionBonusPoints 3 (Normal) Extra hit points on player-built structures
AllClothesUnlocked false All clothing available at character creation
MaxFogIntensity 1 (Normal) 1=Normal, 2=Moderate, 3=Low, 4=None
MaxRainFxIntensity 1 (Normal) 1=Normal, 2=Moderate, 3=Low
EnableSnowOnGround true Snow accumulates on the ground
Basement.SpawnFrequency 4 (Sometimes) Build 42 basements, inside the Basement = { ... } table
Map.AllowWorldMap true Inside the Map = { ... } table, with AllowMiniMap (false by default)

Note that MaxFogIntensity and MaxRainFxIntensity are integer steps in Build 42, not the 0.0-1.0 floats they used to be. Writing MaxFogIntensity = 0.0 is not "no fog", it is an invalid step.

Editing the file safely

  1. Stop the server from your panel. This is non-negotiable
  2. Open /home/container/.cache/Server/Pterodactyl_SandboxVars.lua in the file manager or over SFTP
  3. Find the setting with Ctrl+F, and check whether it sits at the top level or inside ZombieLore, ZombieConfig, MultiplierConfig, Map or Basement
  4. Change only the value after =. Leave the key name, the comma and the surrounding braces alone
  5. Save the file
  6. Start the server

Values must be valid Lua: Speed = 1, not Speed = "Sprinters". Booleans are bare true / false, never quoted. Multiplier keys take decimals (FoodLootNew = 1.2), step keys take whole numbers (CarSpawnRate = 4).

If the server refuses to boot after an edit, you almost certainly dropped a comma or a closing brace. The console will name the line.

Which changes apply to an existing world

Sandbox settings are read at world creation, so a lot of them only affect terrain that has not been generated yet. Settings that do take effect on an existing save after a restart:

  • Everything in ZombieLore (Speed, Strength, Cognition, Sight, Hearing)
  • The respawn keys in ZombieConfig (RespawnHours, RespawnUnseenHours, RespawnMultiplier)
  • Loot respawn (HoursForLootRespawn, SeenHoursPreventLootRespawn)
  • MultiplierConfig XP rates
  • Utility shutoff timings, as long as the shutoff has not already happened

Settings that do not retroactively change an existing world:

  • StartMonth, StartDay, StartTime, StartYear
  • The *LootNew multipliers, for containers that already generated
  • CarSpawnRate and vehicle placement in explored chunks
  • Basement.SpawnFrequency, since basements are placed with the chunk

Sandbox presets

Project Zomboid ships with built-in presets you can apply from the in-game Custom Sandbox menu before generating a world: Apocalypse (the default), Survivor, Survival, Builder, Initial Infection, Six Months Later. On a dedicated server there is no preset picker, so the practical route is to configure the preset in a singleplayer game, then copy the values out of that save's SandboxVars.lua into your server file. Keep the nesting intact when you copy.

FAQ

My changes keep getting reverted. You edited while the server was running. PZ saved its in-memory state on shutdown and overwrote your file. Always stop the server first.

I changed a zombie setting and nothing happened. You almost certainly put it at the top level. Speed, Sight, Hearing, Memory, Toughness and the rest only work inside the ZombieLore = { ... } table. The same trap catches RespawnHours, which belongs inside ZombieConfig.

Why do my zombies respawn even though I set RespawnHours? Or the reverse: nothing respawns. All three keys matter. RespawnHours sets the cycle, RespawnUnseenHours gates it on visibility, and RespawnMultiplier decides how many come back. B42 ships all three effectively off.

Where is XpMultiplier? Gone. Build 42 uses MultiplierConfig.Global, with GlobalToggle = true to make it apply to every skill.

Can I change settings live with /changeoption? Only a small subset (PVP, max players, voice settings). Sandbox values cannot be changed live, they need a restart.

Where can I find the full vanilla defaults? Boot a fresh server. The panel generates SandboxVars.lua with every default on first start, and the file carries an inline comment above each key listing its scale and default. That file is the reference, not an old Build 41 guide.

Will a higher zombie population hurt server performance? Yes, significantly. Doubling PopulationPeakMultiplier adds roughly 30% to RAM usage and CPU load. Plan with our RAM calculator.

Do mods add their own sandbox settings? Some do. Mods that register sandbox options add their fields automatically when loaded, and they appear in SandboxVars.lua after the next server start.

Project Zomboid

Start your Project Zomboid Server

High performance hosting with 24/7 support