Balancing the Blood Moon

The Blood Moon is the recurring 7-day horde event in 7 Days to Die. By default it starts at 22:00 in-game time, lasts 6 hours (ending at 04:00), and recurs every 7 in-game days. The number, type, and aggression of zombies scale with each player's Game Stage. On a multiplayer server the default settings become either trivial for small high-stage groups or unplayable for large communities — this guide walks through every server-side knob that affects the horde and how they interact.

How Blood Moon Spawning Works

Three layered limits govern how many zombies are alive at once during a Blood Moon. They all apply — the actual cap is whichever fires first.

  1. Per-player cap (BloodMoonEnemyCount) — the maximum alive at once per player. Default 8.
  2. Map-wide cap (MaxSpawnedZombies) — the total simultaneous zombies anywhere on the map. Default 64. Per the in-XML comment: "MaxSpawnedZombies overrides this number in multiplayer games."
  3. Game Stage gating — wave count and per-wave size are defined per Game Stage in gamestages.xml. Low Game Stage parties get fewer zombies than the per-player cap would suggest. Higher Game Stages get larger and more frequent waves with feral and special variants.

So on an 8-player server with all defaults: BloodMoonEnemyCount × players = 64, which exactly matches the default MaxSpawnedZombies. Any larger party — or any boost to per-player count — hits the map cap before per-player. Raising the per-player count without also raising the map cap does nothing on a busy server.

Server Settings That Shape the Horde

All defaults below are taken from our serverconfig.xml reference; the in-line tooltips quote the live game's official descriptions.

PropertyDefaultEffect
BloodMoonFrequency7In-game days between Blood Moons. Set to 0 to disable horde nights entirely.
BloodMoonRange0How many days the actual horde day can deviate randomly from the frequency. 0 = exact every Nth day.
BloodMoonWarning8Hour number on a horde day when the red number warning starts showing. −1 hides the warning entirely.
BloodMoonEnemyCount8Per-player simultaneous zombie cap during the horde. Multiply by player count to get the theoretical concurrent total — but the map cap below still applies.
MaxSpawnedZombies64Hard cap across the entire map at any moment. The single biggest server-load lever; raising this needs CPU and RAM headroom.
EnemyDifficulty00 = Normal damage/HP scaling, 1 = Feral (zombies hit harder and have more HP).
LootAbundance100Loot drop multiplier (percentage). Default 100 = 1×. Raise it on busy servers if loot scarcity becomes the bottleneck for surviving repeat hordes.

Scaling Suggestions for Server Size

There's no universally correct setting — it depends on the host's hardware and the average Game Stage of your group. The principle is: keep the simultaneous concurrent zombie load below what your CPU can simulate without the AI tick-rate dropping. Test, watch your server console for "long simulation" warnings, then adjust.

Player countConservative (smooth)Aggressive (challenging)
1–4 playersEnemyCount 8, MaxSpawned 64 (defaults)EnemyCount 12, MaxSpawned 80
5–8 playersEnemyCount 6–8, MaxSpawned 64–80EnemyCount 10, MaxSpawned 100
9–16 playersEnemyCount 4, MaxSpawned 80–100EnemyCount 6, MaxSpawned 120+
16+ playersEnemyCount 3–4, MaxSpawned 100–120Per-base instancing or split-server is more reliable than raising caps further.

The "aggressive" column assumes you've validated server CPU headroom under sustained spawning — Blood Moon is the worst-case load spike on a 7D2D server, and an under-provisioned host will desync before it crashes.

Schedule, Warnings, and Randomization

You can tune when the horde happens, not just how much:

  • Lower BloodMoonFrequency (e.g. 5) to compress the survival cycle — useful for servers with high turnover or session-based play.
  • Raise BloodMoonRange from 0 (exact) to 1–2 (small jitter) to keep regular players from stockpiling exactly the right amount of ammo for Day N. Don't go higher than 2 — too much randomness erodes the "preparation" loop the game is built around.
  • Set BloodMoonWarning to −1 if your server runs on hardcore PvP rules and you don't want the red day-counter telegraphing horde nights.

Game Stage on Multiplayer

Game Stage on a multiplayer party uses diminishing returns, not averaging. The highest-stage member contributes ×1.0, the second ×0.5, the third ×0.25, and so on. Practical implication: a single high-level player joining a low-level group will still drag the party's Game Stage upward, and therefore the Blood Moon difficulty upward — even though loot rolls for each individual are based on per-player Loot Stage. See Leveling Speedrun for the full mechanic.

Common Mistakes

  • Raising BloodMoonEnemyCount alone on busy servers — useless if MaxSpawnedZombies isn't raised proportionally; the map cap fires first.
  • Assuming "more zombies = harder horde" — Game Stage controls type and aggression. A small group with high GS will face Demolishers and Cops; a large group at low GS will get Walker waves only.
  • Ignoring EnemyDifficulty — flipping from 0 to 1 makes every zombie hit harder and tank more, which is a separate scaling axis from spawn count.
  • Not load-testing before the first horde — the worst-case spawn count happens at 22:00 sharp; if your server is under-provisioned you'll find out the worst possible way.