-
-
Notifications
You must be signed in to change notification settings - Fork 70
Open
FAForever/fa
#6995Description
Issue Summary: Incorrect Bans in Ladder Games Due to Missing PlayerOption Messages
Problem: Players are receiving incorrect violation bans in ladder games when connection failures occur.
Root Cause (per @Gatsik's analysis shared via Zulip):
- Server checks
_configured_player_idsto determine if players are "configured" before assigning violations _configured_player_idsis only populated byset_player_option()calls (triggered byPlayerOptionGPGNet messages)- Ladder games don't send
PlayerOptionmessages (only custom lobbies do) - Result: All guests in ladder games appear "unconfigured" and get violations when games fail to start, even if the failure wasn't their fault
Code References:
- Game configuration check:
server/games/game.py#L231(get_connected_players()) - PlayerOption handling:
server/games/game.py#L616-L621(set_player_option()) - Host exclusion logic:
server/ladder_service/ladder_service.py#L737(NotConnectedError)
Suggested Fix:
Track actual connection status using other messages like EstablishedPeer instead of relying solely on PlayerOption messages for ladder games.
Impact:
All guests in failed ladder games receive violations regardless of whether they successfully connected, because they never appear in _configured_player_ids.
Metadata
Metadata
Assignees
Labels
No labels