• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Desync Log Parser

This bundle is marked as pending. It has not been reviewed by a staff member yet.
When a player is dropped from a game due to desyncing, Warcraft 3 generates a folder under documents\warcraft iii\errors for every player containing:
-Desync.txt, a short log of data relevant to the desync
-two identical replays of the game from the local player's perspective up to the point where the desync occurred
-A much longer desync log with the file extension .log
-War3log.txt, a general log of events that starts recording every time the game is opened and stops recording when the game is closed

The .log file has been a mystery for a while. It's just a bunch of numbers and hex values and that's it. At surface level, it's uninterpretable. After doing some digging, I realized that a lot of the numbers in the file are FourCC codes. This made me realize that the .log files aren't as useless as previously thought. Thus, I created this program to parse desync logs, on the offchance that they do contain useful info.

The idea is that you get one .log file from someone that didn't drop from the game, and one from a player that did drop from the game, run them through the parser, and then diff them to see what notable differences there are, which may help determine what went wrong. I've done as much cross-referencing as I can to label the various values generated, using info provided to us from one of the 2.0.1 patches. The only value labels that I'm not 100% sure about are the cust and cnet values, as well as the ipse category. Otherwise, I'm confident that everything is spot-on.

I hope this is useful to map devs. Happy bug hunting! 🤠

(P.S.: Big thanks to sotzaii_shuen for helping walk me through some of this)
Contents

Desync Log Parser (Binary)

Back
Top