mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 17:53:44 +00:00
feat(multiplayer): model initial connect outcomes
This commit is contained in:
@@ -1410,3 +1410,5 @@ Allocated boot now also validates the complete signed roster shape before openin
|
||||
The control plane now mirrors that topology fence at roster publication: signed entries with duplicate players, duplicate slots, or a team inconsistent with the canonical global slot are rejected before durable assignment rows are written. Focused store tests cover forged topology and duplicate entries; normal/race Go suites and vet pass.
|
||||
|
||||
The backend roster persistence boundary now enforces the same duplicate-player, duplicate-slot, and team/global-slot invariants as Godot startup. This closes the remaining local consistency gap in task 8.31; production signer/client-ticket publication and live Agones verification remain external gates.
|
||||
|
||||
The no-show policy now has an explicit domain translation layer (`PlanInitialConnect`): `WAIT` remains non-mutating, ranked no-shows produce a `CANCELLED` match plan with innocent-player IDs, and eligible casual play produces a `LIVE` plan plus the complete bot-filled six-slot lineup. Normal/race domain tests cover both branches; applying the plan transactionally to durable tickets/matches and wiring it into the allocated server lifecycle remain task 8.35 work.
|
||||
|
||||
Reference in New Issue
Block a user