We occasionally have desyncs in multiplayer games. I think it's due to brief internet hiccups. Would there be a way to pause the game on desync, and have the host resync all the players, then continue, rather than end a sometime very long game?
Desync suggestion
Not possible, it's a game engine level check and we don't have access to the game engine other than small injection patches
A desync is, in every case, a situation where the data on one machine, is different than the data on another. This is invariably caused by different code producing a different result between one or more machines. The nature of the desync can tell you something about the cause.
Immediate desync messages are most often caused by the map being different.
In progress desyncs are most often caused by a mod, or other user addon, that has altered the game data in some fashion. These would be mods that change units, or gameplay or balance factors - rather than those which simply modify the UI.
In only the rarest of cases does an internet hiccup cause a data corruption, since the nature of the internet involves preventing pretty much exactly that from happening. I can likely count, on one hand, the number of times I've seen anything like that happening, it's far more likely you'd have a crash to desktop, than that result.