Closed nzyuzin closed 8 months ago
A related bug could be #3 , about ranking each maps indivudually. But indeed, the main issue is detecting the winner. A good trade-off could be to poll DM servers often, like 1 minute to hopefully get a better idea of the result of the game. Not perfect, but it may works well.
Still chances of missing the right winner is high. I think teeworlds server side changes are required, e.g. sending the winner info after the end of the game.
On the other hand, we can make a bot connecting to the DM server, and from here watch the game and log the result. The bot could automatically join the game or be called by the player who wants to get ranked.
From there we can even imagine to have some sort of authentification. For example players can ask the bot to authentify them, and by giving their email adress to the bot, the bot can send a mail asking to visit a particular link to log the player in. The email adress act like an account.
A more complex solution for auth could be handling account directly on teerank.com. So player can directly select wich player they are in the server on the teerank interface.
What are your thoughts?
Here is how hl037 designed his ranking system. The idea was to parse demo files created by the server. It does not require a modification to the server, but require a specific setup server side.
By parsing demo file you have all the information available about the game, and you are able to make very good stats. Since you know exactly what a player have done during the game you can even detect things like airshot, or a nice hook at a crucial moment...
Games on dm1 are now tracked as well on all game types. The minimum number of player has been lowered to 2 so 1o1 can be ranked as well!
As I understand, dm1 is not polled for scores now, which sad because it could provide a perfect opportunity to set up a proper elo rating system.
It's usually a 1o1 player fight and if there are more than 2 players on map they could be just all ignored.
The problem of course is -- how to reliably detect a winner.