AI Dynamic Spawner

by OnlyBans21

0.0.16

Every successful spawn wave now triggers a 30–60 second global break.
Recent player deaths and high encounter intensity increase the break.
Larger, capable teams receive slightly shorter breaks.
Existing AI continue fighting; the break only prevents new Director waves.
Existing PEAK_FADE and RELAX phases still provide longer downtime.
Failed spawns retry after 3 seconds without consuming a break.
Debug logging now reports NextWaveSeconds.
Game Version
1.8.0.13
Created
Wed, 09 Sep 2026 21:27:45 GMT
Last Modified
Wed, 09 Sep 2026 21:27:51 GMT

0.0.15

Fixed Base Spawner prefab not spawning AI via Editor.
Game Version
1.8.0.10
Created
Tue, 18 Aug 2026 22:34:06 GMT
Last Modified
Tue, 18 Aug 2026 22:34:18 GMT

0.0.14

1. AI Director intelligence improvements
Reduced the AI operational leash from 600 metres to 450 metres around the AI’s original spawner.
Director-issued movement destinations are clamped inside that boundary, giving an effective maximum destination distance of approximately 425 metres.
Director-controlled spawning remains within 125–300 metres of living players.
Engagement must occur within 350 metres to reset the abandonment timer.
Living AI that has not engaged for three minutes is removed to free server resources.
Player clustering and threat budgets
Players are organized into 225-metre local clusters.
Each cluster receives its own threat budget based on:
Number of living players.
Recent player survival.
Player deaths and damage.
How quickly players eliminate AI.
Learned player capability.
Current Director tempo.
GM pressure setting.
Existing AI already fighting that cluster.
More players and more successful players receive heavier encounters.
Smaller or struggling groups receive fewer and less intense encounters.
Existing AI consumes part of the cluster’s budget so the Director does not blindly keep spawning.
Intelligent spawn-point selection
The Director now scores eligible spawn points using:
Distance from players.
Local threat deficit.
Whether the location is visible to players.
Recent use of that spawner.
Historical success or failure at that location.
Learned effectiveness of the selected AI.
Whether the spawn area is currently pressured or recovering.
Exploration value for new or under-tested locations.
Selection is intentionally not completely deterministic:
70% chance to use the highest-scoring location.
20% chance to choose among near-equivalent locations.
10% controlled exploration of an underused location.
This keeps encounters varied without randomly spawning AI at unsuitable or distant points.
2. Spawn-area pressure and fallback learning
The Director now understands when a spawn point or cluster of nearby spawn points is being overwhelmed.
Each area can be:
Stable
Pressured
Overrun
Recovering
Changes include:
Rapid AI eliminations add pressure to the source spawner.
Nearby spawn points within 175 metres absorb 55% of that pressure.
Repeated fast wipes can mark an area Overrun.
Overrun spawn points are excluded for a dynamic 90–180 second rest period.
After resting, the point enters a 60-second Recovering state with a strong selection penalty.
Pressure decays gradually to prevent locations from rapidly switching states.
If every valid local location is Overrun, the Director delays spawning instead of selecting a distant spawner across the map.
Existing AI is never teleported or artificially retreated. The system only changes where future reinforcements originate.
Persistent location knowledge
The Director records map-specific spawn-location risk.
Fast wipes teach it that a location is dangerous or predictable.
Long, successful encounters reduce learned risk.
Nearby spawn markers receive partial observations.
Knowledge decays after restarts so one bad result does not permanently blacklist a location.
Learning persistence was upgraded to version 3.
Older version 1 and version 2 learning files still migrate forward.
3. AI prefab and tactical learning
The Director now maintains an encounter ledger for successful spawns.
It records:
AI prefab.
Source spawner.
Selected tactic.
Player-cluster size.
Threat estimate.
Player position snapshot at spawn time.
Time until engagement.
Encounter result.
Whether the AI was abandoned or eliminated.
Technical spawning or replication failures.
The Director learns:
Prefab effectiveness.
Approximate threat cost.
Engagement responsiveness.
Whether a prefab follows standard waypoint orders.
Whether it responds slowly.
Whether it relies on its own native behavior.
Whether it is technically unsupported or repeatedly fails replication checks.
Compatibility profiles include:
Responsive
Delayed
Native Behavior
Unsupported
Vanilla and modded AI remain treated as independent black boxes. We do not copy or depend on Bacon Zombies or another mod’s private scripts. The Director discovers loaded GM-selectable AI, observes results, and adjusts future selection weights.
New and updated modded content still receives controlled testing so an old failure does not permanently exclude it.
4. Expanded Director tactics
The Director can now choose between:
Direct attack.
Flanking approach.
Containment.
Reinforcement.
Search party.
Heavy assault.
Recovery/relaxed encounter.
These tactics remain bounded by:
The player-position snapshot captured when AI spawns.
The 450-metre operational leash.
Local player clusters.
Available threat budget.
Learned prefab compatibility.
The Director does not continuously record every player’s location every five seconds. AI receives a destination based on the player position captured when the encounter starts. After reaching that area, it searches or transitions into its native combat behavior.
5. GM Director dashboard
A new controller-compatible Director dashboard was added to the AI selection interface.
It reports:
Current Director tempo.
Living-player clusters.
Active groups.
Active agents.
Current threat budget.
Learned player capability.
Encounter intensity.
GM pressure setting.
Learned prefab profiles.
Stable, Pressured, Overrun, and Recovering spawn-area counts.
Learned location-risk samples.
Authorized GMs can:
Pause Director spawning.
Resume Director spawning.
Force a relaxation phase.
Increase or decrease pressure.
Reset learned intelligence with two-step confirmation.
Dashboard requests and controls use reliable owner/server RPCs. The server rejects requests unless the player has an open, unrestricted GM editor.
6. Dedicated Game Master Content category
The editable entities now use the proper Game Master Content registration system.
Changes include:
Added the dedicated Content category AI Dynamic Spawn.
Removed ownership under the generic Modded Content filter.
Added the addon-owned CONTENT_AI_DYNAMIC_SPAWNER label.
Added the proper SCR_EditableEntityCoreLabelSetting.
Registered the editable prefabs through the standard Compositions registry.
Removed the superseded standalone registry and Editor Mode injection.
Confirmed that the base editable spawner can be spawned through the GM Content Browser.
Loot Stashes was reviewed only as a structural reference. No code, prefab, GUID, image, enum value, or resource was copied from that mod.
7. New editable thumbnail
Added an original 400×300 thumbnail for the editable spawner.
It depicts:
An amber tactical spawn beacon.
Generic AI moving through woodland.
A blue player marker.
No official logos.
No third-party material.
No flags, text, or watermark.
The PNG source and Workbench-ready EDDS resource are registered and assigned to the editable entity’s GM card.
8. Linked player-trigger spawning system
Four new prefabs were added:
AI_Dynamic_Spawner_Trigger_Base
E_AI_Dynamic_Spawner_Trigger_Base
AI_Dynamic_TriggerSpawn_Base
E_AI_Dynamic_TriggerSpawn_Base
Trigger behavior
The trigger generates a unique six-character ID.
IDs begin with **** followed by two unambiguous characters, such as AIDS7K.
Random allocation is used first.
A deterministic scan provides collision-safe fallback IDs.
One trigger can activate multiple destinations sharing the same ID.
The trigger defaults to a 25-metre spherical radius.
It only detects living players.
It defaults to One Shot.
When One Shot is disabled, it uses a configurable rearm cooldown.
It only consumes a one-shot activation if at least one destination successfully spawns AI.
Trigger destination behavior
The linked destination exposes:
Linked Trigger ID.
Trigger spawning enabled/disabled.
AI Spawn Selection.
AI Difficulty.
It defaults to:
Empty AI selection.
Regular difficulty.
One maximum active spawn.
No automatic interval spawning.
No Director interval spawning.
No trigger link until configured.
Irrelevant normal spawner settings are hidden from these trigger entities.
9. Trigger detection correction
The original native trigger callback did not fire reliably for GM-spawned runtime triggers.
It was replaced with an authority-only player proximity system:
Checks players every 500 milliseconds.
Runs only on server authority.
Filters out dead or invalid controlled entities.
Uses squared distance instead of square-root distance calculations.
Detects only an outside-to-inside transition.
Does not repeatedly fire while a player remains inside.
Native trigger polling is disabled to prevent duplicate work.
Diagnostic messages were added for:
Trigger initialization.
Player entry.
Missing linked destination.
Disabled destination.
Empty AI selection.
Active-spawn limit.
Authoritative spawn rejection.
Successful linked spawning.
10. Standalone character movement correction
The trigger could successfully spawn a character prefab while that character remained static.
The cause was that standalone characters were placed inside an editable AI group without guaranteeing that their AI agent was active and attached to that group.
The corrected flow now:
Activates the character’s AI control component.
Retrieves its AIAgent.
Creates the authoritative group.
Explicitly attaches the agent to the new group.
Rejects and cleans up the spawn if no usable AI controller or agent exists.
Confirms the spawned hierarchy contains the required replication components.
Initial deployment orders
Initial movement now uses the vanilla Forced Move waypoint.
AI receives a destination based on the player’s position when it spawns.
The destination is normally offset approximately 20–40 metres from the player.
Once AI reaches the recorded location, it transitions into search, patrol, or its native combat behavior.
AI is not continuously ordered to chase a live player across the map.
Deployment audits run at:
0.5 seconds.
2 seconds.
5 seconds.
10 seconds.
These audits check:
Attached agent count.
Whether the correct waypoint was accepted.
Distance moved.
Whether another prefab script replaced the waypoint.
Whether the prefab refuses standard group orders.
If the initial order is displaced, the Director can reissue the Forced Move order during this limited deployment window.
11. Corpse and garbage-system correction
Previously, eliminated AI could be deleted immediately because eliminated groups and abandoned living groups used the same cleanup function.
That was corrected.
When AI is killed:
The Director removes its waypoint and internal tracking.
Dead agents are detached.
The empty group controller is deleted.
Dead character bodies remain in the world.
The scenario’s vanilla garbage system or compatible garbage-system mod controls corpse removal.
Living abandoned AI is handled differently:
AI with no qualifying engagement for three minutes is hard-despawned.
Invalid or unreplicated spawns are still immediately removed.
Removing a spawner still cleans up its invalid living encounter state.
12. One-shot persistence correction
A saved one-shot trigger could restore as already consumed and never activate after a restart.
The corrected behavior is:
Trigger link ID persists.
Enabled state persists.
Radius persists.
One Shot selection persists.
Rearm cooldown persists.
Armed/consumed state is now treated as temporary session state.
Every restored trigger starts armed.
Restoring a trigger clears its inside-player cache so a player already standing in the area can be detected.
Old saved triggerArmed: false values no longer make the trigger permanently inert.
The JSON field remains present for backward compatibility.
A warning is now produced if a player enters an already-consumed one-shot trigger during the same server session.
13. Replication and multiplayer authority improvements
All three runtime entity types retain:
RplComponent.
Hierarchy support.
Server-authoritative spawning.
Replicated GM-editable properties.
Replication.BumpMe() after authoritative configuration changes.
The three editable children inherit the complete runtime behavior and add the editable-entity component.
Additional safeguards include:
AI prefabs without a root RplComponent are rejected.
AI groups without a replicated group hierarchy are rejected.
Controlled characters are checked for authoritative replication.
Spawning, link detection, Director decisions, and persistence execute only on authority.
Client proxies do not start server schedulers.
GM RPCs are reliable and server-validated.
Persistence authority now prefers the game mode’s RplComponent and uses Replication.IsMaster() only as an offline/Workbench fallback.
14. Server-performance improvements
A full performance audit found that ordinary spawners were still independently enumerating players and owning separate one-second callbacks.
That has now been corrected.
Shared player snapshot
Added AIDS_ServerPlayerSnapshot:
It is now the only addon system calling PlayerManager.GetPlayers().
It refreshes no more often than every 500 milliseconds.
Triggers, ordinary spawners, pursuit logic, and the Director reuse the same data.
Player IDs, entities, alive states, living entities, and positions use reusable arrays.
Player lookups are no longer repeated once per spawner.
No per-tick temporary player arrays are allocated by every spawner.
Central spawner scheduler
Added AIDS_SpawnerUpdateRegistry:
One authority-only scheduler updates all normal spawners once per second.
Spawners register during server initialization.
They unregister during teardown.
The system replaces one repeating callback per placed spawner.
Invalid entries are pruned.
The scheduler stops rescheduling when no authority spawner remains.
Cheap early exits were added for:
Disabled spawners.
Empty spawners.
Spawners on cooldown.
Idle spawners.
Director spawners without tracked AI requiring lifecycle work.
Disabled or unlinked triggers.
Director safety limits
Current hard limits remain:
24 active groups.
96 active agents.
256 registered Director spawners.
96 evaluated spawn candidates.
128 encounter-ledger records.
One line-of-sight trace candidate per Director second.
Persistence throttling
Configuration/world changes are debounced for three seconds.
Transform scans run every ten seconds.
Learning persistence runs every five minutes.
A/B rotating snapshots protect against incomplete writes.
No player-distance evaluation causes a JSON save.
No per-tick RPC or replication update is generated.
Trigger polling remains read-only until an actual entry activation occurs.
15. Verification completed
Final Workbench compile:
5,674 Game script files.
11,143 classes.
32,430 KiB static script memory.
CRC32 31a636d0.
No addon-owned compiler error.
Static validation passes:
Project structure.
.gproj.
Prefabs.
Resource references.
There are 18 documented validator warnings:
One enum-only labels file.
Validator API-index misses for addon-defined GM attribute classes.
Those classes compile and load successfully, so these warnings are not runtime failures.
Runtime smoke test
The final local authority test successfully:
Restored persisted trigger AIDSTX.
Detected player 1 entering.
Located the matching linked destination.
Spawned the configured standalone OPFOR character.
Attached one initial AI agent.
Assigned a forced deployment destination.
Activated the linked destination.
Released the eliminated body to the normal scenario garbage system.
Produced no addon-owned script, RPL, or network error after activation.
Temporary Workbench testing handlers were removed and are not present in the addon.
Remaining release verification
The current build has passed source, compilation, prefab, reference, authority, and local runtime checks.
The remaining production-level checks are:
Dedicated-server soak testing with the intended player count.
Large numbers of placed spawners and triggers.
Remote client replication.
Join-in-progress behavior.
Long-running Director learning and persistence.
Real server frame-time measurements.
Multi-point pressure/fallback threshold tuning.
Visual confirmation of the exact AI Dynamic Spawn filter title in every supported GM interface.
Extended movement testing for third-party AI prefabs that replace or ignore standard waypoints.
Game Version
1.8.0.10
Created
Tue, 18 Aug 2026 21:05:48 GMT
Last Modified
Tue, 18 Aug 2026 21:06:00 GMT

