Syncing games with each other

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,513
Reaction score
3,203
First Language
Binary
Primarily Uses
RMMZ
I actually care because I want it to be played fair, although it's not really important to encrypt it, and put the data on a server instead and load it. I actually care about the cheaters, because I hate cheaters and prefer playing a game fair, so I want this played fair too, as it will be used on other games and on the forums from those games. It's more like a game network
I used to be of the same opinion.

Eventually you realize cheaters will find a way around any protection you could imagine..

For a perfect example, take the recent GTA5. Excellent game , played by millions, hacked within a few days of its release!

Think of the SIZE and EXPERIENCE within their team of coders. They have numerous various methods of encrypting / protecting all their data, yet they failed.

You really think that your coding alone will stop people finding a way past it? - Chances are it wont - nobody's will. Its really just that simple :(

Its a shame really...
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
I actually care because I want it to be played fair, although it's not really important to encrypt it, and put the data on a server instead and load it. I actually care about the cheaters, because I hate cheaters and prefer playing a game fair, so I want this played fair too, as it will be used on other games and on the forums from those games. It's more like a game network
In that case, encryption is not going to help you because anyone can attach a debugger and then just read your encryption algorithm.


You are right that having the server manage this data is much better. However, your implementation is still vulnerable to various techniques to intercept data and modify them on the fly before it reaches either the client or server. If I can simply modify save files on my end and send them to your server without any checks on your end, then I've successfully cheated and you've accepted it.


You will need to be worried about the http library you're using and make sure that it is not vulnerable to easy things.


here's just a simple list of issues that I've come across that online game companies are not doing correctly, and it's not limited to the scope of your game.


http://www.himeworks.com/protecting-your-online-game-resources/


There are some games where the devs have properly secured their data, thus preventing me from taking all of their resources in 5 minutes, but maybe there are techniques that I haven't found out. I've seen numerous ways that devs have tried to be clever, and most of them have been cracked. I don't read machine code, so I just pass that off to people that do, but a lot of things I can do on my end, I just do it.


So if you care about fairness, you're going to have a lot of things to think about.
 
Last edited by a moderator:

Zeriab

Huggins!
Veteran
Joined
Mar 20, 2012
Messages
1,268
Reaction score
1,422
First Language
English
Primarily Uses
RMXP
So you have a singleplayer game. No leaderboards or anything else, right? I'll assume that is the case.

Just compress your data. The included Zlib has a nice an easy interface for using the DEFLATE algorithm.

# Exporting your data (...)compress_data = Zlib::Deflate.deflate(save_data) (...)
Code:
# Loading your save data (...)save_data = Zlib::Inflate.inflate(compress_data) (...)
Now you have some save data that is highly unlikely to be human readable by looking the files. As a bonus compressing saves is good practice.

Ps. Remember to compress before encrypt should you decide to add further encryption.

*hugs*
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
You cannot really stop them from hacking it... Employ a few things to secure it, but don't really go too deep, else you're just giving yourself an unnecessary headache. Plus it's a single player game right? Just let them be, cheating is a choice they make. And chances are, using even just the normal marshal.dump or Zeriab's method above will be enough to keep "ordinary" people from cheating. :)
 
Last edited by a moderator:

iRonan

Scrub
Member
Joined
Feb 26, 2014
Messages
152
Reaction score
14
First Language
Dutch
Primarily Uses
You cannot really stop them from hacking it... Employ a few things to secure it, but don't really go too deep, else you're just giving yourself an unnecessary headache. Plus it's a single player game right? Just let them be, cheating is a choice they make. And chances are, using even just the normal marshal.dump or Zeriab's method above will be enough to keep "ordinary" people from cheating. :)
I won't go too deep, as it won't be played by much (unless many people start supporting it). It is single player with a leaderboard (if I can manage to get this syncing), I'll apply Zeriab's Method, so enough people will be prevented from cheating.
 

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
Wait, why would you need synching to do the leaderboard? or will it be something like an online leaderboard?
 
Last edited by a moderator:

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,682
Reaction score
3,003
First Language
Tagalog
Primarily Uses
RMVXA
then it's better be server-side something, which will be quite more work than just synching thru local files
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,865
Messages
1,017,059
Members
137,574
Latest member
nikisknight
Top