how to prevent save cheating? (for games where saving is NOT allowed)

Started by
54 comments, last by TheComet 10 years, 2 months ago
Use encryption to prevent data manipulation. Use save file verification to prevent copying—this can be done by having a “master date-time stamp” file that is located somewhere other than where the save files are. This “master date-time stamp” is a file with each save file’s date-time creation AND modified info recorded. This will work because when a file is copied it generates a new date-time stamp within Windows and any modifications will cause the game to reject it.
Advertisement


This will work because when a file is copied it generates a new date-time stamp within Windows and any modifications will cause the game to reject it.

These checks can be fairly easily circumvented by disassembling the program and finding the offset for the function that does the check and changing the next instruction to 'return' thus bypassing the entire check.

Most users wouldn't have a clue how to do that. There is no lock that can't be picked. There is no cipher that can't be deciphered.


Most users wouldn't have a clue how to do that.

True, most won't. but it's far more easier for crackers to bypass checks then to circumvent encryption, and as soon as one has done that they can make it availaible to most users.

True, most won't. but it's far more easier for crackers to bypass checks then to circumvent encryption, and as soon as one has done that they can make it available to most users.

Or simply get a tool to change these dates after the modification.
"There is no lock that can't be picked. There is no cipher that can't be deciphered." The only thing you can do is make cheating a tedious bore so the average player will prefer working within your game parameters instead of trying to circumvent.

...unless of course you place the savefiles out of reach of the user, for example an external server (someone mentioned this earlier)

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty

Thanks all, but i repeat:

1. No serverside stuff, too messy and complicated.

2. I dont care about hackers, im not even a pro myself, i just want to deter casual users from being lazy and cheat past hard parts of my game (and make carefulness part of the intended gameplay)

3. Therefore, no encryption needed. I use a binary savefile, thats good enought.

4. I already said saying "let players do whatever they want" doesnt help me.

Hawkblood: Wouldnt you just backup that file as well? And if you want to return to a previous state of your campaign you return the backed up savefile AND the file keeping track of the timestamps?

The player would have to KNOW about the time stamp in the first place. Remember, the average gamer wouldn't normally think of keeping track of such things. You also make another layer of difficulty by storing the savegame time stamp info in a file that's not in a folder the player would think to look in (not the "savegame" folder).

Thanks all, but i repeat:

1. No serverside stuff, too messy and complicated.
2. I dont care about hackers, im not even a pro myself, i just want to deter casual users from being lazy and cheat past hard parts of my game (and make carefulness part of the intended gameplay)
3. Therefore, no encryption needed. I use a binary savefile, thats good enought.
4. I already said saying "let players do whatever they want" doesnt help me.

Hawkblood: Wouldnt you just backup that file as well? And if you want to return to a previous state of your campaign you return the backed up savefile AND the file keeping track of the timestamps?


NTFS ADS is likely the only thing that will work for you. The fact that the alternate streams are not copied along when the main file/folder is copied is what will produce the behavior you want.

This topic is closed to new replies.

Advertisement