This seemed like the best place to post as there isn't a specific area that felt perfect.
I created this post on the official forums here. I've copied the post below verbatim so you don't need to jump sites to read it and add your comments. If this gains any traction I'll combine and edit it community commentary across cross-posted locations.
It looks like this has been brought up a few times in the past. I couldn't find a recent post so I apologize if this is a repost or has been discussed recently.
Being the nerds that we are - I'm sure I'm not alone in having a desire for very accurate timestamp data. Many people would be able to immediately use it as it relates to the combat log. I've got some ideas where it would be great for chat events. And I'm sure people will find lots of uses for the data.
The sharding changes with Legion have been great from a gameplay point of view - but they make managing time stamps even more difficult than before as the actual server time has all but become useless.
- Additional EVENT parameter containing Server UTC time in ms
- Function to return current Server Time, in UTC, to ms accuracy
I realize that doing this perfectly increases server bandwidth, however I think the impact can be minimized via intelligent local maintenance of the current server time.
I believe by doing three things accurate data could be available.
- First, maintain a variable locally containing the millisecond offset from local UTC time to server UTC time.
- Second, periodically check with the server for large differences in local PC time and server time.
- Third, with each event a 2-byte value containing a value of 0-59999 representing the second and millisecond the event occurred on the server.
Using item 1 would allow for a function call to return Server UTC Time any time it is needed. This will of course never be perfect, but the longer you are connected the more accurate it would become.
Using item 3 would allow for 100% accurate synchronization for >99% of events fired. The edge case here would be a 60s+ latency followed by a catch-up where event timing is overlaps due to only sharing the 2-byte code.
Using items 2 and 3, in combination with latency tracking would allow for a simple algorithm to keep the local server time as accurate as possible.
Minimal beneficial change:
With strictly the addition of the 2-byte value above, I believe the community could create on our own the rest of the necessary API to good accuracy, though slightly less-so than would be available from a Blizzard implementation.
- Would love to have a Blue response on the subject - even if it's as simple as one of "Likely never to happen", "Will investigate for the future", "On the todo list, but not prioritized", or "Coming soon"?
- Community feedback - Would you use this? How would it help?
- Community feedback - Did I request enough for our needs?
- Community feedback - Feasibility of my implementation; alternate implementations[/LIST]
And of course please provide anything else you can think of. I'm happy to edit in ideas and benefits into this post as a summary if we get some traction going.
Lastly - I'm going to cross post to wowinterface and to curseforge. Please feel free to cross post and let me know of anywhere else you share this.