Hi! ME Noob, I didn’t start developing to long, I’m not skilled as you guys, but I always try my best.
I’m trying to make a big game right now, and I thought a lot of YouTube video were people exploring and cracking games. I want to know a little bit more about anticheat scripts. I already try to use this one:CodePrime8's Anti-Exploit Script v1.1 - Roblox
But players eventually find new ways.
What its the best way for defending that? Any solutions for me?
Unfortunately, you can do things to only a certain extent, but players will always be able to access the data in the game local to their client (e.g: GUIs, player-sided scripts, etc.)
However, they do not, and will not, have access to the server, and the contents stored on the server. This includes server scripts, server-sided storage such as ServerStorage, etc. They’ll never be able to do anything with that stuff.
So the key is to implement what’s referred to as “sanity checks”, which mainly refers to making sure remote calls make sense. For example, if I fire a remote to the server to damage a player that was hit by a sword, we should run a sanity check making sure the player hit is actually in range of the sword, and wasn’t 50 studs off but is still requesting to damage that player.
Of course, anything client-sided the player changes is only visible on their client, but the key is making sure they can’t do anything that actually impacts how the server handles their client, if that makes sense. For example, abusing a “GiveMoney” remote that they call every frame to give themselves lots of money.