Skip to content

Ports: NF's Experimental Garbage Collection System + Shipyard Directions [Thursday Test]#1023

Open
DevArchwave wants to merge 4 commits intoARF-SS13:masterfrom
DevArchwave:NFGarbageCollection
Open

Ports: NF's Experimental Garbage Collection System + Shipyard Directions [Thursday Test]#1023
DevArchwave wants to merge 4 commits intoARF-SS13:masterfrom
DevArchwave:NFGarbageCollection

Conversation

@DevArchwave
Copy link
Contributor

@DevArchwave DevArchwave commented Mar 14, 2026

About the PR

Ports Aurora Song's PR (AuroraSong14/Aurora-Song-14#150) of the NF garbage collection system (new-frontiers-14/frontier-station-14#3574) alongside their port of shipyard directions on console purchase. (AuroraSong14/Aurora-Song-14#105)

Some small changes were made and tailored for coyote, one which is just for the sake of implementation, and a change to the default CVARs of how long it takes for the GC cycle to run.

Why / Balance

Finally, we can clean objects in space.

Technical details

Quoting original PR:

A new system, a new update call. This runs regular censuses, in small chunks, on all entities parented to the main and FTL maps. Every period (set to 30 minutes in coyote), the system will note all of the items parented to the map. Can't clone the hash set directly without engine changes, so we'll have to do with enumerating over them for now.

Every census, a tick is added to every item that isn't a mindful mob that's contained by a chunk that isn't currently loaded in. This is handled in parts over several ticks to prevent spending too long on checks.

For the FTL map in particular, I'm assuming that parameters are picked so that entities that are discarded into FTL space should exit before despawning - mere presence in the FTL map implies this item has been discarded.

How to test

Spawn a shuttle, pilot it a bit away from Frontier Outpost, throw out some stuff in space.
Fly away, wait about three minutes, it should despawn and you should get a message (should be removed or collected into one message) saying which entities were removed.

This should handle placing an item on the map and then picking it back up.

Requirements

Breaking changes

This means that anytime an admin wishes to make an event grid, they MUST manually add the DeletionCensusExemptComponent to that grid, or it will be deleted by default in 2 hours. Alternatively, we could investigate an implementation in the future to make it so wrenching or initializing a shuttle console or a radar console on any grid ensures the DeletionCensusExemptComponent is added to said grid. @Superlagg probably would like this.

Changelog

Not a player facing feature, no changelog needed.

@DevArchwave DevArchwave changed the title Ports: NF's Experimental Garbage Collection System Ports: NF's Experimental Garbage Collection System + Shipyard Directions Mar 14, 2026
@DevArchwave DevArchwave marked this pull request as ready for review March 15, 2026 05:56
@DevArchwave DevArchwave changed the title Ports: NF's Experimental Garbage Collection System + Shipyard Directions Ports: NF's Experimental Garbage Collection System + Shipyard Directions [Thursday Test] Mar 15, 2026
@Superlagg Superlagg added the THURSDAY HEY DAN THURSDAY label Mar 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants