ExactPing is Ping * 4. The discrepancy isn’t a bug but a feature. Ping is for replication as its an uint8 and ExactPing is a float. 3 bytes more than Ping. Thus ExactPing is for display and Ping is for replication. Please see APlayerState | Unreal Engine Documentation for reference.
I was not clear in my question. I already know that I have to multiply by 4 to get the “replicated ping”. My issue is that even multiply by 4, the discrepancies is a ratio of 1 for 2 (like 40 and 80ms). This is why I raised this.
Have you tried that on your side? Does the ping on the Server & Client match with a 5% error margin?
Thanks for the update. Might be something on my side. I will look in shootergame for this and see how it behave.
In fact, by doing some network testing with latency on my game, I saw that my initial thought was wrong, it’s not a “2x” ratio but seems to be a nearly fixed dependency of 30ms. I’m suspecting that it’s like a frame time. I need to do another test to see if the ping discrepancy is linked to the Frame rate.