0.0.13

1. AI Director intelligence improvements
Reduced the AI operational leash from 600 metres to 450 metres around the AI’s original spawner.
Director-issued movement destinations are clamped inside that boundary, giving an effective maximum destination distance of approximately 425 metres.
Director-controlled spawning remains within 125–300 metres of living players.
Engagement must occur within 350 metres to reset the abandonment timer.
Living AI that has not engaged for three minutes is removed to free server resources.
Player clustering and threat budgets
Players are organized into 225-metre local clusters.
Each cluster receives its own threat budget based on:
Number of living players.
Recent player survival.
Player deaths and damage.
How quickly players eliminate AI.
Learned player capability.
Current Director tempo.
GM pressure setting.
Existing AI already fighting that cluster.
More players and more successful players receive heavier encounters.
Smaller or struggling groups receive fewer and less intense encounters.
Existing AI consumes part of the cluster’s budget so the Director does not blindly keep spawning.
Intelligent spawn-point selection
The Director now scores eligible spawn points using:
Distance from players.
Local threat deficit.
Whether the location is visible to players.
Recent use of that spawner.
Historical success or failure at that location.
Learned effectiveness of the selected AI.
Whether the spawn area is currently pressured or recovering.
Exploration value for new or under-tested locations.
Selection is intentionally not completely deterministic:
70% chance to use the highest-scoring location.
20% chance to choose among near-equivalent locations.
10% controlled exploration of an underused location.
This keeps encounters varied without randomly spawning AI at unsuitable or distant points.
2. Spawn-area pressure and fallback learning
The Director now understands when a spawn point or cluster of nearby spawn points is being overwhelmed.
Each area can be:
Stable
Pressured
Overrun
Recovering
Changes include:
Rapid AI eliminations add pressure to the source spawner.
Nearby spawn points within 175 metres absorb 55% of that pressure.
Repeated fast wipes can mark an area Overrun.
Overrun spawn points are excluded for a dynamic 90–180 second rest period.
After resting, the point enters a 60-second Recovering state with a strong selection penalty.
Pressure decays gradually to prevent locations from rapidly switching states.
If every valid local location is Overrun, the Director delays spawning instead of selecting a distant spawner across the map.
Existing AI is never teleported or artificially retreated. The system only changes where future reinforcements originate.
Persistent location knowledge
The Director records map-specific spawn-location risk.
Fast wipes teach it that a location is dangerous or predictable.
Long, successful encounters reduce learned risk.
Nearby spawn markers receive partial observations.
Knowledge decays after restarts so one bad result does not permanently blacklist a location.
Learning persistence was upgraded to version 3.
Older version 1 and version 2 learning files still migrate forward.
3. AI prefab and tactical learning
The Director now maintains an encounter ledger for successful spawns.
It records:
AI prefab.
Source spawner.
Selected tactic.
Player-cluster size.
Threat estimate.
Player position snapshot at spawn time.
Time until engagement.
Encounter result.
Whether the AI was abandoned or eliminated.
Technical spawning or replication failures.
The Director learns:
Prefab effectiveness.
Approximate threat cost.
Engagement responsiveness.
Whether a prefab follows standard waypoint orders.
Whether it responds slowly.
Whether it relies on its own native behavior.
Whether it is technically unsupported or repeatedly fails replication checks.
Compatibility profiles include:
Responsive
Delayed
Native Behavior
Unsupported
Vanilla and modded AI remain treated as independent black boxes. We do not copy or depend on Bacon Zombies or another mod’s private scripts. The Director discovers loaded GM-selectable AI, observes results, and adjusts future selection weights.
New and updated modded content still receives controlled testing so an old failure does not permanently exclude it.
4. Expanded Director tactics
The Director can now choose between:
Direct attack.
Flanking approach.
Containment.
Reinforcement.
Search party.
Heavy assault.
Recovery/relaxed encounter.
These tactics remain bounded by:
The player-position snapshot captured when AI spawns.
The 450-metre operational leash.
Local player clusters.
Available threat budget.
Learned prefab compatibility.
The Director does not continuously record every player’s location every five seconds. AI receives a destination based on the player position captured when the encounter starts. After reaching that area, it searches or transitions into its native combat behavior.
5. GM Director dashboard
A new controller-compatible Director dashboard was added to the AI selection interface.
It reports:
Current Director tempo.
Living-player clusters.
Active groups.
Active agents.
Current threat budget.
Learned player capability.
Encounter intensity.
GM pressure setting.
Learned prefab profiles.
Stable, Pressured, Overrun, and Recovering spawn-area counts.
Learned location-risk samples.
Authorized GMs can:
Pause Director spawning.
Resume Director spawning.
Force a relaxation phase.
Increase or decrease pressure.
Reset learned intelligence with two-step confirmation.
Dashboard requests and controls use reliable owner/server RPCs. The server rejects requests unless the player has an open, unrestricted GM editor.
6. Dedicated Game Master Content category
The editable entities now use the proper Game Master Content registration system.
Changes include:
Added the dedicated Content category AI Dynamic Spawn.
Removed ownership under the generic Modded Content filter.
Added the addon-owned CONTENT_AI_DYNAMIC_SPAWNER label.
Added the proper SCR_EditableEntityCoreLabelSetting.
Registered the editable prefabs through the standard Compositions registry.
Removed the superseded standalone registry and Editor Mode injection.
Confirmed that the base editable spawner can be spawned through the GM Content Browser.
Loot Stashes was reviewed only as a structural reference. No code, prefab, GUID, image, enum value, or resource was copied from that mod.
7. New editable thumbnail
Added an original 400×300 thumbnail for the editable spawner.
It depicts:
An amber tactical spawn beacon.
Generic AI moving through woodland.
A blue player marker.
No official logos.
No third-party material.
No flags, text, or watermark.
The PNG source and Workbench-ready EDDS resource are registered and assigned to the editable entity’s GM card.
8. Linked player-trigger spawning system
Four new prefabs were added:
AI_Dynamic_Spawner_Trigger_Base
E_AI_Dynamic_Spawner_Trigger_Base
AI_Dynamic_TriggerSpawn_Base
E_AI_Dynamic_TriggerSpawn_Base
Trigger behavior
The trigger generates a unique six-character ID.
IDs begin with **** followed by two unambiguous characters, such as AIDS7K.
Random allocation is used first.
A deterministic scan provides collision-safe fallback IDs.
One trigger can activate multiple destinations sharing the same ID.
The trigger defaults to a 25-metre spherical radius.
It only detects living players.
It defaults to One Shot.
When One Shot is disabled, it uses a configurable rearm cooldown.
It only consumes a one-shot activation if at least one destination successfully spawns AI.
Trigger destination behavior
The linked destination exposes:
Linked Trigger ID.
Trigger spawning enabled/disabled.
AI Spawn Selection.
AI Difficulty.
It defaults to:
Empty AI selection.
Regular difficulty.
One maximum active spawn.
No automatic interval spawning.
No Director interval spawning.
No trigger link until configured.
Irrelevant normal spawner settings are hidden from these trigger entities.
9. Trigger detection correction
The original native trigger callback did not fire reliably for GM-spawned runtime triggers.
It was replaced with an authority-only player proximity system:
Checks players every 500 milliseconds.
Runs only on server authority.
Filters out dead or invalid controlled entities.
Uses squared distance instead of square-root distance calculations.
Detects only an outside-to-inside transition.
Does not repeatedly fire while a player remains inside.
Native trigger polling is disabled to prevent duplicate work.
Diagnostic messages were added for:
Trigger initialization.
Player entry.
Missing linked destination.
Disabled destination.
Empty AI selection.
Active-spawn limit.
Authoritative spawn rejection.
Successful linked spawning.
10. Standalone character movement correction
The trigger could successfully spawn a character prefab while that character remained static.
The cause was that standalone characters were placed inside an editable AI group without guaranteeing that their AI agent was active and attached to that group.
The corrected flow now:
Activates the character’s AI control component.
Retrieves its AIAgent.
Creates the authoritative group.
Explicitly attaches the agent to the new group.
Rejects and cleans up the spawn if no usable AI controller or agent exists.
Confirms the spawned hierarchy contains the required replication components.
Initial deployment orders
Initial movement now uses the vanilla Forced Move waypoint.
AI receives a destination based on the player’s position when it spawns.
The destination is normally offset approximately 20–40 metres from the player.
Once AI reaches the recorded location, it transitions into search, patrol, or its native combat behavior.
AI is not continuously ordered to chase a live player across the map.
Deployment audits run at:
0.5 seconds.
2 seconds.
5 seconds.
10 seconds.
These audits check:
Attached agent count.
Whether the correct waypoint was accepted.
Distance moved.
Whether another prefab script replaced the waypoint.
Whether the prefab refuses standard group orders.
If the initial order is displaced, the Director can reissue the Forced Move order during this limited deployment window.
11. Corpse and garbage-system correction
Previously, eliminated AI could be deleted immediately because eliminated groups and abandoned living groups used the same cleanup function.
That was corrected.
When AI is killed:
The Director removes its waypoint and internal tracking.
Dead agents are detached.
The empty group controller is deleted.
Dead character bodies remain in the world.
The scenario’s vanilla garbage system or compatible garbage-system mod controls corpse removal.
Living abandoned AI is handled differently:
AI with no qualifying engagement for three minutes is hard-despawned.
Invalid or unreplicated spawns are still immediately removed.
Removing a spawner still cleans up its invalid living encounter state.
12. One-shot persistence correction
A saved one-shot trigger could restore as already consumed and never activate after a restart.
The corrected behavior is:
Trigger link ID persists.
Enabled state persists.
Radius persists.
One Shot selection persists.
Rearm cooldown persists.
Armed/consumed state is now treated as temporary session state.
Every restored trigger starts armed.
Restoring a trigger clears its inside-player cache so a player already standing in the area can be detected.
Old saved triggerArmed: false values no longer make the trigger permanently inert.
The JSON field remains present for backward compatibility.
A warning is now produced if a player enters an already-consumed one-shot trigger during the same server session.
13. Replication and multiplayer authority improvements
All three runtime entity types retain:
RplComponent.
Hierarchy support.
Server-authoritative spawning.
Replicated GM-editable properties.
Replication.BumpMe() after authoritative configuration changes.
The three editable children inherit the complete runtime behavior and add the editable-entity component.
Additional safeguards include:
AI prefabs without a root RplComponent are rejected.
AI groups without a replicated group hierarchy are rejected.
Controlled characters are checked for authoritative replication.
Spawning, link detection, Director decisions, and persistence execute only on authority.
Client proxies do not start server schedulers.
GM RPCs are reliable and server-validated.
Persistence authority now prefers the game mode’s RplComponent and uses Replication.IsMaster() only as an offline/Workbench fallback.
14. Server-performance improvements
A full performance audit found that ordinary spawners were still independently enumerating players and owning separate one-second callbacks.
That has now been corrected.
Shared player snapshot
Added AIDS_ServerPlayerSnapshot:
It is now the only addon system calling PlayerManager.GetPlayers().
It refreshes no more often than every 500 milliseconds.
Triggers, ordinary spawners, pursuit logic, and the Director reuse the same data.
Player IDs, entities, alive states, living entities, and positions use reusable arrays.
Player lookups are no longer repeated once per spawner.
No per-tick temporary player arrays are allocated by every spawner.
Central spawner scheduler
Added AIDS_SpawnerUpdateRegistry:
One authority-only scheduler updates all normal spawners once per second.
Spawners register during server initialization.
They unregister during teardown.
The system replaces one repeating callback per placed spawner.
Invalid entries are pruned.
The scheduler stops rescheduling when no authority spawner remains.
Cheap early exits were added for:
Disabled spawners.
Empty spawners.
Spawners on cooldown.
Idle spawners.
Director spawners without tracked AI requiring lifecycle work.
Disabled or unlinked triggers.
Director safety limits
Current hard limits remain:
24 active groups.
96 active agents.
256 registered Director spawners.
96 evaluated spawn candidates.
128 encounter-ledger records.
One line-of-sight trace candidate per Director second.
Persistence throttling
Configuration/world changes are debounced for three seconds.
Transform scans run every ten seconds.
Learning persistence runs every five minutes.
A/B rotating snapshots protect against incomplete writes.
No player-distance evaluation causes a JSON save.
No per-tick RPC or replication update is generated.
Trigger polling remains read-only until an actual entry activation occurs.
15. Verification completed
Final Workbench compile:
5,674 Game script files.
11,143 classes.
32,430 KiB static script memory.
CRC32 31a636d0.
No addon-owned compiler error.
Static validation passes:
Project structure.
.gproj.
Prefabs.
Resource references.
There are 18 documented validator warnings:
One enum-only labels file.
Validator API-index misses for addon-defined GM attribute classes.
Those classes compile and load successfully, so these warnings are not runtime failures.
Runtime smoke test
The final local authority test successfully:
Restored persisted trigger AIDSTX.
Detected player 1 entering.
Located the matching linked destination.
Spawned the configured standalone OPFOR character.
Attached one initial AI agent.
Assigned a forced deployment destination.
Activated the linked destination.
Released the eliminated body to the normal scenario garbage system.
Produced no addon-owned script, RPL, or network error after activation.
Temporary Workbench testing handlers were removed and are not present in the addon.
Remaining release verification
The current build has passed source, compilation, prefab, reference, authority, and local runtime checks.
The remaining production-level checks are:
Dedicated-server soak testing with the intended player count.
Large numbers of placed spawners and triggers.
Remote client replication.
Join-in-progress behavior.
Long-running Director learning and persistence.
Real server frame-time measurements.
Multi-point pressure/fallback threshold tuning.
Visual confirmation of the exact AI Dynamic Spawn filter title in every supported GM interface.
Extended movement testing for third-party AI prefabs that replace or ignore standard waypoints.
Game Version
1.8.0.10
Created
Tue, 18 Aug 2026 21:04:05 GMT
Last Modified
Tue, 18 Aug 2026 21:04:16 GMT

