Skip to content
Game panel

Change your Project Zomboid server settings

Project ZomboidIntermediateBuild 41 · Build 42

Change the settings for the profile your server actually loads, then check the result in game. Keep a backup so you can undo an edit that fails.

What you'll do
  1. Identify the active profile and build
  2. Stop and back up the server
  3. Change one setting
  4. Restart and check its effect
  • Server INI (<name>.ini): dedicated server options such as PauseEmpty and safehouse permissions. Build 41 also stores HoursForLootRespawn here.
  • Sandbox file (<name>_SandboxVars.lua): world rules such as zombie population and day length. The checked Build 42 sample also stores loot respawn and XP options here, with MultiplierConfig.Global for global XP. A Build 41-era sample uses XpMultiplier instead.
  • In-game admin options: an admin account can change settings in game. A saved admin change may update the profile you planned to edit. Check the resulting file and behavior; do not assume an admin change is immediate or survives every restart.

The profile name identifies the matching INI, sandbox file and save. Check Save/Config Name in the panel’s Startup area if shown, then compare it with the file names in Files. Pterodactyl is the public Pterodactyl egg’s default name, not proof of your active OXY profile. Some setups use .cache/Server/; others use Zomboid/Server/. If the name, build or data root is unclear, ask support to identify the active profile before editing.

  1. Note the installed build and Save/Config Name if shown. In Files, match <name>.ini with <name>_SandboxVars.lua. If the names do not match or more than one profile exists, stop and ask support.

  2. Tell players about the restart, then stop the server. Make and download a panel backup. Check that it includes the matching settings and save before editing.

  3. Open the matching file in Files. Find the exact key in the table below in your generated file. Change only that value, keeping Lua commas and braces or INI key=value syntax intact. Save the file and reopen it to confirm the value persisted. If your build has a different key or file, do not add a guessed duplicate.

  4. Start the server and check the console for errors. Join and test the specific effect. For respawn, allow the configured in-game interval and other conditions. If the change fails, stop the server and restore the backed-up file or ask support.

The Build 42 rows below describe one published configuration sample with no known minor version. They are examples, not a list of keys guaranteed on every Build 42 server. Use the keys and allowed values printed in your own generated file. A multiplier changes future calculations, not existing progress.

GoalFile and exact keyMeaning and unitValid exampleExisting-world limit
Zombie populationSandbox: ZombieConfig.PopulationMultiplierDesired population multiplier, unitlessPopulationMultiplier = 1.0, inside ZombieConfigDoes not remove zombies already present; population also depends on start/peak options.
Zombie respawnSandbox: ZombieConfig.RespawnHoursMinimum interval in in-game hours; zero disables respawnRespawnHours = 0.0, inside ZombieConfigExisting zombies remain. A nonzero interval also depends on unseen time and respawn fraction.
Loot respawn, Build 42Sandbox: HoursForLootRespawnInterval in in-game hours; zero disables itHoursForLootRespawn = 72,Applies to eligible looted containers after the interval; other loot restrictions still apply.
Loot respawn, Build 41INI: HoursForLootRespawnInterval in in-game hours; zero disables itHoursForLootRespawn=72Existing loot is not refreshed immediately; container and area rules still apply.
XP, checked Build 42 sampleSandbox: MultiplierConfig.GlobalMultiplier for XP earned after the change, unitlessGlobal = 2.0, inside MultiplierConfig with GlobalToggle = true,Does not recalculate earned XP or existing skill levels. Check the toggle in your generated file.
XP, Build 41Sandbox: XpMultiplierMultiplier for XP gained after the change, unitlessXpMultiplier = 2.0,Does not recalculate earned XP or existing skill levels.
Day lengthSandbox: DayLengthPreset for real time per in-game day; in the checked Build 42 sample, 3 means 1 hourDayLength = 3,Changes time progression; it does not rewind the world clock. Check the choices in your build.
Pause when emptyINI: PauseEmptyBoolean: whether the world clock pauses without connected playersPauseEmpty=trueDoes not undo time already elapsed. Check the clock after everyone disconnects.
Player safehouse claimsINI: PlayerSafehouseBoolean: allow players to claim eligible safehousesPlayerSafehouse=trueDoes not grant an existing character a claim automatically; survival time, building and other safehouse rules can still apply.

Compare Save/Config Name with both matching file names and the save. An old servertest file can sit beside the active profile. Do not rename or delete files to test a guess; ask support when the active name is uncertain.

Reopen the file after saving and after the restart. If the value changed back, record the before/after values and check whether you also changed it through in-game admin options or Startup. Send those details to support rather than repeatedly overwriting files.

Did you restart and wait for the right effect?

Section titled “Did you restart and wait for the right effect?”

File edits should be checked after a stop and start. Zombie and loot respawn need their in-game intervals and eligibility conditions. Existing map areas and characters may retain earlier state; XP already earned will not be recalculated. A restart alone does not prove every world setting changed.

  • Change one key at a time: it is easier to identify which edit caused an unexpected result.
  • Keep your recovery copy: restore the world with the matching build and files if a wider recovery is needed.
  • Send useful details: give support the build, profile name, key, intended value and observed behavior; leave passwords out.

Host your own Project Zomboid server

Play together on your own server

View Project Zomboid hosting