Skip to content

Improve server rank calculation#2394

Open
wrefgtzweve wants to merge 1 commit intoFacepunch:masterfrom
wrefgtzweve:patch-3
Open

Improve server rank calculation#2394
wrefgtzweve wants to merge 1 commit intoFacepunch:masterfrom
wrefgtzweve:patch-3

Conversation

@wrefgtzweve
Copy link
Contributor

@wrefgtzweve wrefgtzweve commented Nov 20, 2025

Instead of making ping a major factor in ranking, which resulted in anycast heavily favoring server i propose a new fairer system that's also better for the actual players using the server browser without doing any large scale changes.

Anything below 150 ping is counted the same, defeating ping spoofing effectively while still keeping the player experience good.
Alongside that instead of per X players removing some points, it now removes per player rank so servers are effectively more or less sorted by playercount
The default recommended of 54 is so that servers with less than 5 players have 4 "bars" of ranking while more players will result in full ranking.

I've tested this through the optics of a idiotic end user that doesn't know what anycast etc is. What i mean with this is that these changes arent based on "defeating anycast" but moreso on actually improving the end user experience. It results in servers with more players show higher while still benefiting good playable ping.
In the old version it was rather unfriendly as servers ping spoofing to sub 10 ping would show up in bulk above servers with players, without scrolling further down this would make gamemodes look dead.

Touching the CalculateRank has been a big taboo for a while and i figured i'd give a shot at it to make things at least better for the end users.
This should provide them with the best server experience while also removing the massive benefits of a2s ping spoofing.

@anthonyphysgun
Copy link

100% on board with this.

It’d let hosts like us (Physgun) focus on actually mitigating and running solid infrastructure instead of spinning up a bunch tiny PoPs just to game the server list. Rust is heading in the same direction too, leaning more on geolocation/region sort than raw ping.

@WeaselSauce
Copy link

WeaselSauce commented Nov 22, 2025

As a server owner for years I'm also in strong support of this. I find myself forced to choose between a handful of hosts that are willing to invest heavily in Anycast / eBPF proxy solutions in order to have any chance of attracting players (agree that this situation plagues Rust as well).

Ironically now that this technology available beyond a single hosting provider, it is no longer the magic bullet it used to be. It's a requirement to be competitive, yet is so commonplace that it doesn't guarantee success. The arms race has simply created more noise (low ping low pop servers) in the server browser for end users to wade through.

Literally nobody (other than network carriers / Equinix etc) is benefiting from this condition - not players, not hosting providers, not server owners.

@artemking4
Copy link

150 for cutoff seems a bit much. Maybe lower it to 100?

@wrefgtzweve
Copy link
Contributor Author

I've been able to play fine on servers with 100-150 ping that's why i picked it, i wouldn't be opposed to lowering it but it seemed like a "fine" limit to me.

@Zaurzo
Copy link
Contributor

Zaurzo commented Nov 24, 2025

I've been able to play fine on servers with 100-150 ping that's why i picked it, i wouldn't be opposed to lowering it but it seemed like a "fine" limit to me.

How about 125? It's right in the middle, haha

@YUCLing
Copy link

YUCLing commented Nov 25, 2025

I've been able to play fine on servers with 100-150 ping that's why i picked it

It's supposed to deal with those servers that has abnormal pings, so a much lower values like 50, 60 and so on should be fine? After that, ping-based ranking will still be applied

@robotboy655 robotboy655 added the Enhancement The pull request enhances current functionality. label Nov 28, 2025
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

Development

Successfully merging this pull request may close these issues.

7 participants