I’m almost to the point in my game development where I need to start considering cheat/exploit detection. I have seen a few ideas on how to pull off noclip, speed, and fly hacks. But, what about teleporting? Or these buzzwords DEX and ESP? Yes, I am looking lots of information on this to make something as bullet proof and idiot proof that I can.
I have given this some thought already. Every so often, it will pick a random player to examine. The entire gauntlet of checks will be done on the player both server side and client side. I am acutely aware of the fact that the client cannot be trusted, and I am working on provisions to counter that by also looking to implement a crypto system to digitally sign data coming from the client to discourage tampering. Granted, an exploiter who is versed in cryptography could break it. To do true RSA style elliptic curve public key crypto in LUA is not feasible performance wise. I haven’t seen any offerings from Roblox about this in their documentation.
What about undocumented features?
It’s going to work something like Warden that Blizzard Entertainment uses for World of Warcraft where the client responds to commands from the server to collect information and send that information to the server. The information is expected. If it’s not received within a certain timeframe, the player gets kicked. I’ve also been looking into Blizzard’s RICOCHET and I like what I see. Instead of banning a player, take their fun away. Here’s an article on it: https://news.blizzard.com/en-us/blizzard/23814048/ricochet-anti-cheat-progress-report-qanda
And here’s a master’s thesis that someone wrote a couple of years ago (PDF): https://helda.helsinki.fi/bitstream/handle/10138/313587/Anti_cheat_for_video_games_final_07_03_2020.pdf
And another paper in a peer-reviewed journal: https://www.imedpub.com/articles/detecting-cheating-in-computer-games-using-data-mining-methods.pdf
I have read a number of threads on here regarding anti-cheat/anti-exploit. What are you guy’s thoughts on this?