A Project Zomboid dedicated server reads two files: servertest.ini (the server box: name, ports, password, PvP, RCON, mods) and servertest_SandboxVars.lua (the world: zombie population and lore, loot rarity, XP, weather). Here's every setting that actually matters in plain English, with the gotchas that trip people up: the zombie population scale is inverted, loot rarity tiers differ between Build 41 and Build 42, and one anti-cheat toggle is openly buggy.
servertest.ini + servertest_SandboxVars.lua: correct Lua tables, the right VERSION header, and a Build 41 / Build 42 toggle that follows the differences for you.Name, password, ports, and visibility: the file that controls the server box, not the game world.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| PublicName | The name shown in the in-game public server browser. Change it or you're one of a thousand identical "My PZ Server" entries. | My PZ Server | your name |
| Password | Required to join. Empty by default = open server. Set one to make it private (players still join via the browser or direct connect with the password). | (empty) | set one |
| DefaultPort | UDP port players connect on. Forward it on your router and open it on the firewall. | 16261 | 16261 |
| UDPPort | Secondary/direct-connect UDP port, one above the game port. Forward this one too. | 16262 | 16262 |
| MaxPlayers | Player slot cap. Each player adds simulation load: set it to what your box can actually run, not the max you'd like. | 16 | 8–16 |
| Open | On by default: anyone with the password can join. Turn off to require accounts be whitelisted before they can connect. | On | On |
| Public | Off by default. Turn on to advertise the server in the in-game public browser; leave off for a friends-only server reached by direct connect. | Off | Off |
| PVP | On by default: players can damage each other. Turn off for a pure PvE/co-op server. (This is the master PvP switch; the safety dials are in PvP & Safety.) | On | Off (co-op) |
| PauseEmpty | On by default: in-game time pauses when no one is online, so the world doesn't decay while nobody's playing. | On | On |
DefaultPort (16261) and UDPPort (16262). RCON uses a third, separate TCP port. Open all the ones you actually use.Remote console and the mod/Workshop load lists: the two lists must line up or mods silently fail.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| RCONPort | TCP port for the remote console most management tools and restart scripts use. Forward it separately from the game ports. | 27015 | 27015 |
| RCONPassword | Empty by default. Set one before enabling any tool that connects over RCON: an empty password effectively means no remote access at all. | (empty) | set one |
| Map | Map load order, semicolon-separated. Map mods usually want their map name added here, before the base map. | Muldraugh, KY | Muldraugh, KY |
| Mods | Mod load IDs (not Workshop file IDs), semicolon-separated. This list and WorkshopItems must line up for mods to actually load. | (empty) | — |
| WorkshopItems | Steam Workshop file IDs to download, semicolon-separated. Each maps to one or more mod IDs in the Mods line. | (empty) | — |
WorkshopItems is the file ID Steam downloads; Mods is the internal mod ID the game loads. They are different numbers and a mod needs both lines filled, or it downloads but never activates.The PvP safety-toggle system and damage modifiers. PvP melee is heavily nerfed vs PvE by default.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| SafetySystem | Players individually toggle PvP on/off; you can only hurt someone if at least one of you is in PvP mode. On by default. Turn off for free-for-all while PvP is enabled. | On | On |
| PVPMeleeDamageModifier | Damage multiplier for player-vs-player melee. Default 30: PvP melee is deliberately reduced far below PvE so fights aren't one-hit. | 30 | 30 |
| PVPFirearmDamageModifier | Damage multiplier for player-vs-player ranged attacks. Default 50. | 50 | 50 |
How many zombies and how fast they move. Read the gotcha below before touching the population field.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| Zombies | Coarse population step on an INVERTED legacy scale: 1 = Insane (most), 5 = None. Ships at 4. Modern PZ drives real population from the multiplier below: treat this as approximate. | 4 (Low) | leave at 4 |
| PopulationMultiplier | Fine multiplier on the overall population, 0–4. This is the real population dial in modern PZ: use it for everything between the coarse steps. Nests under ZombieConfig. | 1.0 | 0.6–1.0 |
| Distribution | Where zombies cluster. 1 = Urban Focused (denser in towns); 2 = Uniform spreads them evenly across the map. | 1 (Urban) | 1 |
| Speed | How fast zombies move. 1 = Sprinters (the hard one), 2 = Fast Shamblers (default), 3 = Shamblers (classic slow), 4 = Random. | 2 (Fast Shamblers) | 3 (Shamblers) |
Zombies field counts down, 1 is the MOST zombies (Insane), 5 is None, and it's a legacy/back-compat value. To actually thin out or pack the horde, set PopulationMultiplier (0–4); leave Zombies at its default and tune the multiplier instead.The deep zombie ruleset, strength, infection, senses, nested under ZombieLore. This is where "how hard is it" lives.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| Strength | How hard zombies hit and how easily they pull you down. 1 = Superhuman, 2 = Normal, 3 = Weak. | 2 (Normal) | 2 |
| Toughness | How much punishment a zombie takes before it drops. 1 = Tough, 2 = Normal, 3 = Fragile. | 2 (Normal) | 2 |
| Cognition | How smart zombies are. 3 = Basic Navigation (classic Romero shambler); 1 = Navigate + Use Doors makes them genuinely cunning. | 3 (Basic Navigation) | 3 |
| Transmission | How the Knox infection spreads. 1 = Blood + Saliva (default). "Everyone's Infected" makes every character turn on death regardless of bites. | 1 (Blood + Saliva) | 1 |
| Mortality | How long after a bite until you die. Apocalypse default = 2–3 Days. "Never" effectively disables death-from-bite. | 5 (2–3 Days) | 5 |
| Reanimate | How long after death a corpse rises as a zombie. Faster reanimation makes clearing bodies urgent. | 3 (0–1 Minutes) | 3 |
Speed (in Population) sets the movement type, but Strength, Toughness, and Cognition here decide whether a horde is survivable. Dialing Speed to Shamblers while leaving everything else Normal is the most common "make it less brutal" tweak.Loot scarcity and skill-gain rate. The rarity scale and its defaults DIFFER between builds: read the tip.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| FoodLoot | How much food spawns. Default Normal. The rarity scale here is shared by every loot category. | 4 (Normal) | 4 |
| WeaponLoot | Melee and firearms. Default Rare: the classic dial for how combat-heavy a server feels. | 3 (Rare) | 3 |
| AmmoLoot | Bullets and shells. Default Normal. Pair a low value with common weapons for a "guns but no ammo" feel. | 4 (Normal) | 4 |
| MedicalLoot | Bandages, pills, disinfectant. Default Normal. Drop it for a server where injuries are dangerous to treat. | 4 (Normal) | 4 |
| MechanicsLoot | Car parts and mechanic tools. Default Rare. Affects how easily players keep vehicles running. | 3 (Rare) | 3 |
| XpMultiplier | Global skill XP rate. 1.0 = vanilla. Bump to 2.0–5.0 for a faster-progression server. | 1.0 | 1.0–2.0 |
Day length, climate, and the utility shut-off timers that turn a sleepy town into a survival crunch.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| DayLength | Real-world time per in-game day. Default 3 = 1 Hour. Lower values make days fly by; longer ones suit slower, deliberate servers. | 3 (1 Hour) | 3 |
| Temperature | Overall climate. Default 3 = Normal. Colder settings make winter survival much harder. | 3 (Normal) | 3 |
| WaterShut | When the mains water cuts out. B41 default 2 = 0–30 days (randomised). After this you're on rain collectors and stored water. | 2 (0–30 Days) | 2 |
| ElecShut | When the electrical grid cuts out. B41 default 2 = 0–30 days (randomised). After this you need generators. | 2 (0–30 Days) | 2 |
Whether and how fast cleared areas refill with zombies, nested under ZombieConfig. The single most-important long-server dial.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| RespawnHours | In-game hours before zombies respawn in a cell. Default 72. Set to 0 to disable respawning entirely, popular on long-haul servers where players want cleared towns to stay clear. | 72 | 0 (long server) |
| RespawnMultiplier | Fraction of the original population that respawns each cycle. Default 0.1 (10%). Lower it for a slow trickle back. | 0.1 | 0.1 |
| RespawnUnseenHours | How many hours an area must go unseen by players before zombies can respawn there. Default 16. Only matters when respawning is enabled. | 16 | 16 |
RespawnHours to 0 rather than fighting the same horde forever. Leave it at 72 for an endlessly-dangerous world.Player base claims and a couple of survival-rhythm switches. The whole safehouse system is off until you turn it on.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| PlayerSafehouse | Let players claim safehouses. Off by default: this is the master switch for the entire safehouse system. | Off | On (group servers) |
| SafehouseAllowTrepass | Let non-members enter a claimed safehouse uninvited. On by default: turn off to lock outsiders out entirely. | On | Off |
| SafeHouseRemovalTime | Real-world hours of not visiting before a player is dropped from a safehouse. Default 144 (6 days). | 144 | 144 |
| HoursForLootRespawn | In-game hours before looted world containers refill. Default 0 = never (the usual long-server choice). Separate from sandbox loot rarity. | 0 | 0 |
| SleepAllowed | Let players sleep. Off by default on MP: sleeping fast-forwards time, which is awkward with others online. | Off | Off |
| KickFastPlayers | Anti-speedhack that kicks players moving faster than should be possible. Off by default: the game's own docs warn it's buggy. | Off | Off (buggy) |
HoursForLootRespawn at 0 also means containers never refill, which is what most persistent servers want.No single "best", but this is a comfortable group baseline that keeps the threat real without the grind being punishing. Set a join password, forward both UDP ports plus the RCON port, and pick the build your server actually runs before tuning loot.
| Setting | Value | Why |
|---|---|---|
| PVP | Off | Co-op against the dead; flip on later if your group wants it. |
| PopulationMultiplier | 0.7 | Slightly thinner than vanilla: survivable for a mixed-skill group. (Leave the legacy Zombies field alone.) |
| Speed | Shamblers | Classic slow zombies: the single biggest "make it less brutal" lever. |
| WeaponLoot | Rare | Keeps combat tense and scavenging meaningful without starving the server. |
| XpMultiplier | 1.5 | A gentle nudge so part-time players still feel progress, without trivializing skills. |
| RespawnHours | 0 | Cleared towns stay cleared: rewards effort on a persistent group server. |
| PlayerSafehouse | On | Lets the group claim and protect a base; pair with Allow Trespass off. |
| PauseEmpty | On | World doesn't decay overnight while everyone's offline. |
servertest: servertest.ini (server box: name, ports, password, PvP, RCON, mods) and servertest_SandboxVars.lua (the world: zombie population, loot, XP, weather). Both live in your user folder under Zomboid/Server/ (managed hosts expose the same two files in their editor). Stop the server before editing. PZ reads them on boot and can overwrite changes made while it's running. Edit by hand or build both with the generator.VERSION header (4 for B41, 5 for B42). In the generator, set the build toggle to the build your server actually runs and the settings follow.PopulationMultiplier (0–4, in the SandboxVars file) below 1.0: that's the real dial. Ignore the top-level Zombies field's number; it's an inverted legacy scale where 1 = the most zombies and 5 = none. Slower: set Speed to Shamblers (3). For an even gentler world, also drop Strength/Toughness toward Weak/Fragile and set Cognition to Basic Navigation. To stop cleared areas refilling, set RespawnHours to 0.servertest_SandboxVars.lua, but the tiers and stock defaults differ between Build 41 and Build 42, so set the build first. Lower numbers = scarcer. For skills, XpMultiplier sets the global rate (1.0 vanilla, bump to 2–5 for faster progression). Separately, HoursForLootRespawn in servertest.ini controls whether world containers refill over time: 0 means never.Speed setting in the SandboxVars file. Sprinters (1) run at full pace and are brutal: a few can overwhelm an unprepared player. Fast Shamblers (2) is the default: faster than a walk, slower than a run. Shamblers (3) are the classic Romero slow-walkers most co-op servers prefer. Random (4) mixes them. Speed sets the movement type; Strength, Toughness, and Cognition decide how dangerous each one is.KickFastPlayers, that's almost certainly it: the official reference openly flags it as buggy, and it can boot legitimate players during lag spikes, in vehicles, or with certain mods. Leave it off. For mod-mismatch kicks instead, the (blunt) lever is DoLuaChecksum in servertest.ini, though turning that off weakens file-integrity checking.