Jump to content

Possible PBEM solution to cheating


Recommended Posts


What do you think of this possible solution:

(as sent to Hubert)

"If not too hard, can you provide a safeguard whereby each PBEM file has a unique signature to it and whenever it gets loaded up, you encrypt the time and date into the registry. If anyone quits the game tries to reload the file, you could check that unique PBEM signature against the

registry and thereby know it has reloaded (and maybe when the other side loads up the game, you alert him to that fact)

What do you think? I just shudder to think about how people are going to reload over and over again until they get the desired results :-( "



Link to comment
Share on other sites

I agree that something must be done to protect PBEM games against reloading. Especially because of Fog of War option which have no meaning if you can reload and reload game. For instance you can reloading until you find enemy navy and then attack them. Or in worse case – with this potential of reloading it is impossible to do surprise invasion from sea. I don’t know if your solution is possible but you have my vote.

Veki. ;)

Link to comment
Share on other sites

One could just use the CRC of a file (or a

unique value given to each PBEM file created) and

store the seconds past Jan 1, 1970 GMT and store

both those numbers in the registry (encrypted of


Then, whenever a file is loaded up, look in the

registry keys and see if that file has been

opened yet. If it has not, write the new info

to the registry. If it has been open, make a note

in the reply PBEM file so your opponent knows you

have opened it twice (or more)

Of course, any determined hacker can see which

key in the registry is changing but if Hubert

uses some encryption, most people will not waste

there time trying ot figure it out and cheating will possibly be eliminated

Just some thoughts

Jon P

Link to comment
Share on other sites

How about just playing the game with cheating on purpose? This would lessen the FOW quite a bit and give the attacker/counterattacker an advantage. I have not tried this. No idea wether it would be interesting .

Play tcp/ip

Play pbem with people you trust.


Link to comment
Share on other sites


I sent this suggestion to Hubert and he agreed

it is a good idea. I dont have the original email since I am at work and dont want to misquote him so I wont post more from his email.

(Maybe Hubert will address this thread directly)

I was thinking more on this and the other problem with using the registry is that for each saved game you load up, you are going to have to save more info in the registry. This could really fill up your registry.

I think the best solution (I can think up quickly) is that for every new PBEM game you start, it will insert a new registry key to write to. Upon completion of the game, it will delete this key. Problem here is if you do not complete the game, the key will never get deleted and your registry could get filled up.

Assuming normal game progression, everytime you load up a PBEM file, the encrypted CRC (or some other unique identifier for that file) will be encrypted along with the time and therefore the program can keep track of how many times a certain file gets loaded.

I have read how people have suggested only playing TCP/IP games but that is not going to be part of the initial release (and remember how long it took for CM). Also, not everyone has time to play TCP/IP games. PBEM is really nice way to play.

I hope this issue can be addressed as I like to play games against a variety of people and therefore cheating will probably be a problem

Just my $.02 worth


Link to comment
Share on other sites

I agree it's a good idea and could work, but I think that if someone is really determined it doesn't matter what you do, they will always find a way around it. I have added a few things for PBEM play and I think these options will work out well, not perfect mind you, but nothing really will be unfortunately.

Thanks for the idea Jon!


Link to comment
Share on other sites

  • Create New...