0.0.12

Tweaked JSON saving.
Game Version
1.8.0.10
Created
Tue, 18 Aug 2026 12:40:46 GMT
Last Modified
Tue, 18 Aug 2026 12:40:52 GMT

0.0.11

225 m player clustering with independent threat budgets.
More players and stronger performance increase AI pressure.
70/20/10 spawn-point selection:
70% best suitable location.
20% weighted alternative.
10% exploration/least-used location.
Spawn points remain within 125–300 m of relevant players.
Anti-repeat logic prevents repeatedly using one spawner.
Visibility exposure influences spawn-point scoring.
Encounter ledger tracks engagement speed, survival, eliminations and abandonment.
Learns effectiveness and estimated threat for vanilla and modded AI.
Compatibility profiles identify responsive, delayed, native-behavior and unsupported prefabs.
Expanded tactics: direct assault, flanking, containment, reinforcement, search parties, heavy assault and recovery.
Preserves third-party AI behavior after genuine contact.
Three-minute disengagement cleanup and 350 m engagement-reset rule remain active.
450 m operational leash remains active.
Performance limits: 256 spawners, 96 candidates, 128 encounter records and one visibility trace per Director update.
Version-2 map-specific JSON persistence with migration from older learning data.
Replicated GM dashboard with pause, relax, pressure adjustment and protected learning reset.
Controller-safe modal navigation following the existing Enfusion UI conventions.
GM controls use reliable server/owner RPCs and server-side authorization.
Game Version
1.8.0.10
Created
Tue, 18 Aug 2026 12:18:55 GMT
Last Modified
Tue, 18 Aug 2026 12:19:05 GMT

