How can I protect my game database/website from getting hacked by anyone? And how can I prevent some hacks ingame, such as god mode and so on?



closed as not constructive by MichaelHouse, bummzack, Engineer, Ricket Oct 10 '12 at 23:42

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    \$\begingroup\$ Your first question would be better answered on superuser or somewhere like that. The second question is still very broad. "God mode" is something that developers implement, it's not a hack. Do some research on the topic and think about specific scenarios you think you need to protect against. There's no correct answer that could encompass all that you're asking here. \$\endgroup\$ – MichaelHouse Oct 10 '12 at 21:32
  • \$\begingroup\$ The second part of this question is valid I think because there are certain things that are worth keeping in mind about the ability to modify games running on your own systems. You can hack in "God mode" via a number of ways without the developer ever creating that feature themselves. I agree with @Byte56 though that with the first part you're going to get better results on superuser or somewhere that focuses on secure online interactions. \$\endgroup\$ – Lunin Oct 10 '12 at 21:58
  • \$\begingroup\$ I'm going to try superuser then. Thanks a lot guys. \$\endgroup\$ – Pedro Oct 10 '12 at 22:01
  • \$\begingroup\$ For your first question, it's off topic (not specific to game development) and you should do research on "system administration", but really you should first decide on a platform (Windows or Linux), software, etc. and look into administering each one. As for the second, you'll find many good questions and answers if you search for cheating. After you read through those, then ask a specific question if you still have one. Also, please don't ask two questions in one. :) \$\endgroup\$ – Ricket Oct 10 '12 at 23:42

This question is far more important and difficult than a standard 1 million question.

The answer is just under your nose and it's basically this: you can't and you are in an arms race.

There is a much more modern answer and it's: make it online and make it a service.

Games like Battlefield or Call of Duty are hacked and cracked but the fact that a big portion of their value is about online gaming on closed networks contributes to keep things under control even if the original game is hacked.

There is not even a viable approach to encription that can ensure you that your data is safe, you just need people working on this day by day in keeping your software up to date, no other real answers here if you care about your data.

If your users do not care about censorship and/or a limited amount of possibilities you can take alternative paths like the one taken by the games that i have mentioned before, but usually this requires a very good marketing approach.

locked by Ricket Oct 10 '12 at 23:43

This post has been locked due to the high amount of off-topic comments generated. A link to a chat room will be posted in the comments below if the conversation was moved to chat.

Read more about locked posts here.

  • \$\begingroup\$ +1, You got the essence of my answer before I was even done thinking of wording :). One thing to note as to why this answer is so is the fact that anything on someone's computer is changeable by someone with sufficient knowledge. If you have a variable for health in your code, that variable is stored in RAM somewhere. If someone finds that value they can change it directly and there's nothing you can do. Implement a secondary security? That's in RAM and can be bypassed. You can make it harder, but never impossible to cheat so long as you are running on someone else's hardware. \$\endgroup\$ – Lunin Oct 10 '12 at 21:52
  • \$\begingroup\$ But how can I access those closed networks while keeping the game online? Suppose I have my game up and running online and a new user wants to join the game. How can I make that the registering site transfer the info to the database if it is set in a closed network? \$\endgroup\$ – Pedro Oct 10 '12 at 21:52
  • \$\begingroup\$ @Pedro If security is your number one concern, you shouldn't be accepting anything from the user as it could be faked. Of course this places severe limits on how much you can handle at once and requires you to send lots of data to every connected computer, but for the largest amount of security (that I know of) you essentially want to treat the connected devices as dumb terminals that you pipe a screen image to while taking keyboard/mouse input to be processed by your server. Keep in mind what you are trading for security, you have to find a balance point right for your game \$\endgroup\$ – Lunin Oct 10 '12 at 22:05
  • \$\begingroup\$ Exactly my point Lunin. If I'm supposed to have the database in a closed network how can I make the server to process the input data from new users? \$\endgroup\$ – Pedro Oct 10 '12 at 22:07
  • \$\begingroup\$ Sorry for all the questions at the same time but I just recently started to learn about this and I'm, most of all, curious. \$\endgroup\$ – Pedro Oct 10 '12 at 22:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.