- Joined
- Feb 2, 2006
- Messages
- 1,631
Hi, I was wondering if you could generate save codes which contain the version of a map and verify that version against the currently played version.
I have already added a checksum and the player name's hash to the save code so you can only use the save code for your player in battle.net and I stored whether or not there were other user players (singleplayer or not) but still a person could open the unprotected map, change some stuff to give himself XP and host it once with players and get a savecode that is pretty good. Of course he could also look at the code and manually generate one by replacing stuff which stores whether it was multiplayer or not etc. If was also thinking about using the player name's hash to move the code table, so you get different characters with every player name.
To make it a bit harder to create your own savecode, I would have checked the saved map version/editor version or a checksum of the map. Are there any possibilities to do that? Then I could make a list of valid checksums/versions of the map and verify the save code against that. The player is only able to use his generated savecode with a modified version of the map and players will notice that when he/she hosts it.
Unfortunately, I see no natives for getting the map's version or checksum or something like that
I am not sure how current save/load systems work. Are they only "safe" for protected maps?
I have already added a checksum and the player name's hash to the save code so you can only use the save code for your player in battle.net and I stored whether or not there were other user players (singleplayer or not) but still a person could open the unprotected map, change some stuff to give himself XP and host it once with players and get a savecode that is pretty good. Of course he could also look at the code and manually generate one by replacing stuff which stores whether it was multiplayer or not etc. If was also thinking about using the player name's hash to move the code table, so you get different characters with every player name.
To make it a bit harder to create your own savecode, I would have checked the saved map version/editor version or a checksum of the map. Are there any possibilities to do that? Then I could make a list of valid checksums/versions of the map and verify the save code against that. The player is only able to use his generated savecode with a modified version of the map and players will notice that when he/she hosts it.
Unfortunately, I see no natives for getting the map's version or checksum or something like that
I am not sure how current save/load systems work. Are they only "safe" for protected maps?