ALiVE.OS · ALiVE 3 Development
Quiet server-side housekeeping that clears dead bodies, wrecks, and clutter to keep long missions running smoothly.
In development · ALiVE 3
ALiVE 3 is in active development. This briefing describes work in progress, and the behaviour it covers is subject to change as testing continues. Check the changelog at the foot of the page for what has moved recently.
Overview
Garbage Collector is a background housekeeping module. It does not add gameplay, AI, or anything a player interacts with directly. Its only job is to periodically clear away dead bodies, destroyed vehicle wrecks, and empty groups so they do not pile up and drag down performance over a long mission. It runs quietly on the server with no visible interface. There is no Garbage Collector module to place, and there never has been: it is started automatically by the ALiVE (Required) module that every ALiVE mission already has, and its three settings sit on that module's attributes rather than on one of its own.
Under the hood it keeps a queue of dead or empty objects, waits a short grace period before deleting each one (so wrecks and bodies do not pop out of existence instantly), and skips deletion for anything currently near a player. If the number of dead objects ever grows past a configured limit, it clears the backlog immediately instead of waiting, which is the module's main safeguard against performance dropping off during long or heavy fights.
Capabilities
Every set number of seconds (300 by default) the module checks for dead bodies, wrecked vehicles, and empty groups on the map and queues them for removal. Setting the interval to 0 turns the whole system off.
Anything already dead, a body or a wrecked vehicle alike, waits 60 seconds before it is deleted, while an object that is still intact when it is queued waits 30 seconds, so nothing vanishes the instant it drops. Objects are also left in place while a player is nearby, unless the overload safeguard has kicked in, in which case the backlog is cleared regardless of where players are.
If the number of dead units on the map passes a configurable limit (100 by default), the module skips the delay and the nearby-player check, so the backlog drains at its normal steady rate rather than waiting to age out.
Mission makers can list additional object classes, such as ammo crates, that should also be swept up by the cleanup pass. Nothing extra is removed unless explicitly listed.
How to use it
Settings
These three settings sit on the ALiVE (Required) module, under the GARBAGE COLLECTOR heading. The collector has no module of its own.
The collector sweeps every 2 minutes and clears the whole backlog at once when 60 dead objects are on the map, so bodies and wrecks don't build up.
Objects of those classes are queued like bodies and wrecks, and deleted 30 seconds later while a player is not within 1700 m.
Nothing is swept or queued, so bodies and wrecks stay until something else removes them.
Choices: A number of seconds; 0 is off
How many seconds pass between sweeps for dead bodies, wrecks and empty groups. 0 turns the collector off completely.
Choices: A number of dead objects
The number of dead objects on the map at which the collector stops waiting. Once that many are dead, it clears everything queued straight away, even near a player.
Choices: A list of classnames
Extra object classes to sweep up, as a list in square brackets with each class in quotes. Nothing extra is removed while it's empty.
Recent work
Status
Runs on a configurable interval, sweeping up dead units, vehicle wrecks, and empty groups.
Dead objects sit for a short delay before removal, and are left alone while a player is close by. The one exception is the overload safeguard: once the number of dead objects on the map reaches the limiter value, the backlog is cleared straight away, including anything near a player.
A configurable dead-object limit skips the delay and the nearby-player check if the map is accumulating corpses and wrecks faster than the normal delay can clear them, so the backlog drains at its normal steady rate instead of waiting to age out.
Mission makers can name additional object classes (crates, ordnance boxes, etc.) to include in the cleanup.
Testing
This module has no interface to test in the traditional sense. There is nothing to place. Set the Garbage Collector options on the ALiVE (Required) module (for a quicker test, set Garbage Collector Interval to something short like 30), start the mission, and confirm two things: that killed units and destroyed vehicles disappear once you are more than 1700 m away, or once the overload safeguard kicks in, rather than lingering indefinitely (at the default interval of 300 seconds, allow up to about six minutes: the next cleanup pass, then a 60 second wait), and that objects within 1700 m of a player are not deleted out from under them. If a debug option is enabled on the module, it will print its cleanup activity to the log, which is the easiest way to confirm it is running and to see what it removed and when. Testing on a long, high-casualty mission is the most meaningful check, since the module's whole purpose is preventing dead-object buildup over time.
Spotted a problem? Please report it on the ALiVE issue tracker on GitHub, with the map, rough location and what the units were doing so it can be reproduced.
Changelog