docs(rust): the RaidableBases spikes, and D203-D208 #294
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/rust-raidablebases-spike"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
The org lead asked on 2026-09-28 how RaidableBases' many options fit the event system. They didn't fit yet; only D202's one-line plan existed.
This PR records two spikes and the decisions that came out of them, in
modules/rust/PLAN_REDESIGNS.md§11.4.1–§11.4.5:Tracking: Module-Rust#21.
Findings (RaidableBases 3.2.0 free + CopyPaste 4.3.0, Oxide and Carbon)
RaidBase1–5, which don't exist, and a base with no box is thrown away at once. The spike madeRaidBase1from the walk hut.IsPremium,GetAllDifficulties(free:Normal),GetAllEvents(it warns that its shape will change) andEventTerritory. Nothing spawns a base, despawns one or lists profiles.rbevent <base>, which places the base where RaidableBases chooses. Every base's id is"0".rbevent despawnall). Left alone, a base despawns on its profile's timer.The helper spike (§11.4.4; Oxide, free edition)
Despawn(). The usual despawn hooks fire.OpenEvent, through a Harmony postfix and a deep copy of the profile's settings. The shared profile is left untouched.BuildingOptions.Clone()is shallow. The first run's height change leaked into the shared profile until the nestedSetupobject was copied too.OnPluginLoaded.Decided (§11.4.3, §11.4.5)
RunicGatewayRaids.cs, despawns only the event's base. Without the helper, the base expires on its own timer.BypassUseOwners()that applies to the event's base only.§11.4.2 stays open for the paid edition, which the org lead will supply later this week. That spike, and the helper spike, get rerun there and on Carbon.
How it was tested
Docs only. Every figure comes from the spikes' logs.
Afterwards, the spikes, RaidableBases and CopyPaste were unloaded and deleted on both rigs, and the box placed in the walk hut was removed. Two things were left behind on purpose: the
RaidBase1CopyPaste file, and the configs the plugins wrote on first load.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
docs(rust): the RaidableBases spike, and D203-D205to docs(rust): the RaidableBases spikes, and D203-D208