-5
\$\begingroup\$

Does storing game data server-side definitely prevent cheating related to that data (by altering it, et cetera)?

\$\endgroup\$
  • 2
    \$\begingroup\$ Do you seriously expect a community of game developers to help you with destroying their work? \$\endgroup\$ – Philipp Jul 18 '16 at 19:59
  • \$\begingroup\$ This is why this SE is called Game Development and not Game Hacking... /sigh \$\endgroup\$ – Jesse Williams Jul 18 '16 at 20:11
  • 1
    \$\begingroup\$ FWIW we have never had any discussion that I'm aware of concerning the on- or off-topicness of hacking. I closed this question purely because "how do I execute a man-in-the-middle attack" is not at all game-development specific. Or related. Nor is asking for tools like WireShark to do network interception. \$\endgroup\$ – Josh Jul 18 '16 at 20:25
  • \$\begingroup\$ "definitely prevent cheating" There is no such thing. \$\endgroup\$ – Vaillancourt Jul 19 '16 at 0:17
1
\$\begingroup\$

If you're careful enough, your typical users will not be able to change this data on your own servers (see Josh's answer).

However.

It does not mean that they won't be able to cheat related to that data.

If your game transfers this data to your users every time they need it, they still could discard it, replace it by their own, perform game simulation based on their own parameters, and send the 'new state' of the simulation to your server. If you don't counter-validate their actions with your own set of server parameters and data, and just assume that what you sent 'must be valid' (because I sent them the correct parameters (right?)), they'll be able to cheat.

Is it definitely impossible for a user to alter data stored server-side in an online game?

Yes, it's possible to achieve this.

Does storing game data server-side definitely prevent cheating related to that data (by altering it, et cetera)?

No, only storing game data server-side does not definitely prevents cheating related to that data.

\$\endgroup\$
  • \$\begingroup\$ perform game simulation, what's that?, what do you mean?. \$\endgroup\$ – Mehdi Jul 19 '16 at 16:08
  • \$\begingroup\$ @Mehdi A game is basically a simulation of something. Mario Bros. games simulate a plumber that jumps over turtles and shoots fireballs when he's high. Pacman simulates a teenager boy that parties too much. A game frame is basically a simulation step. Is it clearer? \$\endgroup\$ – Vaillancourt Jul 19 '16 at 17:06
1
\$\begingroup\$

No.

It makes it so difficult to alter the relevant data for malicious (cheating/hacking) purposes that it is effectively impossible for most casual players who would want to cheat to do so or to obtain cheat software to help them do so.

However, it's not technically impossible. Just like hackers can breach the security of social networking websites, bank websites and the US Office of Personnel Management, hackers could breach the security of any data centers or server clusters used by any online game out there.

Anti-cheat paradigms in games are primarily about raising the bar so high that it's improbable. Storing data server-side does that (for that data, at least; see Alexandre's answer). It makes the task so difficult that the payoff (infinite HP!) isn't worth the effort. At that point, if hackers were able to penetrate a game's server-side security, they'd probably be far more interested in obtaining any payment or personal information from the user database; that's far more likely to be profitable than giving their characters infinite gold is.

\$\endgroup\$
  • \$\begingroup\$ In the long run, is stealing users payment/personal information more profitable than hacking items/gold and doing real money trading? Real money trading seems like it would be less risky/punishable if caught. \$\endgroup\$ – milk Jul 19 '16 at 0:59
  • \$\begingroup\$ I'm not aware of any data on that I could share. \$\endgroup\$ – Josh Jul 19 '16 at 1:04
  • \$\begingroup\$ @JoshPetrie What protocol(s) game-server-sided uses to send these data?, and does these data (of all game-server-sided) can be reached via browsers?, and what are the languages that can be used to store these data in the game servers (such as SQL etc.)?. \$\endgroup\$ – Mehdi Jul 19 '16 at 15:25
  • \$\begingroup\$ @Mehdi All of that depends on the specific game in question. \$\endgroup\$ – Josh Jul 19 '16 at 15:39
  • \$\begingroup\$ @JoshPetrie Ok, depending on most online games (installed software)?. \$\endgroup\$ – Mehdi Jul 19 '16 at 16:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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