FAForever / server

The servercode for the Forged Alliance Forever lobby
http://www.faforever.com
GNU General Public License v3.0
67 stars 62 forks source link

Searches are sometimes left in the queue while players are doing other things #995

Closed Askaholic closed 4 months ago

Askaholic commented 7 months ago

There is a check in the matchmaker queue that is supposed to never happen, but I'm seeing some messages in the logs that it is happening which means there is an issue with the state tracking that's allowing players who still have a search in a queue to do other things on the server.

WARNING  Jan 02  17:57:26 MatchmakerQueue                Tried to match searches CombinedSearch(Search(tmm_3v3, [Player(kushihi, 247266, Rating(mean=1668.12, dev=101.638)), Player(VaIor, 334273, Rating(mean=932.436, dev=108.592))], threshold=0.48, expansion=0.25), Search(tmm_3v3, [Player(Spacechook, 421404, Rating(mean=1248.49, dev=89.4161))], threshold=0.65, expansion=0.10)) and CombinedSearch(Search(tmm_3v3, [Player(bis_vivimus, 361439, Rating(mean=1306.611558430096, dev=89.37131910699138))], threshold=0.75, expansion=0.00), Search(tmm_3v3, [Player(peterpanik, 490811, Rating(mean=1199.7664216666205, dev=111.3420705237718))], threshold=0.73, expansion=0.00), Search(tmm_3v3, [Player(Sicirus, 468670, Rating(mean=1415.8512123756313, dev=111.43272035491275))], threshold=0.68, expansion=0.05)) while some players had invalid states: team1: [<PlayerState.SEARCHING_LADDER: 5>, <PlayerState.IDLE: 1>, <PlayerState.SEARCHING_LADDER: 5>] team2: [<PlayerState.SEARCHING_LADDER: 5>, <PlayerState.SEARCHING_LADDER: 5>, <PlayerState.SEARCHING_LADDER: 5>]

Here, this player remained in the queue for over 4 hours and kept being matched with other players which then caused those other players to never find a real match. There are many messages but here are just a few to look at:

INFO     Dec 29  18:24:10 LadderService                  Search(ladder_1v1, [Player(ChristophHRO, 442101, Rating(mean=732.329, dev=327.853))], threshold=0.47, expansion=0.00) started searching for ladder1v1
INFO     Dec 29  18:24:21 CustomGame.21511987            Added game connection GameConnection(Player(ChristophHRO, 442101, Rating(mean=1597.04, dev=114.723), Rating(mean=732.329, dev=327.853)), Game(21511987, BobTheNoob, maps/scmp_009.zip))
INFO     Dec 29  18:28:38 CustomGame.21511987            Removed game connection GameConnection(Player(ChristophHRO, 442101, Rating(mean=1597.04, dev=114.723), Rating(mean=732.329, dev=327.853)), Game(21511987, BobTheNoob, maps/scmp_009.zip))
WARNING  Dec 29  18:34:55 MatchmakerQueue                Tried to match searches Search(ladder_1v1, [Player(ChristophHRO, 442101, Rating(mean=732.329, dev=327.853))], threshold=0.00, expansion=0.60) and Search(ladder_1v1, [Player(Dgarbo, 47683, Rating(mean=494.413, dev=62.0284))], threshold=0.67, expansion=0.10) while some players had invalid states: team1: [<PlayerState.IDLE: 1>] team2: [<PlayerState.SEARCHING_LADDER: 5>]
WARNING  Dec 29  19:13:55 MatchmakerQueue                Tried to match searches Search(ladder_1v1, [Player(ChristophHRO, 442101, Rating(mean=732.329, dev=327.853))], threshold=0.00, expansion=0.60) and Search(ladder_1v1, [Player(Merlinae, 499946, Rating(mean=1500, dev=500))], threshold=0.35, expansion=0.00) while some players had invalid states: team1: [<PlayerState.PLAYING: 2>] team2: [<PlayerState.SEARCHING_LADDER: 5>]
WARNING  Dec 29  22:39:42 MatchmakerQueue                Tried to match searches Search(ladder_1v1, [Player(ChristophHRO, 442101, Rating(mean=732.329, dev=327.853))], threshold=0.00, expansion=0.60) and Search(ladder_1v1, [Player(SillyGoose9898, 500372, Rating(mean=1500, dev=500))], threshold=0.35, expansion=0.00) while some players had invalid states: team1: [<PlayerState.HOSTING: 3>] team2: [<PlayerState.SEARCHING_LADDER: 5>]
WARNING  Dec 29  22:51:42 MatchmakerQueue                Tried to match searches Search(ladder_1v1, [Player(ChristophHRO, 442101, Rating(mean=732.329, dev=327.853))], threshold=0.00, expansion=0.60) and Search(ladder_1v1, [Player(Pak006Pa3H0eCeM9, 421174, Rating(mean=521.482, dev=82.1821))], threshold=0.56, expansion=0.20) while some players had invalid states: team1: [<PlayerState.HOSTING: 3>] team2: [<PlayerState.SEARCHING_LADDER: 5>]
WARNING  Dec 29  22:59:12 MatchmakerQueue                Tried to match searches Search(ladder_1v1, [Player(ChristophHRO, 442101, Rating(mean=732.329, dev=327.853))], threshold=0.00, expansion=0.60) and Search(ladder_1v1, [Player(SillyGoose9898, 500372, Rating(mean=1500, dev=500))], threshold=0.35, expansion=0.00) while some players had invalid states: team1: [<PlayerState.IDLE: 1>] team2: [<PlayerState.SEARCHING_LADDER: 5>]
Askaholic commented 7 months ago

So far things are looking good for v1.14.0. There haven't been any occurrences of these errors yet since the release was deployed.

Askaholic commented 4 months ago

Still haven't seen this error pop back up so I'm closing this issue.