@ExitusActaProbat you’re being really ignorant here.
TL;DR → a complicated anticheat system of some sort on the client is just not feasible. Everything on the client can be changed, granted that the exploiter knows enough about what they’re doing.
My games use a system where the server fires a client using a RemoteFunction to return any data, and then the server checks over said data to see if it has been tampered with or not. Surprisingly effective, I have thousands of bans from it.
People using really badly made scripts (that cause errors) are also detectable by combing through their console output and looking for keywords such as “synapse” etc.
Sorry, I am not arguing if anti-cheats on the client are good (obviously they are bad). So, am I right if I understood you correctly you should change the names of all the common services that are usually used with game.Workspace instead of game:GetService(“Workspace”) and you should rely on that to catch exploiters also searching trough the scriptcontext.Error to get errors from the client?
Any good scripter would use GetService anyways. And checking for errors with the console isn’t fool-proof, either. They can either disable your check or the exploit can make it so that the console doesn’t provide errors for their scripts.
My games use a system where the server fires a client using a RemoteFunction to return any data, and then the server checks over said data to see if it has been tampered with or not. Surprisingly effective, I have thousands of bans from it.
so you’re relying on client which is really bad.
exploiter would do this
remote.OnClientInvoke = function(...)
print(...) -- see what you fired stuff with and then play with it
return 'what they want'
end;
I think renaming the services in the game explorer is a waste of time, anybody with any understanding of Roblox programming should be using GetService anyway, but they could just open the explorer using Dark Dex which is built into most exploits and view it themselves and see the names.
Simply putting small sanity checks on both client and server code, and securing your remote events, should be more than sufficient to catch out the majority of exploiters.
old scripts or bad exploit developers do stuff like game.Players or game.CoreGui
renaming some services as “CoreGui” will make it error and you can detect that
Nope, not how it works at all. I’m not going to thoroughly explain how an anticheat I use for my games works, for obvious reason. But it’s not as easy as that.
No cap but every script I have seen up to now would fall for that (I checked the first 20 for fast walkspeed).
--another example
-- This script can be used in script builder
-- Put you name were it says YOURNAMEHERE
game.Workspace.YOURNAMEHERE.Humanoid.WalkSpeed = 100 -- Change the number to the speed you want
But catching errors is essential isn’t it? Since most people as I said will get errors when they experiment with scripts.