• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

Improved Hordes [V1.0]

Not sure if im the only one having this issue but I get a massive horde one after another and they just keep coming, i kill like 16-32 zombies and suddenly another wave comes 10 seconds later o.o

 
Not sure if im the only one having this issue but I get a massive horde one after another and they just keep coming, i kill like 16-32 zombies and suddenly another wave comes 10 seconds later o.o
Yeah this might be related to the alert system that's present in the update. Hordes near you can now hear things like gunshots and go investigate. You might be getting large hordes if you're in a harder biome like the wasteland, and if you are near a city. As for attracting lots of hordes, I haven't ironed out the whole system yet so expect tweaks in further updates. If you kill enough zombies, they should stop coming for some time.

 
Last edited by a moderator:
Ohh okay, thats cool. They eventually stopped indeed x) Sorry I thought it might have been a problem or something haha

 
The console keeps spamming this in red tho.

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2898.675 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): UpdateTask was terminated due to a fault.
2023-06-18T16:50:08 2898.675 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): #1 - An exception occurred during UpdateTask: [Improved Hordes] GS must have either a defined max attribute or increaseEvery attribute.
Stacktrace:
  at ImprovedHordes.Data.XML.HordeDefinition+Group+GS.GetCount (System.Int32 gs, System.Int32 minCount, System.Int32 maxCount) [0x0005c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.XML.HordeDefinition+Group+Entity.GetCount (System.Int32 gs) [0x0003c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator.CalculateEntitiesToSpawn () [0x00043] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Data.XML.HordeDefinition definition) [0x00044] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionHorde.CreateEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0000c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest.DetermineEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0002d] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.Abstractions.World.IEntitySpawner spawner, ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, System.Action`1[T] onSpawnAction, System.Action onSpawned) [0x00055] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData hordeSpawnData, System.Action`1[T] onEntitySpawn, System.Action onSpawned) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Cluster.HordeCluster.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, ImprovedHordes.Core.World.Horde.AI.HordeAIExecutor aiExecutor, System.Action`1[T] onSpawn) [0x00061] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawn (ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawns (ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00019] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker.UpdateHorde (ImprovedHordes.Core.World.Horde.WorldHorde horde, System.Single dt, System.Collections.Generic.List`1[T] players, System.Collections.Generic.List`1[T] eventReports) [0x00069] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker+<>c__DisplayClass40_0.<UpdateTrackerAsync>b__0 (ImprovedHordes.Core.World.Horde.WorldHorde horde) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00012] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x000cf] in <03bd9b261dff4c2b8b568aca27f561b2>:0
--- End of stack trace from previous location where exception was thrown ---

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2898.724 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): UpdateTask was terminated due to a fault.
2023-06-18T16:50:08 2898.724 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): #1 - An exception occurred during UpdateTask: [Improved Hordes] GS must have either a defined max attribute or increaseEvery attribute.
Stacktrace:
  at ImprovedHordes.Data.XML.HordeDefinition+Group+GS.GetCount (System.Int32 gs, System.Int32 minCount, System.Int32 maxCount) [0x0005c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.XML.HordeDefinition+Group+Entity.GetCount (System.Int32 gs) [0x0003c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator.CalculateEntitiesToSpawn () [0x00043] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Data.XML.HordeDefinition definition) [0x00044] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionHorde.CreateEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0000c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest.DetermineEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0002d] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.Abstractions.World.IEntitySpawner spawner, ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, System.Action`1[T] onSpawnAction, System.Action onSpawned) [0x00055] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData hordeSpawnData, System.Action`1[T] onEntitySpawn, System.Action onSpawned) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Cluster.HordeCluster.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, ImprovedHordes.Core.World.Horde.AI.HordeAIExecutor aiExecutor, System.Action`1[T] onSpawn) [0x00061] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawn (ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawns (ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00019] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker.UpdateHorde (ImprovedHordes.Core.World.Horde.WorldHorde horde, System.Single dt, System.Collections.Generic.List`1[T] players, System.Collections.Generic.List`1[T] eventReports) [0x00069] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker+<>c__DisplayClass40_0.<UpdateTrackerAsync>b__0 (ImprovedHordes.Core.World.Horde.WorldHorde horde) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00012] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x000cf] in <03bd9b261dff4c2b8b568aca27f561b2>:0
