docs(rust): stage 7 built — ZLevels (PROTOCOL §20.10, PLAN_REDESIGNS §14.3.20)
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -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
|
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
|
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
|
(§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
|
**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
|
§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.
|
**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)
|
#### 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
|
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
|
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.
|
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
|
### 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
|
**Answered on 2026-10-14:** Q17 as proposed, out (D358). **Q18 against the proposal: the end walk waits for
|
||||||
|
|||||||
@@ -3374,3 +3374,29 @@ events like any other.
|
|||||||
server reports Guarded Crate or a row counts one (`guardedCrate: true` on the answer).
|
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
|
- 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.
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user