feat(bridge): Dynamic PVP's zones on protocol 14 (PLAN_REDESIGNS §14.3.3)
All checks were successful
PR Checks / plugin-checks (pull_request) Successful in -2m8s
All checks were successful
PR Checks / plugin-checks (pull_request) Successful in -2m8s
Stage 4 of the §14.3 integration plan, specified in docs
rust-link/PROTOCOL.md §20.7 and §17.3.
- pvp.zone.created { zoneId, event, x, z, radius, shape, durationSec } from
OnCreatedDynamicPVP, and pvp.zone.deleted { zoneId, event } from
OnDeletedDynamicPVP. Neither is sent while the world is not live.
- Size and place come from ZoneManager: a sphere's Radius, or half a cube's
longer side (cargo's zone is a cube); the position is the zone's transform,
so cargo's moves with the ship.
- map.live gains a `pvp` layer of the live zones, kept by the two hooks and
seeded from Dynamic PVP's own AllDynamicPVPZones / GetEventName at world
ready and when it loads; a zone ZoneManager no longer holds is dropped.
- hello's integrations.dynamicPvp, sent again when it loads or unloads;
rg.world prints dynamicPvp= and pvpZones=; both hooks join rg.hooks.
- The bridge never makes, maps or erases one of Dynamic PVP's zones.
Compiled and loaded on both rigs (Rust 25902425, Oxide 2.0.7830, Carbon
2.0.262).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -115,6 +115,10 @@ protection inside it, or use one of the operator's own TruePVE rulesets by name;
|
||||
zone step says "TruePVE is not installed on this server". The bridge only ever adds and removes the
|
||||
mappings of zones it opened, and removes each one with its zone, even when TruePVE was away at the time.
|
||||
|
||||
HunterZ's `Dynamic PVP` (which needs ZoneManager and TruePVE) is optional too. Where it is loaded, the
|
||||
PvP zones it opens around a downed helicopter, a Bradley, cargo and the rest reach the site's feed and
|
||||
its map. The bridge only reads them: it never makes, maps or erases one of Dynamic PVP's zones.
|
||||
|
||||
Rust's own world events need no plugin at all. The patrol helicopter, Bradley, the cargo ship, the
|
||||
Chinook, airdrops, locked crates, the Travelling Vendor, the satellite and the Deep Sea reach the
|
||||
site's feed and its event triggers on every server, and an event can call one of them (`world.call`).
|
||||
|
||||
Reference in New Issue
Block a user