feat(rust): TruePVE in the zone step — no PvP protection, or a ruleset (PLAN_REDESIGNS §14.3.2) #45

Merged
whitlocktech merged 2 commits from feat/truepve-zone into edge 2026-10-15 06:06:14 -05:00
Member

Stage 3 of the §14.3 integration plan (D362, D368), on protocol 14. Spec: docs rust-link/PROTOCOL.md §20.6 (docs PR alongside); record: modules/rust/PLAN_REDESIGNS.md §14.3.16.

  • rust.zone.open (Open a zone) gains noPvpProtection (boolean, "No PvP protection in this zone") and pvpRuleset (string, "or this TruePVE ruleset"). They are sent as world.zone's truePve: { exclude: true } or { ruleset }.
  • Refused for good, at verify too: both set, a name over 64 characters, or a server whose hello says TruePVE is not loaded ("TruePVE is not installed on this server"). A server whose hello has not said is left to the plugin, as a dome is.
  • truepve-missing and truepve-ruleset are permanent failures, carrying the plugin's words. Only the call can tell whether a ruleset exists (D368).
  • The zone servers list carries each server's truePve from hello. Server settings' plugin line says whether TruePVE is loaded. The integrations schema documents it (swagger fragment regenerated).
  • README lists TruePVE among the optional plugins.

Two commits: the first is the feature, pushed as WIP by an earlier session; the second adds the README entry.

Tested: five new tests in test/zones.test.js. Server 603/603, plus check:imports, check:bundle, check:swagger and check:engagement. Client 84/84, the build, and check:externals. No core change, so coreApi stays ^1.14.0. Walk rows wait for the end walk (D331, D359).

AI-assisted: written with Claude Code (disclosed per org policy).

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

Stage 3 of the §14.3 integration plan (D362, D368), on protocol 14. Spec: docs `rust-link/PROTOCOL.md` §20.6 (docs PR alongside); record: `modules/rust/PLAN_REDESIGNS.md` §14.3.16. - **`rust.zone.open`** (*Open a zone*) gains **`noPvpProtection`** (boolean, *"No PvP protection in this zone"*) and **`pvpRuleset`** (string, *"or this TruePVE ruleset"*). They are sent as `world.zone`'s `truePve`: `{ exclude: true }` or `{ ruleset }`. - **Refused for good, at verify too:** both set, a name over 64 characters, or a server whose hello says TruePVE is not loaded (*"TruePVE is not installed on this server"*). A server whose hello has not said is left to the plugin, as a dome is. - **`truepve-missing` and `truepve-ruleset` are permanent failures**, carrying the plugin's words. Only the call can tell whether a ruleset exists (D368). - The zone servers list carries each server's `truePve` from hello. Server settings' plugin line says whether TruePVE is loaded. The integrations schema documents it (swagger fragment regenerated). - README lists TruePVE among the optional plugins. Two commits: the first is the feature, pushed as WIP by an earlier session; the second adds the README entry. **Tested:** five new tests in `test/zones.test.js`. Server 603/603, plus `check:imports`, `check:bundle`, `check:swagger` and `check:engagement`. Client 84/84, the build, and `check:externals`. No core change, so `coreApi` stays `^1.14.0`. Walk rows wait for the end walk (D331, D359). AI-assisted: written with Claude Code (disclosed per org policy). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 2 commits 2026-10-15 05:48:39 -05:00
Stage 3 of the §14.3 integration plan (D362, D368): world.zone's optional
truePve ({exclude: true} or {ruleset}), all or nothing, unmapped on every
path that erases one of our zones, with truepve.json for erases while
TruePVE is away. Docs and PRs still to come.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
feat(rust): TruePVE in the zone step — no PvP protection, or a ruleset (PLAN_REDESIGNS §14.3.2)
All checks were successful
PR Checks / client-build (pull_request) Successful in 24s
PR Checks / frozen-manifest (pull_request) Successful in 44s
PR Checks / server-tests (pull_request) Successful in 7m23s
e3cc95f8ab
Stage 3 of the §14.3 integration plan (D362, D368), on protocol 14 (docs
rust-link/PROTOCOL.md §20.6).

- rust.zone.open gains noPvpProtection (boolean) and pvpRuleset (string),
  sent as world.zone's truePve { exclude: true } or { ruleset }.
- Both set, a name over 64 characters, or a server whose hello says TruePVE
  is not loaded is refused for good, at verify too. A server that has not
  said is left to the plugin, as a dome is.
- truepve-missing and truepve-ruleset are permanent failures, with the
  plugin's words.
- The zone servers list carries each server's truePve from hello; Server
  settings' plugin line says whether TruePVE is loaded; the integrations
  schema documents it (swagger fragment regenerated).
- README lists TruePVE among the optional plugins.

Tests: five new in zones.test.js; server 603/603 and all checks, client
84/84 and the build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit b5f7fa0f13 into edge 2026-10-15 06:06:14 -05:00
whitlocktech deleted branch feat/truepve-zone 2026-10-15 06:06:14 -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#45
No description provided.