Warzone 2100 automatic rating system

Season: August


Autorating system about page.

Made in one week with zero effort by one and a half person, this autoranking
system can automatically differentiate players with the help of the Elo Rating system.

Every entry in the Autorating database holds unique publicly-signed hashes of
profiles that cannot be faked and they represent the legitimacy of the profiles.
The player's profile information (played games, wins, losses, total kills, total
scores) is purely cosmetic and only for displaying the stars near the profile
name. These info stats will not be used anywhere else because they can be easily
edited by the user that holds the profile file.

For the automatic results gathering, we are using an autohost instance of
Warzone 2100 with an additional game patch (the .wz mod that's downloaded when
you join the match) that allows it to automatically report finished research,
profiles, unique player keys (needed for displaying the stats) and other match
statistics. As it turned out, the single game patch isn't enough, and with the
help of Vaut's spectator mod we can now host matches without any trouble and
provide automatic win/loose detection, spectator support, additional logging and time limit.

If you have ideas or suggestions in how to improve the current system or you
found bugs in it, feel free to DM me in Discord (Max#6717), join our Teamspeak3
voice server
or directly write to us in VK.

Details about win/loose state.

The current ranking system calculates single values that represents how good a
player can play. We are using the stock Elo Rating system to make corrections of
the player's Elo within each played match. To score a victory you need to win,
and by *winning* we mean this: you need to get a win screen with unit statistics
and all the other stuff, just like in the campaign mission complete. Otherwise,
we cannot guarantee that you won the match. After getting the win/loose screen
you can safely leave the match, the results being automatically saved.

Elo Rating calculations

For every player in encounter we are calculating probability of winning in this
against this particular opponent by this forula (R is current Elo score of players):

After calculating both probabilities we are correcting Elo by this formula:

Where K is constant 40 and S is 0 or 1 depending on what player won.
For each 10 minutes of survival, defeated player rewarded with 1 extra Elo point.

Limitations and abuse attempts.

Any abuse attempts will be noticed, the match result may be deleted/fixed/recalculated,
and most importantly: players (and potentially his IPs) attempted to fool ranking
system could be blacklisted across all Autohosters. If you found an abuse method,
contact us with detailed respective of exploit.

To filter out spam-games or "double windowed" games Autohosters are collecting
and checking data you sent in-game and if it notices that it is sure spam-game
it will report the match and all players in it to automaster for investigation.

Legal information

The Autorating system collects and stores only data you freely sent into the system.
We are not using any of your information outside this specific system.
By playing a game, joining the Autohoster room, visiting or navigating the Autorating
website, you are automatically admitting store of data. If you want to remove
specific data or all the data you sent to the autorating system please write an
email on admin at bruh dot software with your player ID/hash and join auto-served
confirm room to complete removal.

Pepe the frog ©2020-
Join my Discord server Don't ask why