*DO NOT USE* High precision clock syncing tech between clients and server with accuracy of <1ms

Do you have the results of the precision benchmark?

And do you know if the workspace:GetServerTimeNow() function do any remote calls to return the value or is it simply doing it once and then keeping it in sync?

Hey uh for some reason in Studio, :GetTime() difference between server and client results in usually less than 1 second.

However on playing the game on website, the clientTick - serverTick results in minus thousands.
Is there a reason for this? Does the module return values in milliseconds? What have I missed out?

image

10 Seconds is the time sent to the Player to start counting downwards from, the -19 value is the seconds lost.
So I get calculated time in minus.

I can say for sure that the remote did not take 19 seconds, and can say that I am doing clientTime - serverTime and not serverTime - clientTime.

You probably should try workspace:GetServerTimeNow() since it has microsecond accuracy.

GetServerTimeNow does not have microsecond accuracy, it has at best millisecond accuracy but my tests have found it to sync with far less precision.

Can I get a setup for this? Iā€™m using this same module in my own game and have not encountered this issue.

[Edit: After extensive testing, I was unable to replicate this issue. I believe you are using the module incorrectly. HOWEVER, in my testing, I found that workspace:GetServerTimeNow() actually has performance on par with, if not superior than my module in some cases. I say on par with, because the performance can be quite variable, having precision of 1 ms in some instances and performance closer to 40ms in other instances. However, this same variability is in my module (I did not see this variability when I originally wrote the module and conducted my tests, oddly enough, so maybe something has changed internally?). Anyways, the point being, workspace:GetServerTimeNow() is the superior solution and I recommend everyone to switch over to that. Only note is that GetServerTimeNow values are not interchangable with tick() on the server-side, so be wary of that.]

3 Likes

Kinda cool to see that the dev behind this resource did all of this to bring his game to life, Really interesting to see what people built before their big projects, I am going to assume he did this for his server authoritative kart racing game (Ro karts)

Either way remember to use GetServerTimeNow kids