0.0.10

0.0.10 Stable Release.
Game Version
1.8.0.10
Created
Tue, 18 Aug 2026 00:46:59 GMT
Last Modified
Tue, 18 Aug 2026 00:47:02 GMT

0.0.9

Game Version
1.8.0.10
Created
Tue, 18 Aug 2026 00:46:04 GMT
Last Modified
Tue, 18 Aug 2026 00:46:11 GMT

0.0.8

Game Version
1.8.0.10
Created
Mon, 17 Aug 2026 23:41:30 GMT
Last Modified
Mon, 17 Aug 2026 23:41:34 GMT

0.0.7

Game Version
1.8.0.10
Created
Mon, 17 Aug 2026 22:31:53 GMT
Last Modified
Mon, 17 Aug 2026 22:31:56 GMT

0.0.6

Game Version
1.8.0.10
Created
Mon, 17 Aug 2026 22:13:12 GMT
Last Modified
Mon, 17 Aug 2026 22:13:14 GMT

0.0.5

Game Version
1.8.0.10
Created
Mon, 17 Aug 2026 21:52:38 GMT
Last Modified
Mon, 17 Aug 2026 21:52:40 GMT

0.0.4

Game Version
1.8.0.10
Created
Mon, 17 Aug 2026 21:33:34 GMT
Last Modified
Mon, 17 Aug 2026 21:33:37 GMT

0.0.3

Game Version
1.8.0.10
Created
Mon, 17 Aug 2026 20:30:51 GMT
Last Modified
Mon, 17 Aug 2026 20:30:54 GMT

0.0.2

Game Version
1.8.0.10
Created
Mon, 17 Aug 2026 20:02:24 GMT
Last Modified
Mon, 17 Aug 2026 20:02:27 GMT

0.0.1

Game Version
1.8.0.10
Created
Mon, 17 Aug 2026 19:20:25 GMT
Last Modified
Mon, 17 Aug 2026 19:20:30 GMT

Showing 1 to 16 of 16 results

Rows per page