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

Workaround for game reporting bad results #587

Closed
1 of 6 tasks
Askaholic opened this issue May 21, 2020 · 1 comment
Closed
1 of 6 tasks

Workaround for game reporting bad results #587

Askaholic opened this issue May 21, 2020 · 1 comment

Comments

@Askaholic
Copy link
Collaborator

Askaholic commented May 21, 2020

It seems that stopping the game from reporting bad results is not so easily done as it is caused by something in the engine and not the lua code. So we will probably need to work around this on the server side :(

My proposition is to try to figure out which player is sending the bad results and then simply throw out all results reported by that player. Maybe we could even throw out only results reported past a certain point in time if we can automatically identify that a user has left the game early and is reporting bogus defeat.

How can we determine that results are bad?

When a player leaves with Exit to windows, their game very rapidly sends defeat for all players in the game (except for themselves) and then sends GameState: Ended signalling that FA has terminated. If we track time stamps for when a result is reported we could presumably define a window around when GameState: Ended is reported during which game results will be ignored. Maybe 1-2 seconds would be a good amount of time.

Checklist

  • Track timestamps for game results
  • Track which player reported a result
  • Track timestamps for GameState: Ended or "disconnection" from the game
  • Throw out a player's reports if they happen too close to a disconnection (1-2 seconds) and the disconnect happens before GameEnded is reported.
  • Adjust tests to report game results at specific times.
  • Gather some test data from real games

Related

#580
FAForever/fa#3087

@Askaholic
Copy link
Collaborator Author

Not going to do this

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

No branches or pull requests

1 participant