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.