Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Askaholic opened this issue Jun 18, 2020 · 5 comments
Open

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

Askaholic opened this issue Jun 18, 2020 · 5 comments

Comments

@Askaholic
Copy link
Collaborator

Askaholic commented Jun 18, 2020

For proposed protocol specification see: FAForever/server#607 and FAForever/server#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

@Askaholic Askaholic added this to To do in Team Matchmaker Jun 18, 2020
@Geosearchef Geosearchef changed the title Add match confirmation for matchmaker games Add match confirmation (ready check) for matchmaker games Oct 4, 2020
@Geosearchef Geosearchef changed the title Add match confirmation (ready check) for matchmaker games TMM: Add match confirmation (ready check) for matchmaker games Oct 4, 2020
@RoxyBananaSmoothie
Copy link

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
Copy link
Member

bukajsytlos commented Aug 2, 2021 via email

@RoxyBananaSmoothie
Copy link

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
Copy link
Collaborator

Katharsas commented Aug 8, 2021

Current status:
Implemented in server PR FAForever/server#608 as described in FAForever/server#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:

  • Server dummy implementation: Server accepts match_ready by client but ignores it and still starts game as usual (see Add dummy implementation for client command match_ready (#607) server#820).
  • Client dummy implementation: Auto-send match_ready on match_found to not confuse users, make sure client is ok with receiving match_info
  • New server version with server dummy PR is released and users have been forced to upgrade to client version with client dummy
  • Server dummy implementation is replaced with PR.
  • Full client UI and reacting to match_info.

@Sheikah45
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

5 participants