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

Reworked server browser ranking #1963

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

FredyH
Copy link
Contributor

@FredyH FredyH commented May 1, 2023

The current server browser ranking suffers from a few pitfalls that this PR tries to address:

  • Currently, small changes in player count (e.g. 63 vs 64 players) can make a huge difference in the server ranking due to how the categories work. This PR addresses the issue by making this change gradual. A server with 64 players now only has an insignificantly higher score than a 63 player server.
    • At similar ping, it is also currently impossible for servers in the lower player "category" to be above servers in the higher category, making it very hard for small servers to even get noticed in the "busy" gamemode categories.
  • Currently, ping plays a massive role in server ranking and a ping difference of just 1ms might put you at the bottom of the 64/32/16 player category. This PR makes it so anything below 50ms is not penalized. Also, after 50ms, the ping difference comes in gradually rather than being a massive jump.

The problem with just doing these two changes is that it would result in servers being ordered almost exclusively by player count. To address this issue, this PR also adds fuzziness to the server list. Fuzziness is basically just a small random number defeating any strict ranking. Instead, the ranking is probabilistic, i.e. more popular servers are more likely to be near the top, but it is not guaranteed. An added benefit is that fuzziness also allows smaller servers to be above bigger ones, but only sometimes.

  • With the fuzziness, a 63 player server is essentially as likely to be above a 64 player server as in the reverse.
  • It is possible for a 30 player server to be above an 80 player server in the server ranking, but it is relatively unlikely
  • A server with a ping of 60 and a server with a ping of 62 will be ranked roughly in the same place probabilistically
  • A server with a ping of 120 will always be ranked after a server with a ping of 60

All the precise numbers used in the PR can of course be up for debate.

Here's an image demonstrating the ping issue of the current ranking.

Here's two images of the ranking this this PR introduces in the DarkRP category:
sample1, sample2, note that each time you refresh, the ranking will be slightly different.

@robotboy655 robotboy655 added the Enhancement The pull request enhances current functionality. label May 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement The pull request enhances current functionality.
Projects
None yet
2 participants