FAForever / downlords-faf-client

Official client for Forged Alliance Forever
https://faforever.com
MIT License
196 stars 121 forks source link

TMM: Add match confirmation (ready check) for matchmaker games #1783

Open Askaholic opened 4 years ago

Askaholic commented 4 years ago

For proposed protocol specification see: https://github.com/FAForever/server/issues/607 and https://github.com/FAForever/server/pull/608. The latter PR contains a feature complete implementation that is ready to be tested with a supporting client.

A feature which has already been requested a few times for 1v1 and will be especially relevant for bigger matchmaker games is having a "ready" check before the game starts. The server would send a match_info message which would trigger a popup in the client that looks something like:

MatchFound

Whenever someone clicks the ready button, a new match_info message will be sent so that the client can update the UI. Once everyone accepts the match, the launch sequence will happen as normal. If the timeout is reached before everyone accepts, then the match cancellation sequence will happen and the party will be entered back into the queue.

Wanna have the bug fixed quickly? Visit Issue hunt... Issue hunt

RoxyBananaSmoothie commented 3 years ago

Hi there, appreciate you guys probably already have a long list of things to fix. I just want to say that this "ready to play" function is absolutely essential for the 2 v 2 ladder. We can't really expect people to stay and wait in the queue for hours without leaving the computer. My friend was in a situation that he was in a queue for a few hours, and the game launched while he was away from his desk. His team mate somehow didn't realise he was afk for 4..5 mins into the game (I know it's strange that he didn't notice within the first minute). Now he blocked my friend and threaten to report him...

bukajsytlos commented 3 years ago

If you leave your PC, you should leave queue too.

On Mon, 2 Aug 2021, 15:23 RoxyBananaSmoothie, @.***> wrote:

Hi there, appreciate you guys probably already have a long list of things to fix. I just want to say that this "ready to play" function is absolutely essential for the 2 v 2 ladder. We can't really expect people to stay and wait in the queue for hours without leaving the computer. My friend was in a situation that he was in a queue for a few hours, and the game launched while he was away from his desk. His team mate somehow didn't realise he was afk for 4..5 mins into the game (I know it's strange that he didn't notice within the first minute). Now he blocked my friend and threaten to report him...

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/FAForever/downlords-faf-client/issues/1783#issuecomment-891024025, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACBYJJNGBHOEK2PRKCOLHK3T22L5DANCNFSM4OCFKOAA .

RoxyBananaSmoothie commented 3 years ago

Technically, yes. In reality, you can easily be on your PC and still miss the launch if you have been in a queue for hours and forgotten about it. That's easily done in my opinion.

Katharsas commented 3 years ago

Current status: Implemented in server PR https://github.com/FAForever/server/pull/608 as described in https://github.com/FAForever/server/issues/607 . With that server PR, the server will only start a game with game_launch when all players have sent match_ready, and the client cannot send match_ready without the PR because that would close the connection. Therefore we need a two stage implementation on the server:

Sheikah45 commented 3 years ago

There is a 4th step as the client implementation in 2 shouldn't have any UI and should just auto send ready because that would just be confusing to the end user.

So the 4th step is implement the UI and real responses from the client.