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?
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!Thanks for participating! You gave me good ideas!If you have more ideas, be free to write here.
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.
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? LolBasically 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?
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: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 : ).
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).