Skip to content

More forgiving PlayerList packet handling#608

Merged
notfood merged 5 commits intorwmt:devfrom
mibac138:player-list-mismatch
Aug 7, 2025
Merged

More forgiving PlayerList packet handling#608
notfood merged 5 commits intorwmt:devfrom
mibac138:player-list-mismatch

Conversation

@mibac138
Copy link
Copy Markdown
Member

@mibac138 mibac138 commented Aug 6, 2025

When looking through the desync files in #604 (desync-148.zip) I noticed that the client disconnected twice because of player list mismatches between the server and client when handling PlayerListAction.Latencies packets. I'm not certain what caused this. One theory, although unlikely, is described in the 4th commit. There are also more logs now produced, mainly when something unexpected occurs to help with debugging future issues. Most of the logs are related to PlayerList handling, but I also added a dump of the first bytes of a packet when an error occurs.

This should add some extra hints when diagnosing problems with packets.
Limited the display to only the first 128 bytes so that big packets
won't cause issues.
As soon as a connection's state becomes Playing, player list updates can
be sent to it. However, sending a player list update before sending the
player list itself is wrong, so make sure to send it before other
packets. The timing required to trigger this seems improbable, but I did
see issues that could be related to this.
@notfood notfood added enhancement New feature or request. 1.6 Fixes or bugs relating to 1.6 (Not Odyssey). labels Aug 7, 2025
@notfood notfood moved this to In review in 1.6 and Odyssey Aug 7, 2025
@notfood notfood merged commit b980a48 into rwmt:dev Aug 7, 2025
1 check passed
@github-project-automation github-project-automation bot moved this from In review to Done in 1.6 and Odyssey Aug 7, 2025
@mibac138 mibac138 deleted the player-list-mismatch branch August 7, 2025 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.6 Fixes or bugs relating to 1.6 (Not Odyssey). enhancement New feature or request.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants