KB: relaunch-storm + static-seat digest (multiplayer.md, issues #33/#34)

This commit is contained in:
arcattack
2026-07-23 23:36:21 -05:00
parent d3ede2e635
commit 0d1507027c
+19
View File
@@ -638,6 +638,25 @@ phase). Plan: `~/.claude/plans/partitioned-snuggling-piglet.md`.
relay's console+game ports need to be reachable inbound — one forwarded port total; or a
playit.gg-style tunnel in front of the relay, host-side only).
## Relaunch STORM + duplicate seats (issues #33/#34, night-2 2026-07-23) [T2 rig-verified; awaiting live]
The night-2 capture: one flapping pod → ROUND ABORT → rejoiners re-ACKed within a second →
eggs instantly RE-released → the flapper's next drop aborted the NEW round (3 aborts / 8 s);
meanwhile a client with a stale identity HELLO'd `hostID 7 not in roster` → bare drop →
relaunch ~1/s → overlapping generations exhausted the D3D adapter → the device-creation 20 s
deadline fired on EVERY machine ("could not connect direct 3d"). Claim-less manual restarts
also minted DUPLICATE seats (old seat reserved with the same callsign). Fixes (d3ede2e):
**console** — abort clears stale conn ACK flags + holds egg release 8 s (`ABORT_SETTLE_SECONDS`,
`_tick_settle` re-releases when quiet); HELLO-unknown → ROUTE_REJOIN reply (identity resync,
5 s/IP limit) instead of a drop; **static seats**`seat_identity[tag]=(ip,callsign)`, a
claim-less request from the same identity reclaims its OWN seat (displacing a zombie beacon) —
the pod contract (fixed box = fixed seat; key on IP alone in pod mode); **client**
storm damper in `BTFE_RelaunchSelfAndExit` (uptime<15 s → Sleep 5 s; `gBTBootTick` stamped in
WinMain; `gBTRelaunchUserInitiated` exempts menu clicks); **operator** local instances log
append-across-generations. Rig: mid-MISSION drop = no abort (correct); mid-LOAD kill = ONE
abort + hold + tag-reclaim + no cascade. OPEN: the host-7 derivation (a 4-seat egg cannot
yield 7 = template position of tag .6) — not reproducible synthetically; the first-breath +
append forensics will capture it live if it recurs.
## Remaining (P6 phase 4 / Phase 7)
Pod-LAN config: **real-IP path VALIDATED (2026-07-15)** — an egg with the machine's real LAN IP in
`[pilots]` (not `127.0.0.1`) connected + replicated + moved end-to-end (`Connected to