From 8ca6a6cc407376249b4b5ebb8b4b7577737dc846 Mon Sep 17 00:00:00 2001 From: wtclaude Date: Thu, 15 Oct 2026 18:27:59 -0500 Subject: [PATCH] =?UTF-8?q?docs(rust):=20stage=207=20built=20=E2=80=94=20Z?= =?UTF-8?q?Levels=20(PROTOCOL=20=C2=A720.10,=20PLAN=5FREDESIGNS=20=C2=A714?= =?UTF-8?q?.3.20)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PROTOCOL.md §20.10: hello's integrations.zLevels, and nothing more (D374). PLAN_REDESIGNS §14.3.20 records the build, two points settled in code, the tests and the rig check; pointers from §9's summary and §14.3.6. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY --- modules/rust/PLAN_REDESIGNS.md | 33 ++++++++++++++++++++++++++++++++- rust-link/PROTOCOL.md | 26 ++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/modules/rust/PLAN_REDESIGNS.md b/modules/rust/PLAN_REDESIGNS.md index e149b87..106a8bb 100644 --- a/modules/rust/PLAN_REDESIGNS.md +++ b/modules/rust/PLAN_REDESIGNS.md @@ -930,7 +930,7 @@ pulls) is research, not a walk, so it still comes first: answered before code: **written on 2026-10-14 as §14.3**, from D361–D369, and answered as D370–D376. Then the build, in §14.3.11's nine stages (two of them core), §13 first. **Stage 1, §13, was built on 2026-10-15 (§14.3.14)**, with D378 and D379. **Stage 2, core's `retryAfterMs` (MODULE_API 1.15.0), was built on - 2026-10-15 (§14.3.15).** **Stage 3, TruePVE in the zone step, was built on 2026-10-15 (§14.3.16)**, and **stage 4, Dynamic PVP, the same day (§14.3.17)**, and **stage 5, Dangerous Treasures, the same day (§14.3.18)**, and **stage 6, Guarded Crate, the same day (§14.3.19).** + 2026-10-15 (§14.3.15).** **Stage 3, TruePVE in the zone step, was built on 2026-10-15 (§14.3.16)**, and **stage 4, Dynamic PVP, the same day (§14.3.17)**, and **stage 5, Dangerous Treasures, the same day (§14.3.18)**, and **stage 6, Guarded Crate, the same day (§14.3.19)**, and **stage 7, ZLevels, the same day (§14.3.20).** **Then one walk, on Oxide and Carbon, of everything still owed (D331):** §2.7; §11's rows; §12.9; §13's and §14's rows; the in-game rows @@ -2652,6 +2652,8 @@ dropped. D369 still holds in what remains: nothing is done at a wipe. **Walk rows.** Lend `vip2` from a run and see the XP rate change at once, and back at the run's end. +> **Built on 2026-10-15** (§14.3.20), specified in PROTOCOL.md §20.10, as planned here. + #### 14.3.7 Server Rewards (D369) It mirrors §11.2.2 (Economics) wherever Server Rewards allows, and the code shares Economics' path where the two @@ -3178,6 +3180,35 @@ the sidecar and the site are §14.3.5's walk rows, at the end walk (D331, D359). placement raising no airdrop line; `gcrate stop all` taking a crate off the map; and a crate's guards killed by a RunicNPC NPC, which clears it for nobody. +#### 14.3.20 Stage 7, built: ZLevels Remastered (2026-10-15) + +Built in Rust-Plugins and Module-Rust as §14.3.6 planned it (D374), specified in +[PROTOCOL.md](../../rust-link/PROTOCOL.md) §20.10. **No Rust-Link change**: the sidecar forwards hello whole. +`PROTOCOL_VERSION` stays 14. Builds: Rust 25902425, Oxide 2.0.7830, Carbon 2.0.262, ZLevels Remastered 3.3.1 on +both rigs, each the newest. + +**What was built:** hello's `integrations.zLevels` (`{ loaded, version }`, found by the plugin name +`ZLevelsRemastered`); hello sent again when ZLevels loads or unloads; `rg.world` prints `zLevels=`; and Server +settings' plugin line: *"ZLevels 3.3.1 is loaded — an event may lend its XP boosts (zlevelsremastered.vip1 to +vip3) as permissions."* No level is read and nothing is stored. + +**Settled in the code, and overrulable:** + +1. **The plugin line names the three VIP permissions as ZLevels ships them.** An operator who renamed them in + ZLevels' config sees the shipped names on that line; the lend step's picker lists whatever ZLevels really + registered (§12.2), so nothing is lent wrong. +2. **The ZLevels group names** (`zlevelsvip1`–`3`, ×5–×7) are not mentioned. They are groups, and a run lends + permissions, not groups. + +**Tests.** No new automated test: the servers page's lines are in a `.jsx` file the client's runner cannot +import, as §14.3.16–§14.3.19's were, so the line is checked at the walk. Full suites: Module-Rust server 643/643 +and every check (imports, bundle, swagger, engagement), client 95/95, the build and externals; Rust-Plugins' +`checkPlugin.js` (84 hooks) and its 18 tests. On both rigs the bridge compiled and loaded, and `rg.world` read +`zLevels=absent`, then `zLevels=3.3.1` once ZLevels loaded, then `zLevels=absent` once it was removed. Both rigs +were then cleaned of ZLevels and its files, and put back on the protocol-13 bridge. + +**Walk rows** are §14.3.6's, with one more: Server settings' line for a server with and without ZLevels. + ### 14.4 Questions for the org lead **Answered on 2026-10-14:** Q17 as proposed, out (D358). **Q18 against the proposal: the end walk waits for diff --git a/rust-link/PROTOCOL.md b/rust-link/PROTOCOL.md index b471c58..cd076e6 100644 --- a/rust-link/PROTOCOL.md +++ b/rust-link/PROTOCOL.md @@ -3374,3 +3374,29 @@ events like any other. server reports Guarded Crate or a row counts one (`guardedCrate: true` on the answer). - The map draws a running event on the world layer. Server settings' plugin line names Guarded Crate and NpcSpawn, the events, and whether a step can place one. + +### 20.10 ZLevels Remastered — hello only (§14.3.6, D369, D374) + +nivex's **ZLevels Remastered** (3.3.1, uMod), optional like Economics (D199) and not in `overlay.toml`. It +levels six gathering and crafting skills. **The bridge only says whether it is loaded.** No level is read, +nothing goes on the wire for it, and the site stores nothing: the leaderboard is not changed for it (D374), +and nothing is done at a wipe (D369). The design is [`PLAN_REDESIGNS.md`](../modules/rust/PLAN_REDESIGNS.md) +§14.3.6, and the stage-7 record is §14.3.20 there. + +**Hello and status.** `integrations` gains `zLevels`: + +```json +"zLevels": { "loaded": true, "version": "3.3.1" } +``` + +Hello is sent again when ZLevels loads or unloads. `rg.world` prints `zLevels=` (its version, or `absent`). + +**Its XP boosts need nothing here.** ZLevels' VIP XP multipliers are its own permissions +(`zlevelsremastered.vip1`–`vip3` as it ships, ×2–×4) and it reads them on every gain. So the site's +*Permissions until the event ends* step (`PLAN_REDESIGNS.md` §12.4) lends one, pushed in `perm.sync` like a +kit reward (§20.2), and it takes effect at once. + +**The sidecar** forwards hello whole, as before; nothing in it changed. + +**The website (Module-Rust).** Server settings' plugin line says whether ZLevels is loaded and, where it is, +that an event may lend its XP boosts as permissions. Nothing else reads the field.