Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Anti-cheat Protection

Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
Hello! Do you use obfuscation in your projects?I mean anti-cheat protection in games. What tricks do you use against hacking?
 
Banned
Banned
Joined
Oct 8, 2018
Messages
90
Reaction score
4
add some hex code on the source that can be possible hacking tools target and add also auto ban for third attempt and close the client automatically
 
Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
Thanks for advice. I'll try to use
 
Newbie Spellweaver
Joined
Oct 29, 2018
Messages
7
Reaction score
1
You should think about how you can to limit the user's influence on your program.Create a list of weaknesses and try to ensure their protection
 
Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
Thanks, that sounds reasonable.
I would like to know about specific solutions. Maybe someone has good guides, examples?
 
Banned
Banned
Joined
Oct 8, 2018
Messages
90
Reaction score
4
get some idea project on github theres alot ideas you can get when you start making protection
 
Newbie Spellweaver
Joined
Oct 29, 2018
Messages
7
Reaction score
1
Yes, there are many great solutions to the GitHub.
Also, you can find a huge variety of software offering their solutions in Google.
As I said, sometimes I use ArmDot for obfuscation.
I also read about such trifles: you can give the variables obscure names so that the attacker could not immediately understand that this is also used for what. But for an experienced cheater, this can be easy) I do not know what the effectiveness of this method
 
Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
Thanks for participating! You gave me good ideas!If you have more ideas, be free to write here.
 
Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
This game has not yet been released. This is a bit like a Samurai Boy game.
 
Newbie Spellweaver
Joined
Dec 8, 2018
Messages
12
Reaction score
0
As has been mentioned above, github is a good place to start.
However, if you have more advanced knowledge surrounding the development - I would suggest attempting to craft something yourself, however unfortunately there are not many guides on how to do this.
Feel free to contact me if you need anything else. :)
 
Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
Thank you, your advice is very important to me.But I doubt that I can do it on my own. It will take a looooooot of time)
 
right + down + X
Loyal Member
Joined
May 25, 2006
Messages
1,688
Reaction score
298
This might be a bit late, but "anti cheat" is a lot simpler than people make it seem.

Instead of treating game servers as a simple transaction engine, you should basically design in a way that you're running the whole world internally, and the interactions of the players are simply "inputs" into your game world model. If something doesn't make sense, then don't do it.

If you're using strong encryption, the only "anti-cheat" is your ability to validate the players' actions as actually happening. If they don't have the items they're dropping or depositing, then ignore it. Make sure you're handling random disconnections and overflows. Make sure that you error handle in a way that doesn't cause a bad game state (the cause of most cheating).

tl;dr: Good design and implementation is your anticheat. Don't trust anything that comes from outside of the server, and validate internally.
 
Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
It is never too late to give good advice.Thanks for the useful information. There is something to think about
 
Banned
Banned
Joined
Mar 23, 2018
Messages
111
Reaction score
8
This might be a bit late, but "anti cheat" is a lot simpler than people make it seem.

Instead of treating game servers as a simple transaction engine, you should basically design in a way that you're running the whole world internally, and the interactions of the players are simply "inputs" into your game world model. If something doesn't make sense, then don't do it.

If you're using strong encryption, the only "anti-cheat" is your ability to validate the players' actions as actually happening. If they don't have the items they're dropping or depositing, then ignore it. Make sure you're handling random disconnections and overflows. Make sure that you error handle in a way that doesn't cause a bad game state (the cause of most cheating).

tl;dr: Good design and implementation is your anticheat. Don't trust anything that comes from outside of the server, and validate internally.

Basically your whole paragraph is just a Spam dude.
Everyone who want to use Anti-Cheat already processed this in their mind.

It like tell a baby to crawl since they cant walk yet..
Its logically. Wtf are u getting into?
 
right + down + X
Loyal Member
Joined
May 25, 2006
Messages
1,688
Reaction score
298
Basically your whole paragraph is just a Spam dude.
Everyone who want to use Anti-Cheat already processed this in their mind.

It like tell a baby to crawl since they cant walk yet..
Its logically. Wtf are u getting into?
Are you sure? You can't cheat in a multiplayer game if someone has "thought of and imple ented" my spam. Cheating happens because someone figures out a mistake in the programming and exploits that for gain. No "easy anticheat" can make up for crappy programming. Get woke, go broke. Banks don't need easy anticheat software to ensure that you're not duping your bank balance right? Lol

 
Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
I think we talk about ideas here, not a concrete implementation. I agree with GhostSnyper, generally cheats are possible due to bugs and errors in the code, unexpected behavior and so on. Unscrupulous users find the vulnerability and use it.
 
cats addicted
Loyal Member
Joined
Apr 1, 2010
Messages
1,364
Reaction score
293
Just an idea:

1. Mirror the whole client on a server. Let the client dont do updates like most do (check version -> version lower then update), do full scan for every file with md5 hash. If file on mirror has the same hash, its ok. If not, download File. So it cannot be manipulated before your "launcher".

2. Let a process run in background, which checks the md5 of each file while running. If a file is not the same, kick player from server (or whatever). So it cant be manipulated after Launcher.

3. if process running in background is stopped (by taskmanager or whatever) client closes. So the background process cant be manipulated.

4. let the launcher download a keyfile. Client cant run without the actual keyfile which changes every X hours. If client is connected and the keyfile is missing, client closes. (maybe some timestamp thingy as key like linuxtime or something with some tricks like base64 encoded and md5 hashed after so noone can find a fast way to do his own keyfile writer. Up to you :D: ).

5. let background process send something every X minutes to be sure its running from the IP the client connected. No message, kick client.


This are just some ideas to give you an idea how it could be protected (sure its all crackable but this takes a while). This is btw the simple way most of the unwanted programs like hackshield or Gameguard work. (they do much mor for sure but thats the bare minimum).
 
Newbie Spellweaver
Joined
Oct 8, 2018
Messages
18
Reaction score
2
Just an idea:
1. Mirror the whole client on a server. Let the client dont do updates like most do (check version -> version lower then update), do full scan for every file with md5 hash. If file on mirror has the same hash, its ok. If not, download File. So it cannot be manipulated before your "launcher".
2. Let a process run in background, which checks the md5 of each file while running. If a file is not the same, kick player from server (or whatever). So it cant be manipulated after Launcher.
3. if process running in background is stopped (by taskmanager or whatever) client closes. So the background process cant be manipulated.
4. let the launcher download a keyfile. Client cant run without the actual keyfile which changes every X hours. If client is connected and the keyfile is missing, client closes. (maybe some timestamp thingy as key like linuxtime or something with some tricks like base64 encoded and md5 hashed after so noone can find a fast way to do his own keyfile writer. Up to you :D: ).
5. let background process send something every X minutes to be sure its running from the IP the client connected. No message, kick client.
This are just some ideas to give you an idea how it could be protected (sure its all crackable but this takes a while). This is btw the simple way most of the unwanted programs like hackshield or Gameguard work. (they do much mor for sure but thats the bare minimum).
I am grateful to you for participating in this discussion. Your advices are reasonable. I will try to use them.I understand that it is impossible to get rid of cheaters) I want to complicate their task.:ehh:
 
Banned
Banned
Joined
Jan 20, 2019
Messages
9
Reaction score
2
theres have a anti-cheat project that you can use work from other you will add by your own the other thing try to learn and update this one by your own this is project for some person post on github

 
Back
Top