hburn7 / BanchoSharp

C# library for communicating with osu!Bancho
GNU General Public License v3.0
11 stars 2 forks source link

`MultiplayerLobby.Players` sometimes contain a player which have already left #22

Closed matte-ek closed 1 year ago

matte-ek commented 1 year ago

Very rare issue, only encounted it a couple of times. Logs include the <player> left the game. message from the player, but for some reason the player wasn't removed. Will try to reproduce and fix the issue, however maybe use the !mp settings response for a full refersh of players in the future? It currently only adds players that wasn't found in Players, not removing anyone.

matte-ek commented 1 year ago

After looking in to it, it has to do with the !mp settings response with the 'bugged' user. For some reason, when the user id only contains 5 digits, there are two spaces between the end of the user id and the player name. Which causes the !mp settings parser to add a space to beginning of the player name. Which explains why, after they left, it only removed the entry with the correct name, and not the bugged one.

Possible fix for this could be calling Trim() on the player name, as player names shouldn't be able to start with spaces anyway. (?)