--- End of stack trace from previous location where exception was thrown ---

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2898.847 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): UpdateTask was terminated due to a fault.
2023-06-18T16:50:08 2898.848 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): #1 - An exception occurred during UpdateTask: [Improved Hordes] GS must have either a defined max attribute or increaseEvery attribute.
Stacktrace:
  at ImprovedHordes.Data.XML.HordeDefinition+Group+GS.GetCount (System.Int32 gs, System.Int32 minCount, System.Int32 maxCount) [0x0005c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.XML.HordeDefinition+Group+Entity.GetCount (System.Int32 gs) [0x0003c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator.CalculateEntitiesToSpawn () [0x00043] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Data.XML.HordeDefinition definition) [0x00044] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionHorde.CreateEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0000c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest.DetermineEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0002d] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.Abstractions.World.IEntitySpawner spawner, ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, System.Action`1[T] onSpawnAction, System.Action onSpawned) [0x00055] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData hordeSpawnData, System.Action`1[T] onEntitySpawn, System.Action onSpawned) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Cluster.HordeCluster.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, ImprovedHordes.Core.World.Horde.AI.HordeAIExecutor aiExecutor, System.Action`1[T] onSpawn) [0x00061] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawn (ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawns (ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00019] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker.UpdateHorde (ImprovedHordes.Core.World.Horde.WorldHorde horde, System.Single dt, System.Collections.Generic.List`1[T] players, System.Collections.Generic.List`1[T] eventReports) [0x00069] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker+<>c__DisplayClass40_0.<UpdateTrackerAsync>b__0 (ImprovedHordes.Core.World.Horde.WorldHorde horde) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00012] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x000cf] in <03bd9b261dff4c2b8b568aca27f561b2>:0
--- End of stack trace from previous location where exception was thrown ---

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2898.880 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): UpdateTask was terminated due to a fault.
2023-06-18T16:50:08 2898.880 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): #1 - An exception occurred during UpdateTask: [Improved Hordes] GS must have either a defined max attribute or increaseEvery attribute.
Stacktrace:
  at ImprovedHordes.Data.XML.HordeDefinition+Group+GS.GetCount (System.Int32 gs, System.Int32 minCount, System.Int32 maxCount) [0x0005c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.XML.HordeDefinition+Group+Entity.GetCount (System.Int32 gs) [0x0003c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator.CalculateEntitiesToSpawn () [0x00043] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Data.XML.HordeDefinition definition) [0x00044] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionHorde.CreateEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0000c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest.DetermineEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0002d] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.Abstractions.World.IEntitySpawner spawner, ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, System.Action`1[T] onSpawnAction, System.Action onSpawned) [0x00055] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData hordeSpawnData, System.Action`1[T] onEntitySpawn, System.Action onSpawned) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Cluster.HordeCluster.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, ImprovedHordes.Core.World.Horde.AI.HordeAIExecutor aiExecutor, System.Action`1[T] onSpawn) [0x00061] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawn (ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawns (ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00019] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker.UpdateHorde (ImprovedHordes.Core.World.Horde.WorldHorde horde, System.Single dt, System.Collections.Generic.List`1[T] players, System.Collections.Generic.List`1[T] eventReports) [0x00069] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker+<>c__DisplayClass40_0.<UpdateTrackerAsync>b__0 (ImprovedHordes.Core.World.Horde.WorldHorde horde) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00012] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x000cf] in <03bd9b261dff4c2b8b568aca27f561b2>:0
