Skip to content

fix(lobby): Place lobby members by their slot and remove peers that left - #650

Closed
tintinhamans wants to merge 7 commits into
GeneralsOnlineDevelopmentTeam:mainfrom
tintinhamans:arctic/go/fix/lobby-roster-and-leave
Closed

tintinhamans wants to merge 7 commits into
GeneralsOnlineDevelopmentTeam:mainfrom
tintinhamans:arctic/go/fix/lobby-roster-and-leave

Conversation

@tintinhamans

@tintinhamans tintinhamans commented Oct 24, 2026 •

Copy link
Copy Markdown

Merge after #625.

UpdateSlotsFromCurrentLobby asked for the member at each slot position, so positions past the list got a default slot index 999999 that wrapped to 16959 in a uint16_t, and members without a usable slot were skipped silently. A peer that closed cleanly also stayed in the mesh and logged [DISC] Recv Failed every 5 s.

Members are now placed by their own SlotIndex and unclaimed slots are opened. A member without a valid slot keeps the previous roster and refetches the lobby, and match start waits until every human has a slot. The host's connectivity check no longer passes with no link to another human, and a peer that left cleanly is removed from the mesh.

No wire or service change. Tested: z_generals builds, parser harness with bad SlotIndex values. Not tested in a real lobby.

@tintinhamans

Copy link
Copy Markdown
Author

Folded into #625.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant