Source-checkedCreatures & NPCs

SpawnWatchdog - fix: no zeds spawn after wave start

by Ameisenber · for Killing Floor 2

SpawnWatchdog - fixes 'no zeds spawn after the wave starts' A tiny server-side mutator that fixes a rare vanilla KF2 bug: after a boss that summons minions (Matriarch, Patriarch, Hans, Fleshpound…

2Downloads
10d agoLast updated
Steam WorkshopSource

About SpawnWatchdog - fix: no zeds spawn after wave start

From Steam Workshop

SpawnWatchdog - fixes 'no zeds spawn after the wave starts' A tiny server-side mutator that fixes a rare vanilla KF2 bug: after a boss that summons minions (Matriarch, Patriarch, Hans, Fleshpound…

SpawnWatchdog - fixes 'no zeds spawn after the wave starts'

A tiny server-side mutator that fixes a rare vanilla KF2 bug: after a boss that summons minions (Matriarch, Patriarch, Hans, Fleshpound King, Bloat King or a custom boss based on them) the next wave starts, the trader closes, the HUD shows the new wave - but not a single zed spawns - and if it is a boss wave, the boss never appears. No error, no crash, the wave simply never ends. Custom spawner mods usually stop too: their entries wait for wave progress (1 - AIRemaining/WaveTotalAI), and without vanilla spawns that progress stays at 0 %.

Cause (KF2 SDK source)

  • KFAISpawnManager.SummonBossMinions() sets bSummoningBossMinions=true when a boss summons minions.
  • It is only reset by the boss controller (KFAIController_ZedBoss.PawnDied -> StopSummoningBossMinions). KFGameInfo_Survival.WaveEnded() does not reset it.
  • Known trigger - the Matriarch: KFPawn_ZedMatriarch.TakeDamage() checks her next-phase health threshold after the damage was applied. If a single hit kills her before she reached her last phase, the death is processed first (flag reset) and then the phase change calls SummonMinions() on the dead boss - the flag is set again and no controller is left to reset it. This hits every boss based on the Matriarch, and it gets more likely with strong weapons. Reproduced on our test server: a Matriarch killed with one hit from full health had the flag set again right after her death (twice in a row).
  • It can also happen if a boss dies while its controller has lost the pawn (log line 'Accessed None 'MyMatPawn''), then PawnDied never runs.
  • From then on GetNumAINeeded() returns 0 ('boss is dead, don't spawn minions') and IsFinishedSpawning() returns false - in every following wave. Nothing spawns and the wave can never end. If the next wave is a boss wave, even the boss itself cannot spawn.

Reproduced on a test server: with the flag forced on in a normal wave, 0 vanilla zeds spawned for 113 seconds and the wave never ended; after the reset the wave ran and ended normally. It is rare and looks random because it needs that exact timing at the boss's death. It always hits a wave right after a summoning boss died - in Endless that can also be a normal wave in which your spawner mod spawned a boss.

What the mutator does

  • Once per second it checks (in every wave, boss waves included): wave active, bSummoningBossMinions still true, but no living boss.
  • It also checks during trader time and 1 second after every kill, so a flag left behind by a boss death is cleared before the next wave even starts - no delay for the players. Otherwise, if that state lasts for 5 seconds, it calls the game's own StopSummoningBossMinions(), RefreshMonsterAliveCount() and UpdateAIRemaining() (so the wave progress is right again at once) and removes dead bosses that were never unregistered from the AI director. Spawning resumes immediately.
  • It only resets a vanilla flag. No class overrides, no CheckReplacement, no replication, nothing is downloaded by clients (server-side only). Works with Survival, Endless, Weekly, Objective, with Endless Shuffle and with any spawner mod (Zed Spawner, Spawner2, ...).
  • While a boss is alive it does nothing - then the flag is legitimate.
  • Cost: a few comparisons per second.
  • Map summary: one log line per map at match end ('map summary: 1 repair(s), 0 stall warning(s)').
  • Stall detector (log only): if a wave makes no progress at all for StallWarnSeconds (no kills, no spawns), it writes a WARN line with the most likely cause (stuck boss summoning, MaxMonsters reached by zeds that are not being killed, all zeds spawned but some stuck/hidden/fleeing, failing spawns / no free spawn volume, objective endless spawning stuck) and lists the living zeds with health, position and distance to the nearest player. It never changes anything - it only helps to find out what is going on.

Install

  • PCServer-KFEngine.ini, section [OnlineSubsystemSteamworks.KFWorkshopSteamworks]: ServerSubscribedWorkshopItems=3814286808
  • Add the mutator to your command line: ?Mutator=SWD.Mut (SWD = SpawnWatchDog) (comma separated with your other mutators)
  • On first start the server writes KFGame\Config\KFSpawnWatchdog.ini.

Config (KFSpawnWatchdog.ini)


[SWD.Mut]
ConfigVersion=2
LogLevel=LL_Info
bEnabled=True
CheckInterval=1.000000
RequireIdleSeconds=5
bLogOnly=False
bNotifyAdmins=True
StallWarnSeconds=120
  • LogLevel - LL_None (silent), LL_Warning (only detections and repairs - recommended for live servers), LL_Info (default, plus startup line), LL_Debug (plus one heartbeat line per check - diagnosis only).
  • bEnabled - master switch.
  • CheckInterval - seconds between checks (0.25 - 10).
  • RequireIdleSeconds - how long spawning must be blocked before the watchdog acts (0 = immediately).
  • bLogOnly - only report (log + admin message), never repair. Useful if you just want to know whether your server has this problem.
  • bNotifyAdmins - logged-in admins get a chat line when the watchdog acts.
  • StallWarnSeconds - warn when a wave makes no progress for this many seconds (log/admin chat only). 0 = off.

How it was verified

Read the full description on Steam Workshop →

Highlights

From source data

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 10d ago.

SpawnWatchdog - fix: no zeds spawn after wave start on Nxeon

From our catalogue
One-click install
Supported on Nxeon Killing Floor 2 servers. We download it from Steam Workshop, place it, and restart the server.
Server load
light
Smallest plan we suggest
Killing Floor 2 — 2 GB (2 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
2026-10-06, released 2026-10-06

Game versions by loader

LoaderGame versionsNewest
Workshop

From 1 recorded build of SpawnWatchdog - fix: no zeds spawn after wave start.

Run SpawnWatchdog - fix: no zeds spawn after wave start on a Killing Floor 2 server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on Steam Workshop as “Workshop”

Creatures & NPCs

Adds or changes creatures, NPCs and how they behave.

Compatibility

Game
Killing Floor 2

Verified at the source

  • ✓Steam WorkshopOfficial listing, checked 2026-10-17Open ↗
  • ✓AuthorAmeisenber, as published on Steam Workshop
  • ✓LicenseNot published by the sourceFree

SpawnWatchdog - fix: no zeds spawn after wave start, answered

Generated from the mod’s own source data.

Is it free?

Yes. SpawnWatchdog - fix: no zeds spawn after wave start is free to download from Steam Workshop.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run SpawnWatchdog - fix: no zeds spawn after wave start on a Killing Floor 2 server.

Deploy in about a minute from $5.99 a month, then add SpawnWatchdog - fix: no zeds spawn after wave start in one click.