--- End of stack trace from previous location where exception was thrown ---

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2899.100 INF Saving 73 of chunks took 202ms
2023-06-18T16:50:08 2899.101 INF Paused Exploration

 
The console keeps spamming this in red tho.

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2898.675 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): UpdateTask was terminated due to a fault.
2023-06-18T16:50:08 2898.675 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): #1 - An exception occurred during UpdateTask: [Improved Hordes] GS must have either a defined max attribute or increaseEvery attribute.
Stacktrace:
  at ImprovedHordes.Data.XML.HordeDefinition+Group+GS.GetCount (System.Int32 gs, System.Int32 minCount, System.Int32 maxCount) [0x0005c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.XML.HordeDefinition+Group+Entity.GetCount (System.Int32 gs) [0x0003c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator.CalculateEntitiesToSpawn () [0x00043] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Data.XML.HordeDefinition definition) [0x00044] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionHorde.CreateEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0000c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest.DetermineEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0002d] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.Abstractions.World.IEntitySpawner spawner, ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, System.Action`1[T] onSpawnAction, System.Action onSpawned) [0x00055] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData hordeSpawnData, System.Action`1[T] onEntitySpawn, System.Action onSpawned) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Cluster.HordeCluster.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, ImprovedHordes.Core.World.Horde.AI.HordeAIExecutor aiExecutor, System.Action`1[T] onSpawn) [0x00061] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawn (ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawns (ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00019] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker.UpdateHorde (ImprovedHordes.Core.World.Horde.WorldHorde horde, System.Single dt, System.Collections.Generic.List`1[T] players, System.Collections.Generic.List`1[T] eventReports) [0x00069] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker+<>c__DisplayClass40_0.<UpdateTrackerAsync>b__0 (ImprovedHordes.Core.World.Horde.WorldHorde horde) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00012] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x000cf] in <03bd9b261dff4c2b8b568aca27f561b2>:0
--- End of stack trace from previous location where exception was thrown ---

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2898.724 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): UpdateTask was terminated due to a fault.
2023-06-18T16:50:08 2898.724 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): #1 - An exception occurred during UpdateTask: [Improved Hordes] GS must have either a defined max attribute or increaseEvery attribute.
Stacktrace:
  at ImprovedHordes.Data.XML.HordeDefinition+Group+GS.GetCount (System.Int32 gs, System.Int32 minCount, System.Int32 maxCount) [0x0005c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.XML.HordeDefinition+Group+Entity.GetCount (System.Int32 gs) [0x0003c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator.CalculateEntitiesToSpawn () [0x00043] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Data.XML.HordeDefinition definition) [0x00044] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionHorde.CreateEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0000c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest.DetermineEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0002d] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.Abstractions.World.IEntitySpawner spawner, ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, System.Action`1[T] onSpawnAction, System.Action onSpawned) [0x00055] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData hordeSpawnData, System.Action`1[T] onEntitySpawn, System.Action onSpawned) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Cluster.HordeCluster.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, ImprovedHordes.Core.World.Horde.AI.HordeAIExecutor aiExecutor, System.Action`1[T] onSpawn) [0x00061] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawn (ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawns (ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00019] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker.UpdateHorde (ImprovedHordes.Core.World.Horde.WorldHorde horde, System.Single dt, System.Collections.Generic.List`1[T] players, System.Collections.Generic.List`1[T] eventReports) [0x00069] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker+<>c__DisplayClass40_0.<UpdateTrackerAsync>b__0 (ImprovedHordes.Core.World.Horde.WorldHorde horde) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00012] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x000cf] in <03bd9b261dff4c2b8b568aca27f561b2>:0
