code wiki / _hdl_build / nx_pets_mp_relay_gate.nx
nx_pets_mp_relay_gate.nx
buildroot/runtime/_hdl_build/nx_pets_mp_relay_gate.nx
about
nx_pets_mp_relay_gate.nx -- proves multiplayer pixelmon player-state transport:
the sovereign player-state codec (nx_pets_netstate) carried over the sovereign
server-relay (nx_room_relay) = no WebRTC/STUN/TURN/WebSocket. Each player POSTs a
packed snapshot; another player reads the roster, fetches that peer's frame, unpacks
it -> its decoded position/species. This is the exact transport MP-R1/R2 build on.
1) round-trip: A & B in a room -> A sees B in roster + decodes B's pos/species
(B's z is NEGATIVE -> exercises sign-extended i32 decode)
2) room isolation (neg-control): a peer in another room never appears
3) staleness: peers past TTL drop from the roster
4) bad-magic reject (neg-control): ps_unpack on garbage returns 0, no fabricated data
5) anti-tautology: A's decoded state != B's decoded state (real per-peer frames)
Built nx_cc_sovereign -> nxasm_x86 (no gcc, no .sh).
license_tier: ORIGINAL
dependencies 4 imports · 0 importers
imports: nx_syscalls.nxnx_gate_emit_lib.nxnx_room_relay.nxnx_pets_netstate.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 19 | func setf(f: *i64, x: i64, y: i64, z: i64, yaw: i64, pitch: i64, sp: i64, caught: i64, act: i64, anim: i64, flags: i64) -> i64 called by 1: main |
| 25 | func main() -> i64 |