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

Remove mutual draw exemption for game validity #936

Closed Sheikah45 closed 1 year ago

Sheikah45 commented 1 year ago

A mutual draw is only the case when all players in the game ask for a draw. If someone already died then the server doesn't consider this a mutual draw.

The server treats games where players ask for a draw after someone died the same as all teams died draw as seen here. https://github.com/FAForever/server/blob/35a23b5fbebd10157a3bf6b7cf74c092cfcada3a/server/games/game_results.py#L248-L312

The only case when the server unranks for a mutual draw is when all players survive and all players ask for a draw as seen here. https://github.com/FAForever/server/blob/35a23b5fbebd10157a3bf6b7cf74c092cfcada3a/server/games/game_results.py#L100-L110

This is an artifact left from when ladder was only 1v1 as this situation would never occur in that context.

This is unintuitive and would be better to just rank all drawn games through any method.

Askaholic commented 1 year ago

Fine with me. So you're saying that the game outcome resolution already handles all the cases correctly, and we just need to remove the special case for unranking mutual draws?

Sheikah45 commented 1 year ago

correct since resolve game doesn't distinguish between a draw by everyone defeated vs a draw where people use the button