--- End of stack trace from previous location where exception was thrown ---

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2898.847 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): UpdateTask was terminated due to a fault.
2023-06-18T16:50:08 2898.848 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): #1 - An exception occurred during UpdateTask: [Improved Hordes] GS must have either a defined max attribute or increaseEvery attribute.
Stacktrace:
  at ImprovedHordes.Data.XML.HordeDefinition+Group+GS.GetCount (System.Int32 gs, System.Int32 minCount, System.Int32 maxCount) [0x0005c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.XML.HordeDefinition+Group+Entity.GetCount (System.Int32 gs) [0x0003c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator.CalculateEntitiesToSpawn () [0x00043] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Data.XML.HordeDefinition definition) [0x00044] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionHorde.CreateEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0000c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest.DetermineEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0002d] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.Abstractions.World.IEntitySpawner spawner, ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, System.Action`1[T] onSpawnAction, System.Action onSpawned) [0x00055] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData hordeSpawnData, System.Action`1[T] onEntitySpawn, System.Action onSpawned) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Cluster.HordeCluster.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, ImprovedHordes.Core.World.Horde.AI.HordeAIExecutor aiExecutor, System.Action`1[T] onSpawn) [0x00061] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawn (ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawns (ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00019] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker.UpdateHorde (ImprovedHordes.Core.World.Horde.WorldHorde horde, System.Single dt, System.Collections.Generic.List`1[T] players, System.Collections.Generic.List`1[T] eventReports) [0x00069] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker+<>c__DisplayClass40_0.<UpdateTrackerAsync>b__0 (ImprovedHordes.Core.World.Horde.WorldHorde horde) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00012] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x000cf] in <03bd9b261dff4c2b8b568aca27f561b2>:0
--- End of stack trace from previous location where exception was thrown ---

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2898.880 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): UpdateTask was terminated due to a fault.
2023-06-18T16:50:08 2898.880 ERR [Improved Hordes] [WorldHordeTracker] <Update>b__1(Task): #1 - An exception occurred during UpdateTask: [Improved Hordes] GS must have either a defined max attribute or increaseEvery attribute.
Stacktrace:
  at ImprovedHordes.Data.XML.HordeDefinition+Group+GS.GetCount (System.Int32 gs, System.Int32 minCount, System.Int32 maxCount) [0x0005c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.XML.HordeDefinition+Group+Entity.GetCount (System.Int32 gs) [0x0003c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator.CalculateEntitiesToSpawn () [0x00043] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionEntityGenerator..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Data.XML.HordeDefinition definition) [0x00044] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Data.HordeDefinitionHorde.CreateEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0000c] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest.DetermineEntityGenerator (ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup) [0x0002d] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.Request.HordeClusterSpawnMainThreadRequest..ctor (ImprovedHordes.Core.Abstractions.Logging.ILoggerFactory loggerFactory, ImprovedHordes.Core.Abstractions.World.IEntitySpawner spawner, ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, System.Action`1[T] onSpawnAction, System.Action onSpawned) [0x00055] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.PlayerHordeGroup playerGroup, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData hordeSpawnData, System.Action`1[T] onEntitySpawn, System.Action onSpawned) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.Cluster.HordeCluster.RequestSpawn (ImprovedHordes.Core.World.Horde.WorldHorde horde, ImprovedHordes.Core.World.Horde.Spawn.HordeSpawnData spawnData, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, ImprovedHordes.Core.World.Horde.AI.HordeAIExecutor aiExecutor, System.Action`1[T] onSpawn) [0x00061] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawn (ImprovedHordes.Core.World.Horde.Cluster.HordeCluster cluster, ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHorde.RequestSpawns (ImprovedHordes.Core.World.Horde.Spawn.WorldHordeSpawner spawner, ImprovedHordes.Core.World.Horde.PlayerHordeGroup group, ImprovedHordes.Core.Threading.Request.MainThreadRequestProcessor mainThreadRequestProcessor, ImprovedHordes.Core.Abstractions.World.Random.IWorldRandom worldRandom, System.Action`1[T] onSpawn) [0x00019] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker.UpdateHorde (ImprovedHordes.Core.World.Horde.WorldHorde horde, System.Single dt, System.Collections.Generic.List`1[T] players, System.Collections.Generic.List`1[T] eventReports) [0x00069] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at ImprovedHordes.Core.World.Horde.WorldHordeTracker+<>c__DisplayClass40_0.<UpdateTrackerAsync>b__0 (ImprovedHordes.Core.World.Horde.WorldHorde horde) [0x00001] in <da17dd97e1504fecae1f1f17ac2e4031>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass33_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00012] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x000cf] in <03bd9b261dff4c2b8b568aca27f561b2>:0
--- End of stack trace from previous location where exception was thrown ---

  at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`1[TLocal].<ForWorker>b__1 (System.Threading.Tasks.RangeWorker& currentWorker, System.Int32 timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) [0x001e5] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica`1[TState].ExecuteAction (System.Boolean& yieldedBeforeCompletion) [0x00000] in <03bd9b261dff4c2b8b568aca27f561b2>:0
  at System.Threading.Tasks.TaskReplicator+Replica.Execute () [0x00023] in <03bd9b261dff4c2b8b568aca27f561b2>:0
2023-06-18T16:50:08 2899.100 INF Saving 73 of chunks took 202ms
2023-06-18T16:50:08 2899.101 INF Paused Exploration


Must be related to this config line in the Config/ImprovedHordes/hordes.xml file,

image.png

Adding this to the gs tag should fix it temporarily (my bad, forgot about not having a max/increaseEvery tag):

image.png

I'll push out an update soon with a more permanent fix.

EDIT: Update has been pushed, 2.0.0-alpha.2 should fix this problem.

 
Last edited by a moderator:
IMPROVED HORDES 2.0.0-alpha.2 for A21 EXP b317 released.

This is an experimental release of Improved Hordes. If you encounter any bugs/performance issues regarding the mod, report them in the Issues section of the repository with the experimental label.

Download: https://github.com/FilUnderscore/ImprovedHordes/releases/download/2.0.0-alpha.2/ImprovedHordes-Experimental.zip



Changelog



Changed


  • Horde unload merge distance reduced from 100 to 50 m.
  • WorldZoneHordePopulator player/cluster radius check reduced from POI zone size to view distance.

Fixed


  • Exception thrown when a GS tag within a defined group does not have a max or increaseEvery attribute. Now randomizes entity counts instead.
  • max_entities_spawned_per_player setting does not spawn any entities if set below 0 (i.e. -1 to disable horde entity spawn limit).

Known issues


  • Horde respawning of same type/number of entities inconsistent.
  • Some horde entities may not despawn properly when quickly teleporting around.
  • World horde state is not saved. Hordes respawn every time the game is started.





 
Mod looks very interesting. Will have to keep an eye out on this as I wait/hope I get a mod to revamp the new book/magazine system put in.

 
Just to add, I have set up my base in a large dense city in the pine forest. I have been occuring some pretty massive sized hordes when the 3 screamers appear (2-3 times a day on 60 min days). Testing out the new release you just provided. I noticed you changed the merge distance from 100 down to 50. Do you believe they were just coming in from to far off?

 
Just to add, I have set up my base in a large dense city in the pine forest. I have been occuring some pretty massive sized hordes when the 3 screamers appear (2-3 times a day on 60 min days). Testing out the new release you just provided. I noticed you changed the merge distance from 100 down to 50. Do you believe they were just coming in from to far off?


I'm thinking there's still too much merging going on when hordes get too close, which results in more unevenly distributed hordes where you get huge ones in zones instead of multiple clusters within a zone. I'm going to be tweaking the parameters to prevent this from happening too often, because it's not meant to feel like a blood moon horde all the time.

 
Will the addons be updated to work with the new version?
Yes, expect add-ons to be updated closer to the stable release of 2.0.0. The experimental phase is mainly balancing out the base systems and adding in any additional large features.

Based on add-on downloads, users seemed to enjoy having larger hordes on average, so the A21 version includes a mix of horde sizes to make each horde feel slightly different (some bigger, some smaller) on top of the game staged horde sizes. You can expect to find a lot more hordes near towns/cities, with their size varying on the size of the area, while hordes in the wild will be on the smaller side. You can on occasion, come across a large horde wandering toward a town in the wild. There will be an updated bigger hordes add-on that should work quite nicely with this feature.

The random hordes add-on was also quite popular, so an updated random hordes add-on with this new system would mean even more random hordes.

 
Last edited by a moderator:
I had to take the mod out for now. Screamers bring in 2-3 hordes, which brings in screamers, and if I wasn't already at my horde base, it wouldn't have been survivable (like if it happened at my home). And my horde base is nowhere near a city (though it IS in the wasteland, on the edge near forest). I just had my 3rd blood moon and that was easier, lol.

 
Last edited by a moderator:
I had to take the mod out for now. Screamers bring in 2-3 hordes, which brings in screamers, and if I wasn't already at my horde base, it wouldn't have been survivable (like if it happened at my home). And my horde base is nowhere near a city (though it IS in the wasteland, on the edge near forest). I just had my 3rd blood moon and that was easier, lol.
Hordes get bigger depending on the biome difficulty, so in your case you might be getting big hordes because of being near the wasteland.

Next update should see big hordes split when they enter a different biome if they are too dense/hard for the biome they are in. Additionally, heat intensity is being reduced and will expire much quicker which should attract less hordes/screamers unless you're rapidly firing a gun at a horde within a couple of seconds. I'm also reducing the screamer wander radius outside of cities so they stick closer to the center, because as of right now they like to wander around the outskirts a lot.

Hope you'll give the mod another try at stable release, should be a lot better by then.

 
Not sure if this information helps but I was having a little fun and went into DM mode and got my gamestage up to 89 sat in the house with a forge going inside and set time lapse to the 40-50 speed range. Two days may have passed and ended up with what seemed to be around 12-15 screamers as well a massive amount of zombies. 

Zombies seems to just linger back and forth once they reach the point of where the screamer sent the alert out. I was in a dense city in the pine forest in the suburban outskirts. Again not sure if this information helps but thought I'd share the experience.

This mod was a staple in my alpha 20 gameplay it's definitely a must for me. Can't wait to see it in its final stage.

 
IMPROVED HORDES 2.0.0-alpha.3 for A21 EXP b317 released.

This is an experimental release of Improved Hordes. If you encounter any bugs/performance issues regarding the mod, report them in the Issues section of the repository with the experimental label.

Download: https://github.com/FilUnderscore/ImprovedHordes/releases/download/2.0.0-alpha.3/ImprovedHordes-Experimental.zip


Changelog



Added


  • Horde biome splitting

    Hordes now split when crossing into another biome of a lower difficulty into multiple hordes, that then choose to go different paths.
  • This prevents wasteland hordes from crossing into pine forests and being 1.8x more dense (by default settings).


Changed


  • Increased world event decay rate so that heatmap events decay much faster, this should prevent hordes/screamers from being attracted too often.

    If you fire a gun non-stop, then expect hordes to show up, otherwise if you carefully shoot your gun on occasion you shouldn't be attracting far away hordes.

[*]Screamer zone radius has been reduced.

  • Screamers often wandered the outskirts of a city zone, now they should stick close to the center, so you shouldn't be running into them too often outside of town.

[*]Screamer zone density spawn requirement increased from 0.5 to 0.75.

  • This should spawn less screamers in densely populated towns/cities.

[*]Tweak horde group wandering_enemy game stage entity counts.


Fixed


  • #10 - Sleeping hordes do not awaken if you get close. Now sleeping zombies wake up if you get within 15m.

Known issues


  • Horde respawning of same type/number of entities inconsistent.
  • Some horde entities may not despawn properly when quickly teleporting around.
  • World horde state is not saved. Hordes respawn every time the game is started.
 
Last edited by a moderator:
Not sure if this information helps but I was having a little fun and went into DM mode and got my gamestage up to 89 sat in the house with a forge going inside and set time lapse to the 40-50 speed range. Two days may have passed and ended up with what seemed to be around 12-15 screamers as well a massive amount of zombies. 

Zombies seems to just linger back and forth once they reach the point of where the screamer sent the alert out. I was in a dense city in the pine forest in the suburban outskirts. Again not sure if this information helps but thought I'd share the experience.

This mod was a staple in my alpha 20 gameplay it's definitely a must for me. Can't wait to see it in its final stage.


New update should be more balanced now, there should be less screamers popping up and less aggressive hordes.

 
REALLY want to use it but most horde mods just don't have the oomph that I want, Is there a way to edit the amounts of the mod to make it have x10 the zombies?

 
Day 28 horde was a cluster fk. There were probably 200+ zombies at all times and at the end of the horde suddenly like 100 radiated screamers spawned lmao, here's a screenshot of the screamers coming in, idk why the screenshots became white like this but I kept trying to take new ones and they all got like that 😕

NJYVtpk.jpeg


 
Back
Top