Comment 2 for bug 830412

Revision history for this message
Astuur (wolfsteinmetz) wrote :

Hello HJD -- nice to hear your voice among the general silence :)

Again you are promoting me to a programmer :)
Honestly, the "How-to" (or how to prevent ...) is a question that somebody who knows how to code can answer much better, than I can.
But I can at least try to answer this in a more general way.
When you offer a multiplayer-enabled game, especially such a highly configurable one like Widelands, with a lot of editable files, I think, the program should check a few things in order to assure a fair, competitive gameplay,
as soon as the multiplayer option gets enabled.
Is this the same version of WL ? (host and all clients)
Are the conf files the same throughout all players?
Maybe some more things as well....?
Does Widelands do so?
If not, such a routine should be programmed, IMO.
So, why not have the multiplayer mode check a flag that gets set when "view all" is enabled?
_If_ the state of the flag is not the same for all participants, _then_ give a meesage and offer to make it so.
_Else_, close the game with a "sorry - "no cheating allowed" message for the clients.

Most options should be allowed to differ though, like font, resolution, Open-GL, Sound, FullScreen etc.

I guess a CRC check would not help for the executable, given all the different OSes WL may run on,
so, a version check must do here, but it may help with ensuring uniform conf files and a uniform "visibility option".

However,I would not opt for a hardcoded CRC value inside the .exe for the conf files, to allow their modification, if it is the same for all players.

But as I said - the "how to" is coder's wisdom, and so not mine :)