Original Post
In designing the pak system for my game engine, I'm wondering how far I have to take security issues, to what extent I have to hide it from the user for it to be effective. For example, I intend to use MD5 to verify that none of the original game pak files have been modified (modifications are to be supported through separate pak addons). Obviously, in order to perform these checks, I need to store a list of pak files to be checked, along with their correct MD5 values. My question is, do I need to try to embed this data within the game code, to try to prevent tampering, or is the idea sound enough to just store this data in a file? If the stored values are modified, yes it could allow the player to run the game with modified resources, but if the client is forced to send in the calculated (not stored) MD5 values to the server, they wouldn't be able to go online with their modified game. All of this is obviously moot when it comes to hard-core hackers with network packet modification, but I don't really know what to do in that case anyway. Any thoughts?