Sheldon Spawn Controller
Remove or cap wild creatures by class. Configured through INI on the server.
Under development. This is an early release. Settings and some behavior may change in later versions. Test with a small block list before applying one to a full server.
What it does
Sheldon Spawn Controller removes or limits wild creatures by class name. It acts on the creatures as they spawn and through a timed background sweep, rather than by editing spawn tables. Because of this it can remove creatures that spawn-config settings such as spawn-weight multipliers or NPC replacements cannot reach, including creatures added by other content mods.
You supply a list of class names. The mod applies the same rules to vanilla creatures, modded creatures, or any other creature class.
Features
- Hard-block a class: set its cap to 0 and it is removed when it spawns.
- Cap a class: set its cap to N and up to N are allowed; the sweep removes the rest.
- Acts on the creatures directly, reaching modded creatures that spawn-config edits cannot.
- Two mechanisms, selectable at runtime: a delete-on-spawn buff and a timed background sweep.
- The sweep processes one region of the map per tick, so it does not scan the whole map in a single frame.
- The block list uses numbered INI keys, so a long list is not limited by line length.
- Optional WebSocket control for changing the block list without a server restart. Off by default.
Modes
The Mode setting selects which mechanism runs.
Buff: a buff attaches to each wild creature on spawn and removes it if its class is hard-blocked. Instant, with no background scanning.Scan: a timer walks the map one tile at a time, removes hard-blocked creatures, and trims classes that are over their cap. Required for caps.Both(default): the buff handles instant blocks; the scan enforces caps and removes anything the buff did not catch.
Mode |
Instant block | Background sweep | Caps |
|---|---|---|---|
Buff |
yes | no | no |
Scan |
no | yes | yes |
Both |
yes | yes | yes |
Installation
- Add the mod to your server's mod list.
- Add the
[SheldonSpawnController]block to the server'sGameUserSettings.ini(below). - Restart the server.
The mod affects newly spawned creatures. To remove creatures already in the world, run cheat DestroyWildDinos once after configuring; they respawn under the new rules.
Configuration
Add this to GameUserSettings.ini on the server:
[SheldonSpawnController]
Mode=Both
ScanIntervalSeconds=30
ScanTileRadius=42000
bEnableBridge=False
NumEntriesBlock=2
BlockClass1=Dodo_Character_BP_C
BlockCap1=0
BlockClass2=Bronto_Character_BP_C
BlockCap2=3
Include all of these keys. A missing key falls back to a value that does nothing; for example ScanIntervalSeconds=0 disables the sweep.
| Key | Values | Meaning |
|---|---|---|
Mode |
Buff, Scan, Both |
Which mechanism runs. Scan or Both is required for caps. |
ScanIntervalSeconds |
number | Seconds between sweep steps. Must be above 0 for the sweep to run. |
ScanTileRadius |
number | Size of each swept region. Raise it on larger maps. |
bEnableBridge |
True, False |
Enables the optional WebSocket control (below). Default False. |
NumEntriesBlock |
number | How many BlockClassN / BlockCapN pairs follow. Must match the count. |
BlockClassN |
class name | The creature's class name. One per numbered entry. |
BlockCapN |
0 or number |
0 removes the class. N allows up to N; the sweep removes extras. |
Block list
Entries are numbered, so a long list is not limited by line length:
NumEntriesBlock=3
BlockClass1=Dodo_Character_BP_C
BlockCap1=0
BlockClass2=Raptor_Character_BP_C
BlockCap2=5
BlockClass3=Argent_Character_BP_C
BlockCap3=0
NumEntriesBlock must equal the number of pairs. BlockCapN=0 removes the class; BlockCapN=5 allows up to five, which requires Mode=Scan or Both.
Class names
A class name is the creature's generated class, ending in _C, such as Dodo_Character_BP_C or Rex_Character_BP_C. For modded creatures, check the mod's documentation or confirm the class in game with cheat GMSummon "<ClassName>" 1. Names must match exactly. A wrong name matches nothing and reports no error.
WebSocket control (optional)
The mod can connect to an external service over WebSocket to receive a new block list without a restart. It is off by default. Enable it only if you run a compatible controller:
bEnableBridge=True
BridgeURL=ws://your-controller-host:port
Notes
- Runs on the server. All configuration is server-side; there is no client-side setup.
- Affects newly spawned creatures. Run
cheat DestroyWildDinosto clear existing ones. - Class names must match exactly.
- A cap holds the population near its limit over each sweep rather than as an exact ceiling at every moment.
- On very large maps, raise
ScanTileRadius. If the sweep causes brief hitching, raiseScanIntervalSeconds. - Settings and defaults may change while the mod is in development.