Project Zomboid Field guide

Configuring Loot Respawn on a Project Zomboid Dedicated Server: Timers, Zones, and Safehouse Protection

Configuring loot respawn on a Project Zomboid server: LootRespawn and SeenHoursPreventLootRespawn in SandboxVars.lua, safehouse container protection, and world item cleanup.

Configuring Loot Respawn on a Project Zomboid Dedicated Server: Timers, Zones, and Safehouse Protection

On a multiplayer Project Zomboid dedicated server, canned food, tools, ammunition, and medical supplies in populated towns are quickly exhausted by the first wave of survivors. Without periodic container refreshes, newcomers are left exploring completely looted grocery stores and ransacked pharmacies. However, enabling loot respawn carelessly introduces two severe risks: overwriting player gear stored inside built bases and inflating map_p.bin world storage due to runaway JVM memory usage.

In this practical guide, we cover configuring LootRespawn and SeenHoursPreventLootRespawn inside _SandboxVars.lua, safeguarding personal crates inside claimed player safehouses, and scheduling world item removal for discarded ground clutter.

Setting Loot Cycle Timers in SandboxVars.lua#

All core item refresh schedules and visibility checks are configured within the sandbox settings file located at ~/Zomboid/Server/<ServerName>_SandboxVars.lua.

Inspect your current timer settings:

bash
grep -E "LootRespawn|SeenHours" ~/Zomboid/Server/servertest_SandboxVars.lua

For a balanced cooperative survival economy, apply the following configuration block:

lua
SandboxVars = {
    LootRespawn = 3,
    SeenHoursPreventLootRespawn = 16,
    WorldItemRemovalList = "Base.Vest,Base.Shirt,Base.Blouse",
    HoursForWorldItemRemoval = 24.0,
}
  • LootRespawn = 3 — activates a weekly container refresh interval (1 = None, 2 = Daily, 3 = Weekly, 4 = Monthly). Daily respawning floods the map economy and degrades Java Virtual Machine performance.
  • SeenHoursPreventLootRespawn = 16 — prevents containers from restocking if any survivor line-of-sight crossed the zone within the last 16 in-game hours. This keeps items from popping in directly in front of active players.
  • HoursForWorldItemRemoval = 24.0 — automatically despawns torn clothes, broken weapons, and miscellaneous ground junk after 24 hours, preventing server tick drops from accumulated loose items.

Protecting Player Safehouses and Base Storage in servertest.ini#

An administrator's biggest hazard is having player storage crates inside player bases overwritten with default kitchen spawn tables (such as frying pans and spoons) during the scheduled loot tick.

Check the safehouse loot isolation directives in the main server configuration file:

bash
grep -E "SafehouseAllowLootRespawn|PlayerSafehouse" ~/Zomboid/Server/servertest.ini

Ensure SafehouseAllowLootRespawn is explicitly disabled:

bash
sed -i 's/SafehouseAllowLootRespawn=true/SafehouseAllowLootRespawn=false/' ~/Zomboid/Server/servertest.ini

Setting this parameter to false ensures that all structures officially claimed as Safehouses by players are completely excluded from the global loot refresh routines. All custom storage, lockers, and wooden crates within safehouse perimeters remain pristine.

Applying Changes and Verifying Server Logs#

After updating sandbox variables and server settings, restart the dedicated server process to reload world parameters:

bash
sudo systemctl restart zomboid && sudo journalctl -u zomboid -n 20 --no-pager

The adjustments take effect immediately: abandoned grocery stores and unvisited suburbs refresh on schedule, while claimed safehouses and player equipment remain completely protected.

If you prefer operating a high-performance Project Zomboid instance with balanced loot schedules, automated base claiming, and optimized JVM memory pools, modern Project Zomboid dedicated game server hosting offers streamlined web console controls and sandbox variable management.

References#