feat(rust): RaidableBases — feed, raids map layer, Warlord, Spawn a raid base, profiles (PLAN_REDESIGNS §11.4) #51

Merged
whitlocktech merged 1 commits from feat/raidable-bases into edge 2026-10-17 01:33:10 -05:00
Member

PLAN_REDESIGNS §11.4 (D202–D208, D386–D391), protocol 14. Spec: docs rust-link/PROTOCOL.md §20.12.

  • Feed: raid.started, raid.completed, raid.purchased and raid.locked are public kinds; raid.ended is staff's. raidableBases.js reads each row per viewer: the raiders' and a buyer's names only for the presence audience (D376, D390); Steam ids, the position and a run's key only for staff. The lines are in the World events filter.
  • The step rust.raidbase.spawn, Spawn a raid base (ledgered, budget rust.raids):
    • Difficulty, profile and base come from option sources that list each server's own names (D386); every name in the tests is invented.
    • A spot is a world call's location, with a height adjustment or an exact height. PvP, NPCs and the lock are on/off/blank.
    • A base the raids helper made is a world resource, so eventWorld's revert and reconcile serve it and world.expired marks it expired. One it didn't make records nothing, and the run log says it despawns on its own timer.
    • It is refused at verify where the server said it can't. A dry run with a spot returns the spot check as detail.warnings (D391, shown by website#217's core; an older core just doesn't show it). rb-not-ready retries in ten minutes.
  • Warlord: raids_completed, title category raidscompleted, and the leaderboard's Raid bases column (sort=raidsCompleted).
  • The map's raids layer (D114) is public by default with its own audience in Admin → Rust visibility. The run's key is dropped before any viewer gets it.
  • Elsewhere: server settings' line; RaidableBases' profiles in Mod configuration (D205); swagger fragment, bundle and README.

coreApi stays ^1.15.0. Tests: server 684/684 (new raidableBases.test.js); client 99/99, build and externals; check:bundle, check:imports, check:swagger and check:engagement all pass.

Siblings: Rust-Plugins, Rust-Link and installer feat/raidable-bases, and website#217.

  • AI-assisted: written with Claude Code (Claude Opus 5.5)

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

PLAN_REDESIGNS §11.4 (D202–D208, D386–D391), protocol 14. Spec: docs `rust-link/PROTOCOL.md` §20.12. - **Feed:** `raid.started`, `raid.completed`, `raid.purchased` and `raid.locked` are public kinds; `raid.ended` is staff's. `raidableBases.js` reads each row per viewer: the raiders' and a buyer's names only for the presence audience (D376, D390); Steam ids, the position and a run's key only for staff. The lines are in the *World events* filter. - **The step `rust.raidbase.spawn`**, *Spawn a raid base* (ledgered, budget `rust.raids`): - Difficulty, profile and base come from option sources that list each server's own names (D386); every name in the tests is invented. - A spot is a world call's location, with a height adjustment or an exact height. PvP, NPCs and the lock are on/off/blank. - A base the raids helper made is a `world` resource, so `eventWorld`'s revert and reconcile serve it and `world.expired` marks it expired. One it didn't make records nothing, and the run log says it despawns on its own timer. - It is refused at verify where the server said it can't. A dry run with a spot returns the spot check as `detail.warnings` (D391, shown by website#217's core; an older core just doesn't show it). `rb-not-ready` retries in ten minutes. - **Warlord:** `raids_completed`, title category `raidscompleted`, and the leaderboard's **Raid bases** column (`sort=raidsCompleted`). - **The map's `raids` layer** (D114) is public by default with its own audience in Admin → Rust visibility. The run's key is dropped before any viewer gets it. - **Elsewhere:** server settings' line; RaidableBases' profiles in Mod configuration (D205); swagger fragment, bundle and README. coreApi stays `^1.15.0`. Tests: server 684/684 (new `raidableBases.test.js`); client 99/99, build and externals; `check:bundle`, `check:imports`, `check:swagger` and `check:engagement` all pass. Siblings: Rust-Plugins, Rust-Link and installer `feat/raidable-bases`, and website#217. - [x] AI-assisted: written with Claude Code (Claude Opus 5.5) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-16 19:30:43 -05:00
feat(rust): RaidableBases — feed, raids map layer, Warlord, Spawn a raid base, profiles (PLAN_REDESIGNS §11.4)
All checks were successful
PR Checks / server-tests (pull_request) Successful in 37s
PR Checks / client-build (pull_request) Successful in 24s
PR Checks / frozen-manifest (pull_request) Successful in 49s
481837e937
PLAN_REDESIGNS §11.4 (D202-D208, D386-D391), protocol 14. Spec: docs
rust-link/PROTOCOL.md §20.12.

- raid.started, raid.completed, raid.purchased and raid.locked public,
  raid.ended staff's; raidableBases.js reads each row per viewer (raiders'
  and a buyer's names only for the presence audience, D376/D390; Steam ids,
  position and a run's key only for staff). Feed lines in the World filter.
- The step rust.raidbase.spawn, "Spawn a raid base" (ledgered, budget
  rust.raids): difficulty, profile and base from option sources listing each
  server's own names (D386), a spot as a world call's location with a height
  adjustment or an exact height, and PvP/NPCs/lock as on/off/blank. A base
  the raids helper made is a world resource, so eventWorld's revert and
  reconcile serve it and world.expired marks it expired; one it did not make
  records nothing and the run log says it despawns on its own timer. Refused
  at verify for a server that said it cannot; a dry run with a spot returns
  the spot check as detail.warnings (MODULE_API 1.16.0, D391). rb-not-ready
  retries in ten minutes.
- Warlord: raids_completed, title category raidscompleted, the leaderboard's
  Raid bases column (sort=raidsCompleted).
- The map's raids layer (D114), public by default with its own audience; the
  run's key is dropped before any viewer gets it.
- Server settings' line for RaidableBases; its profiles in Mod configuration
  under a virtual path (D205).
- Swagger fragment, bundle and README.

Tests: server 684/684 (raidableBases.test.js new, every name in it invented);
client 99/99, build and externals.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit f93ba86883 into edge 2026-10-17 01:33:10 -05:00
whitlocktech deleted branch feat/raidable-bases 2026-10-17 01:33:11 -05:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RunicGateway/Module-Rust#51
No description provided.