I want to detect if the player is hacking by checking their speed from the server

So here is my script:


So I basically wanna check if the player is hacking by checking their characters speed from the server and if they are then I wanna kick them
but my script doesn’t seem to work for some reason it would be helpful if I know where I have made the mistake.

3 Likes

Don’t have the plr.CharacterAdded:Wait() in there
Just do

local character = plr.Character
if character and character.Humanoid.Walkspeed > 18 then
    
end
1 Like

It still doesn’t seem to work for some reason do you have any other alternatives?

This won’t help you since exploiter can change their WalkSpeed on client and server is still gonna see the default walkspeed.

you could try repeatedly sending a remote event from client to the server and the player walkspeed as the parameter and then check if its above the 18 then kick

3 Likes

Any exploiter could disable that script, or alter what is being sent to the server.

What you could do although it might be overkill is randomize the time when the data is sent. or you could even embed the code into one script and make it hard to read or somethn.

All your effort spent trying to obfuscate a local anticheat script is gone to waste as soon as they disable your script.

you could check form the server for getproperty changed signal of the script then kick

If you’re trying to detect whether or not the script has been deleted or disabled, that change isn’t replicated to the server. You have no way of knowing if your local anticheat script is still functioning like you think it is.

So if you were in my place what would you do in order to avoid these exploiters?

Find the player’s position at a given time and compare it to their position after a few seconds. Kick them if the distance between both positions is too big.

then use another script where the script looks normal but the script about 50000 lines later there will be a line where it fires a remote or a property change theb kick them the only possible but stupid way

Think Like Exploiters

I am sorry but that is not efficient enough or not at all because they can change the speed to a good amount and move in batches in order to avoid that

sometimes if player has massive lag them the server might think its teleporting so its not a good way

At best, they could only move as fast as you want them to move, but whatever. Use whatever method you want.

1 Like

What? No. He is saying the correct way to do it. Because of metatables, exploiters can make sure the client doesn’t see what the actual WalkSpeed is.

2 Likes

The only possible way for antiexploit is call the roblox staff or someone and ask them to improve roblox security as they say “kids game must have security” they do but only for chat but not account security or exploit security i just cant understand roblox

Or… create an anti-exploit that’s not use the client at all…

which is impossible…