docs(rust): the last fixes' docs (N1 N2 W20 W22 W23) and stage 4's core docs

Stage 5 of PLAN_LAST_FIXES (docs#366).

- OPERATING.md: a RaidableBases section. Change its config with a
  restart, never a reload (N2); switching to the free edition rewrites
  a paid pack's profiles (N1).
- PLAN_REDESIGNS 14.3.4: no manual retry for Dangerous Treasures (Q39,
  W20); 11.4: which hook rbevent setowner raises (W23); 9.1 status.
- PLAYER_WALK: rows 2.2, 2.8 and 2.9, Before you start item 8 (BetterChat
  and the four title rules), Carbon's share trimmed to 2.11 (W22, W23).
- PROTOCOL: 20.5 world.error already-out (W3), 20.12 the rollback's log
  is RaidableBases' own (W9) and setowner's two hooks (W23).
- Core, from website#219: MODULE_SYSTEM 2.5 and MODULE_API 4.2 (one
  module at boot, W19), MODULE_API and EVENTS L (a resource's until read
  at reconcile, W1), EVENTS D/I/K and BACKEND_DESIGN (a draft's dry run
  carried by fingerprint, W5), EVENTS observability (W2's words).
- PLAN_LAST_FIXES: status, Q37-Q40 answers, 7 updated, 8 what was built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
2026-10-22 01:36:57 -05:00
parent 27dd1f8d80
commit 20518ca816
9 changed files with 177 additions and 39 deletions

View File

@@ -5,8 +5,8 @@ configure and permission plugins. This is the surface our own deployment story h
of, the way [`installer/INSTALL.md`](../../installer/INSTALL.md) sits on top of ServUO.
> **Mirrored verbatim from uMod on 2026-09-15** — 6 pages. uMod is upstream and normative.
> The last section, [Guarded Crate and NpcSpawn](#guarded-crate-and-npcspawn), is Runic Gateway's own and
> is not part of the mirror.
> The last two sections, [Guarded Crate and NpcSpawn](#guarded-crate-and-npcspawn) and
> [RaidableBases](#raidablebases), are Runic Gateway's own and are not part of the mirror.
---
@@ -19,6 +19,7 @@ of, the way [`installer/INSTALL.md`](../../installer/INSTALL.md) sits on top of
- [Data Files](#data-files-plugins-data-files) — Where plugin data lives on disk
- [Permissions](#permissions-plugins-permissions) — Granting permissions and managing groups in-game
- [Guarded Crate and NpcSpawn](#guarded-crate-and-npcspawn) — Runic Gateway's note on an optional plugin that needs a Codefling extension
- [RaidableBases](#raidablebases) — Runic Gateway's note on changing RaidableBases' config and switching its edition
---
@@ -410,3 +411,29 @@ not check and would drop a crate with no guards. Admin → Rust servers shows Np
as it ships), not its config. The site offers whatever names that file holds. A crate placed by an event is
**kept when the event ends** (D373): Guarded Crate has no way to end one event, and `gcrate stop all` ends every
one on the server.
---
<a id="raidablebases"></a>
## RaidableBases
<sub>Runic Gateway's own section, not mirrored. Design: [PLAN_REDESIGNS.md](PLAN_REDESIGNS.md) §11.4; wire:
[PROTOCOL.md](../../rust-link/PROTOCOL.md) §20.12; found in the end walk
([PLAN_LAST_FIXES.md](PLAN_LAST_FIXES.md) N1, N2).</sub>
**RaidableBases** is one of the optional plugins Runic Gateway reports and drives, in either edition (D348).
Two of its own behaviours catch operators out.
**Change its config with a server restart, never a reload (N2).** *Applying changes* above says to reload a
plugin after editing its config. Do not do that with RaidableBases while the server is running. After
`oxide.reload RaidableBases`, its list of live raids can hold an empty entry. Every hook that walks that list
then fails: damage to a base, its SAM sites, players' commands, and `/buyraid`'s cooldown check, so a purchase
does nothing and charges nothing. The end walk saw this after reloads with and without bases up, and only a
full server restart cleared it. It is RaidableBases' own bug. Carbon's `c.reload` was not tried in the end walk, so treat it
the same way: edit the config, then restart the server.
**Switching from the paid edition to the free one rewrites the paid profiles (N1).** Putting the free
edition's `RaidableBases.cs` in place of the paid one rewrites the profiles a paid base pack installed, and
their bases are dropped from them. Going back to the paid edition does not bring them back. Back up
RaidableBases' config and data folders before you switch editions, and restore them if you switch back.