GSC X TWS Garbage Collector
by GSC Zeus
1.0.24
- Optimized (performance review): * The "is there an Arsenal nearby" check no longer runs a spatial world query. Every arsenal now registers itself when it initialises and unregisters when it is deleted (new GSC_ArsenalRegistry.c, a small modded SCR_ArsenalComponent), and the check is a plain distance test against that short list. The old query visited every entity inside the radius and ran a slot/parent/child component search on each - costly per drop, and repeated for EVERY vehicle in a single frame by the abandoned-vehicle sweep (a visible hitch on servers with many vehicles every sweep, and every minute while Dynamic Mode is under pressure). The short-lived result cache it needed is gone with it. * The prefab whitelist match is computed once per distinct prefab and remembered (cleared whenever the whitelist is (re)loaded) instead of lower-casing the prefab name and every whitelist entry on every drop, death and every entity the game's own garbage system tracks or deletes. * Clients no longer do any work for deaths and inventory events: both hooks now return before the whitelist match / before scheduling the follow-up check unless running on the server. * The "is a player nearby" test reuses one buffer instead of allocating an array per call and compares squared distances.
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 20:31:18 GMT
- Last Modified
- Sun, 04 Oct 2026 20:31:24 GMT
1.0.23
"Dynamic Min Lifetime (%)" (5-100, default 20) sliders in Scenario Properties, right after Enabled and Seeding Mode as it affects every category; the sliders are greyed out while the checkbox is off). The configured Corpse/Wreck/Ground Item lifetimes and the Abandoned Vehicle
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 20:14:51 GMT
- Last Modified
- Sun, 04 Oct 2026 20:14:56 GMT
1.0.22
- By default ("Vanilla Default Behavior" on) the game's collector behaves exactly as it always
does - only the prefab whitelist is enforced on it. Untick "Vanilla Default Behavior" to also
give it a player-distance rule: "Vanilla Min Player Distance" (its own slider, separate from
the per-category ones). When it is about to delete something with a player closer than that,
the deletion is postponed. If you would rather have a single rule set, switch- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 19:58:39 GMT
- Last Modified
- Sun, 04 Oct 2026 19:58:46 GMT
1.0.21
- Added: "Reset Timer When Player Near" checkbox (JSON key "resetTimerNearPlayer", OFF by default), one
setting for every cleanup category and for the game's own garbage system. It switches the "player
nearby resets the timer" behaviour described in the next entries on or off - so out of the box a
nearby player only postpones a removal, as in earlier versions:
* ON: a player within the Min Player Distance resets the timer, and it only starts over once nobody
is that close.- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 19:12:10 GMT
- Last Modified
- Sun, 04 Oct 2026 19:12:14 GMT
1.0.20
- Added: "Vanilla Min Player Distance" slider (0-500m, 0 = off; JSON key "vanillaMinPlayerDistance", seeded from the old single value on upgrade). It is the Min Player Distance used by the game's own garbage system, nested under "Disable Vanilla Garbage System" and greyed out while that is ticked (the game's system does nothing then). It replaces picking a category's distance by what the game's system is about to delete, which could not always tell what an entity was. - Changed: Scenario Properties order. Under each cleanup category the options now read Lifetime -> Min Player Distance -> Max Tracked (Abandoned Vehicles: Delay -> Min Player Distance -> Check Interval), followed by Retry Delay, then Disable Vanilla Garbage System with its Vanilla Min Player Distance, then Debug Logging, Prefab Whitelist and Reload Config From File.
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 14:11:04 GMT
- Last Modified
- Sun, 04 Oct 2026 14:11:11 GMT
1.0.19
- Changed: the same applies to corpses, vehicle wrecks and ground items. Their lifetime used to be a plain one-shot timer: if a player was nearby when it expired, the removal was merely retried every Retry Delay and happened the moment the player stepped away - even if they had stood there the whole time. Now a player within Min Player Distance pauses the clock (re-checked every Retry Delay), and once nobody is near the full lifetime starts over from the last moment a player was seen close, so time spent with a player around never counts towards it. Note the lifetime is still checked only when it expires (the addon stays event-driven - no continuous scanning), so a player who was near only in the middle of the lifetime and gone again by the time it expires is not noticed. Min Player Distance 0 turns this off.
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 11:16:03 GMT
- Last Modified
- Sun, 04 Oct 2026 11:16:10 GMT
1.0.18
- Changed: the abandoned-vehicle clock no longer runs while a player is near the vehicle. Previously the "empty since" timer started and ran regardless, and a nearby player was only checked at the moment it expired (the removal was merely postponed). Now a player within Min Player Distance resets the clock at every sweep, and it only starts counting once the vehicle is empty AND nobody is within that distance - so a vehicle that has had players around it never counts the time they spent there as "abandoned". Min Player Distance 0 turns this off.
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 11:09:49 GMT
- Last Modified
- Sun, 04 Oct 2026 11:09:53 GMT
1.0.17
- Fixed: with the addon switched off ("Enabled" unchecked) its whitelist veto over the game's own
garbage system, and the blacklisting of whitelisted entities, stayed active. The addon is now fully
inert when disabled.- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 10:23:01 GMT
- Last Modified
- Sun, 04 Oct 2026 10:23:04 GMT
1.0.16
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 10:11:27 GMT
- Last Modified
- Sun, 04 Oct 2026 10:11:31 GMT
1.0.15
- Added: "Disable Vanilla Garbage System" option (checkbox in Editing: Scenario Properties, and "disableVanillaGarbage" in GSC_Settings.json; off by default). When on and the addon is enabled, the game's own built-in garbage
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 09:53:52 GMT
- Last Modified
- Sun, 04 Oct 2026 09:53:59 GMT
1.0.14
- Added: the whitelisted-item watch now also records how far the nearest player was at its last check and prints it with the "GONE" line, to show whether something only vanishes while a player is close.
- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 09:50:33 GMT
- Last Modified
- Sun, 04 Oct 2026 09:50:39 GMT
1.0.13
- Fixed: whitelisted prefabs could still be deleted by the game's own garbage system, even after being
blacklisted from it, because that blacklist can be bypassed and an entity can be tracked at any
later point. The addon now hooks that system directly (OnInsertRequested / OnBeforeDelete) and
refuses to track, or to delete, anything on the Prefab Whitelist - for items, vehicles and corpses
alike. With Debug Logging on, each refusal is logged ("Vanilla garbage system: refused to track /
PREVENTED deletion of ..."). The earlier "withdrawn from the vanilla garbage system" log line also
never fired because the check ran after the blacklist call had already withdrawn the entity; fixed.- Game Version
- 1.8.0.13
- Created
- Sun, 04 Oct 2026 09:13:50 GMT
- Last Modified
- Sun, 04 Oct 2026 09:13:55 GMT
1.0.12
- Fixed: "Reload Config From File" now fully applies the reloaded settings. Before, the values were copied in but the abandoned-vehicle sweep kept its old interval/on-off state and a newly disabled addon kept its pending timers until the next restart; the settings-changed notification also wasn't fired on the server itself. - Fixed: when the tracking cap forced an early eviction, the oldest tracked entity was deleted without re-checking it still qualified - a queued item that had since been picked up (or a wreck that had been repaired) could be deleted out of someone's inventory/hands if Min Player Distance was 0. It is now dropped from tracking instead, and the next-oldest is considered. - Fixed: an item picked up and dropped again had its timer reset but kept its old (oldest) position for eviction, so it could be evicted while freshly dropped. It now moves to the newest position. - Fixed: an entity already waiting on its cleanup timer when it became whitelisted (config reload) or when Seeding Mode was switched on was still deleted when the timer fired. Whitelisted ones are now dropped from tracking; with Seeding Mode on they stay tracked and are re-checked later instead. - Fixed: reloading the config could, depending on how the JSON reader fills an existing array, append to the old whitelist instead of replacing it; it now starts from an empty list.
- Game Version
- 1.8.0.13
- Created
- Sat, 03 Oct 2026 07:26:18 GMT
- Last Modified
- Sat, 03 Oct 2026 07:26:23 GMT
1.0.11
- Added: persistent log file. The addon's log lines (removals, queued/re-dropped entities, whitelist decisions, cap evictions, the whitelisted-item watch below) are now also appended, timestamped, to $profile:GarbageCollector/GSC_Log.txt, in addition to the console. Written in batches every few seconds (not once per line) and on mission end; once the file passes 5 MB it is rotated to GSC_Log_old.txt, so it can't grow unbounded. Follows Debug Logging (off = nothing written apart from one "Started" line per mission start). The very chatty per-drop "Main base check"/"Arsenal proximity" diagnostics stay console-only so they don't bury everything else in the file.
- Game Version
- 1.8.0.13
- Created
- Sat, 03 Oct 2026 07:16:11 GMT
- Last Modified
- Sat, 03 Oct 2026 07:16:17 GMT
1.0.10
- Fixed: Prefab Whitelist entries are now also protected from the game's own built-in garbage system (GarbageSystem), not just from this addon's cleanup. That system tracks vehicles (and other entities) and deletes them on its own timers, independent of this addon, so a whitelisted vehicle could still disappear even though the Garbage Collector never touched it. Whitelisted entities are now blacklisted from it, and withdrawn if it had already picked them up - when a vehicle registers, on every abandoned-vehicle sweep, and when a whitelisted item/corpse/wreck is processed.
- Game Version
- 1.8.0.13
- Created
- Fri, 02 Oct 2026 19:22:20 GMT
- Last Modified
- Fri, 02 Oct 2026 19:22:26 GMT
1.0.9
- Fixed/Changed: live ordnance is now never removed by the Garbage Collector. Previously, a thrown grenade/smoke, a fired RPG/launcher rocket, an underbarrel (UGL) grenade round or a mortar/tank shell could be deleted mid-flight or right after impact - instantly if it happened to land near a faction's main base or an Arsenal, or otherwise after its cleanup delay elapsed. An entity is now recognized as this kind of munition via its ProjectileMoveComponent (the base move component shared by all of the above, including hand grenades via the GrenadeMoveComponent subclass), and whether it was actually thrown/fired is told apart from merely being dropped by hand by its velocity. One that was truly launched is never touched again by this addon, at any point, no matter where it lands or how close to a main base/Arsenal - the game's own impact/explosion logic is what removes it; a dud that never goes off is left behind permanently, by design. One that was merely placed on the ground by hand (not thrown/fired) is not live ordnance and is simply treated like any other dropped item - the "Clean Grenades/Smokes" category and its separate safety delay have been removed, as they're no longer needed. - Added: "Max Tracked Corpses", "Max Tracked Vehicle Wrecks" and "Max Tracked Ground Items" settings (each defaulting to 500, same as before). This was previously a single fixed internal limit shared across all three; once hit, anything further of any kind was silently skipped forever, never cleaned - so, for example, a flood of dropped items could starve out corpse cleanup too. Each kind now has its own independent cap. Scenarios that deliberately drop/spawn/kill very large numbers of one kind at once (load testing, seeding) can raise just that one instead of running into a shared hard-coded ceiling. - Changed: reaching a kind's tracking cap no longer permanently skips the new candidate. Instead, the oldest tracked entity of that kind is now removed early to make room for it (unless a player is standing right next to that oldest one, in which case it's left alone and the new candidate is skipped instead, as before). Since every entity of a kind shares the same lifetime, the oldest tracked one was already closest to being cleaned up on its own anyway, so this only ever pulls a due cleanup slightly forward - it never causes anything to be left permanently untracked the way hitting the cap used to. - Optimized: on game modes without real Campaign/Conflict main bases (Instant Clean At Main Base then always falls back to a spatial "is there an Arsenal nearby" query), that query is now cached for up to 2 seconds and reused for any drop within ~3m of the last checked spot, instead of re-running a fresh world query for every single drop. Meaningfully cuts the cost of drop-heavy moments (a firefight, someone clearing out an inventory) on such game modes. Negligible accuracy trade-off: right at the edge of the radius, a result can be up to ~3m/ 2s stale - irrelevant for what is a soft gameplay boundary, not a hard rule. That cache is explicitly cleared whenever a related setting changes (Main Base Radius, Instant Clean At Main Base, Seeding Mode, Seeding Mode Main Base Radius, or a full config reload), so it can never carry a stale result across a settings change even in edge cases. - Added: "Abandoned Vehicle Check Interval" setting (default 300s/5 min, same as before). This was previously a fixed internal constant controlling how often the abandoned-vehicle sweep (the only periodic/polling check in the whole addon) re-scans every registered vehicle. Lowering it detects an abandoned vehicle sooner after its delay elapses; raising it is cheaper on very large vehicle counts. Changing it while the sweep is already running restarts it immediately with the new interval, no mission/server restart needed. - Changed: every lifetime/radius/delay/cap field in "Editing: Scenario Properties" now visually nests under its own "Clean X"/toggle checkbox (indented, like vanilla's "Killfeed Type" and its "Receive Killfeed From"/"Friendly Fire Killfeed Settings"), instead of appearing as a flat list. Purely a display change - which fields are actually enabled/greyed-out is unaffected. - Added: with Debug Logging on, the Arsenal-proximity fallback check now prints exactly which entity it found and how far away it was (e.g. "found 'Arsenal_1' 42m away (radius=100m)"), or that none was found, instead of just a plain yes/no. Makes it possible to actually verify an "instant clean" decision against a specific entity rather than guessing whether one exists within the (default 100m, easy to underestimate) radius. Cached reuses are logged too, noting how many seconds old the result is. - Fixed: a dropped item or vehicle that itself carries an SCR_ArsenalComponent (e.g. a supply crate, an arsenal-equipped truck) could find ITSELF in the Arsenal-proximity check (0m away) and be treated as always being at a main base - instantly deleting the item the moment it was dropped regardless of actual location, or permanently exempting the vehicle from abandoned- vehicle cleanup. The entity being checked is now always excluded from its own proximity query.
- Game Version
- 1.8.0.13
- Created
- Sat, 26 Sep 2026 01:31:15 GMT
- Last Modified
- Sat, 26 Sep 2026 01:31:18 GMT
1.0.8
Added Seeding Mode
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 19:01:37 GMT
- Last Modified
- Fri, 25 Sep 2026 19:01:39 GMT
1.0.7
RPC Calls for Server Config -> Client
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 15:12:28 GMT
- Last Modified
- Fri, 25 Sep 2026 15:12:52 GMT
1.0.6
Added Fallback: [GSC Garbage Collector] Main base check: no SCR_CampaignFactionManager (not a Campaign/Conflict game mode) - falling back to Arsenal proximity. [GSC Garbage Collector] Removed instantly (dropped near main base)
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 14:25:26 GMT
- Last Modified
- Fri, 25 Sep 2026 14:25:30 GMT
1.0.5
Updated Editor Menu
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 13:43:43 GMT
- Last Modified
- Fri, 25 Sep 2026 13:43:47 GMT
1.0.4
Editor Menu Changes
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 13:41:11 GMT
- Last Modified
- Fri, 25 Sep 2026 13:41:14 GMT
1.0.3
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 13:17:57 GMT
- Last Modified
- Fri, 25 Sep 2026 13:18:00 GMT
1.0.2
GSC Garbage Collector - Changelog - Automatic, event-driven cleanup of dead characters, destroyed vehicle wrecks, and dropped ground items/weapons. No manual World Editor setup required - the mod hooks the game mode directly and works on any mission automatically. - Grenades and smokes are cleaned up after a configurable safety delay, so live ordnance is never touched. - Empty magazines dropped on the ground are removed instantly. - Instant cleanup of items, grenades and smokes dropped within a configurable radius of any faction's Main Operating Base (Conflict/Campaign game modes). - Abandoned but intact vehicles (nobody inside, not parked at a main base) are removed after a configurable delay, with an ongoing player-proximity check. - Items dropped and picked back up are no longer removed early - if an item is dropped again later, its cleanup timer restarts from the full configured lifetime. - A minimum player-distance check prevents anything from being removed while a player is standing nearby; removal simply retries after a short delay instead. - All settings are configurable in-game via "Editing: Scenario Properties" under the dedicated "GSC Garbage Collector" tab - enable/disable each cleanup category independently and tune every lifetime/radius/delay value. - Settings persist across mission changes and full server restarts (stored in GSC_Settings.json under the server profile). - Prefab whitelist (edited via GSC_Settings.json) permanently protects specific entities/prefabs from any cleanup; the current whitelist is viewable in-game via a read-only list in Scenario Properties. - "Reload Config From File" option to re-read GSC_Settings.json on demand (e.g. after editing the whitelist), without restarting the mission or server.
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 12:35:39 GMT
- Last Modified
- Fri, 25 Sep 2026 12:35:44 GMT
1.0.1
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 11:21:23 GMT
- Last Modified
- Fri, 25 Sep 2026 11:21:26 GMT
1.0.0
- Game Version
- 1.8.0.13
- Created
- Fri, 25 Sep 2026 11:20:10 GMT
- Last Modified
- Fri, 25 Sep 2026 11:20:16 GMT
Showing 1 to 25 of 25 results
Rows per page
Showing 1 to 25 of 25 results
Rows per page