Why do I get two different ping values in my game?

The ping value in the developer console is always different from when I use the “!ping” command with HD Admin, as seen below:


image
image

The ping value in the console is almost always double to triple the value that HD Admin gives me. Why?

For reference, my game has a lot of international players - no country dominates a majority of the playerbase - the USA just barely is a plurality, as it’s only 25%

As a result I’d assume my ping is gonna be higher from the getgo since the chances of having players in my server(s) from thousands of miles away (I live in the NYC Metro Area) is pretty high, especially when you consider the lower CCU - there isn’t an opportunity to really spread players out

HD Admin calculates ping by halving the time it takes for a RemoteFunction:InvokeServer() call to complete on a LocalScript. The developer console’s average ping statistic is derived through server statistics that are sent to client in CoreScripts.

The Player:GetNetworkPing() also provides a ping statistic, although it’s the round trip time instead of a guess of how much time a one-way transmission takes.

1 Like

Which is more accurate then? That’s what I really want to know, so I can pay the most attention to it

The developer console’s average ping statistic is more reliable and accurate than HD Admin’s method. Remember it is an average value and not necessarily the real-time measurement. When it comes to discerning the network activity in a game, that developer console statistic is the most applicable.

One thing I’d like to note is that the fact HD Admin provides a ping statistic that is much lower than the average ping is a concern with measuring data. Since the ping is only calculated once, it does not adequately represent the current state of the network. In this case, the InvokeServer call managed to happen at a moment with optimal conditions that appear to indicate a network with ping less than 100. The average ping disagrees.

1 Like