It seems that GZDoom does not check that all players are using the same version of the executable... last night, I was playing some devbuild EXE while the other player (unknowingly) had GZDoom 3.1.0... the game didn't complain, then of course as soon as we started firing, the game desynced to all hell.
(No, we weren't loading any mods)
The problem went away when we both made sure to use the same version of GZDoom.
I see no point in letting GZDoom proceed with the netgame if the executable versions aren't the same across all players, since the game will start breaking very fast anyway...
Multiplayer executable version check
Moderator: GZDoom Developers
Re: Multiplayer executable version check
There is a check already, actually, but it's not very sophisticated, it simply depends on a rudimentary #define in version.h which the maintainers never update anymore. I suppose since git info is compiled in, though, all players can send that, and abort the game if it does not match.
Re: Multiplayer executable version check
Perhaps you could automate the process somehow by interfacing with the GitInfo stuff so that that #define gets updated automatically... ?
Re: Multiplayer executable version check
The #define is an integer - so no, we cannot do that. It has to be sent as a string during synchronization.