Sorry, we don't support your browser.  Install a modern browser

Stop Ping Faking#25473

More and more servers are using A2S caching (Ping Faking). In the server browser, they display 30 Ping world wide but when you join, it’s vastly different.

The servers do this to attract players around the world, cheating themselves onto the browser list quicker than other servers. It’s annoying for players.

2 years ago
3
Changed the status to
Researching
2 years ago
10

huge +1 on this one, fake ping is really misleading especially the new players who are not aware of this and do not have the perf convar active to verify the real ping in game, if they get fooled by the fake ping and join some servers from the other side of the world, it would result in a poor experience and they might refund and blame the game for being laggy

2 years ago

or fix the server browser.

2 years ago

This is a difficult issue to properly fix because it’s completely transparent to the game. Anything we try to do to show a proper ping on the server browser can be rigged.

My thinking now is we stop showing raw pings on the server browser. We can map ping ranges into low/medium/high and show that on the server browser instead. We would pick the ranges based on the expected experience while playing (TBD). The server browser will sort by low/medium/high instead.

This wouldn’t stop ping faking of course. The point of this would be making it less beneficial to servers because shaving a few ms off would still leave them in the ‘low’ bucket and not improve their position in the server browser.

The other thing we could possibly do is show a high ping warning in-game to expose this user hostile behavior to their players.

2 years ago
11
U

The last option seems like a much better alternative as to what it is right now in my opinion. Allowing users to see if the ping is different than what it is in the browser. Notifying them of latency issues if there’s something wrong with their connection like many other games do, meaning that a lot of newer players would be more familiar with this type of warning as they already were exposed to it somewhere else

2 years ago
2

First off, I’m just glad this issue is being addressed at all. I welcome any changes related to it.

I think the ping ranges you mention is a good idea. Only concern would be that they still get ordered by ping under the hood. Currently whoever has the lowest ping gets put at the top of the list by default. As long as the new system somewhat randomizes the servers inside the same ping bucket, then this makes sense.

In other words, all “low” ping servers are above “medium,” but the servers inside “low” are randomized rather than ordered by ping.

Regardless, cheers Lama. Thank you for researching this. I’ve been a huge and very vocal opponent of query caching and we started to have to move our own servers just to stay competitive. Hopefully that won’t be necessary moving forward with this. Much love.

2 years ago
1

A mandatory regional indicator, which server owners must set in the config and is read upon server startup, could be additional data for users to chose the server they want to play on. In a first step, no changes to the browser would be needed as this could be appended to the gametags line.

I also like the ingame notification of a high ping although discussion about which ping can be considered high would ensue.

Categorising ping into low/mid/high wouldn’t tackle the problem from my point of view, as servers with A2S caching would still show up as “low” although upon connection it would be “high”.

Thanks a lot for researching into this. I understand the technical nature of this problem is complicated.

2 years ago
3

ICMP shouldn’t be used, but a normalized tcp-syn handshake that uses an existing function in the game, such as map or inventory response time. ICMP is best effort and will show drops when there are none since route engines will drop ICMP if there are resource constraints on the network gear.

There are numerous ways to change it, but I would write a watcher for some internal metrics that are obfuscated to server owners. If caught manipulating the value, blacklist them from the server browser until the reported value matches the expected value. Seems like an easy win that has pissed me off for years.

6 months ago

I don’t want to be rude, but you clearly have absolutely no knowledge of how this system works or what you’re talking about.

If you’d like to research it further and educate yourself you can research the Steam Query Protocol and the A2S_INFO query, specifically.

6 months ago

Many people here have quite profound knowledge how it works and how it currently is abused to fake low ping values. And still a year later, nothing has changed. Servers not using Ping Faking have gone under while users experience in the server browser is the worst ever.

4 months ago
B

I’m not familiar with unity networking but this is pretty basic networking otherwise.. Why can’t the client just measure the ping itself? Send the server a packet, time how long it takes for the server to reply?? Like how everyhing else measures ping. I don’t understand why this is an issue.

2 months ago

The client does measure ping itself. The problem is that these Rust servers have placed proxy servers in several countries so that when your client sends the ping packet (A2S_INFO) it will route to the nearest proxy (using anycast) and the proxy will respond to the ping instead of the actual Rust server.

The real ping of the server can only be found after connecting to it because ping is measured differently while connected to a server. Unfortunately connecting to thousands of servers has way too much overhead to be used on the server browser… so that is why the Ping Warning message can only show up on the loading screen.

2 months ago
1
B

Fair enough, thatnks for taking the time to explain it!

2 months ago

I have a few ideas here.

  1. Make a proviso that servers in official list must accurately report ping to users that own the game. I can’t imagine this being difficult for their proxy servers to do. Otherwise take them off the official list. If they are willing to implement a solution to defend their servers this way they can at least bug fix their solution. They have a profit motive to be doing this and it is exploitative.
  2. Make regions with subregions so we can find low latency servers. eg. America (NA-E, NA-W, South America) Europe (UK, Eastern EU, etc).
  3. Make the server browser test the top 10 lowest ping servers in a way that accurately check latency and correct them if they are wrong so they get pushed back down the list.
15 days ago

@Lama Love bgp.tools integration. The Enterprise firewalls can do it. They are able to detect Anycast IP addresses. Detect the IP Addresss and issue a global server list ban, unless… the server list ban was a lie. I know you guys use it when an abusive server tries to misinform players or put modded servers in the community tab. It is really disruptive to join a server and notice the server is in EU instead of US… Lastly make sure to hire me into the team to assist.

10 days ago