Within my game it is not uncommon to come across users having the ability to manipulate there body into different positions, I’m wondering how I could patch this, or more how it works so I can patch it.
This exploit is possible because the client has NetworkOwnership of the character. You can do a check on the server, but you should focus on stopping the effects on gameplay only, or you will be chasing variations of this forever.
antiExploitMotor.rbxl (37.5 KB) The anti-cheat script is located in ServerScriptService.
This will prevent the exploiters from deleting their Motor6Ds. I’m not sure how the exploit works, it seems like their character dies, which means they are most likely removing their motors.
This will kick them if they attempt to do so. Test it out and tell me if it fixes the issue.
I’m not to familiar with how this exploit works but assuming there character actually dies you could just do a simple check to see if the character is dead for to long, something like this could work:
local Players = game:GetService("Players")
local TimeBeforeCheck = Players.RespawnTime * 1.5 -- Want to make the time a little bit longer then the actual respawn time to prevent false positives
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
character:WaitForChild("Humanoid").Died:Connect(function()
task.wait(TimeBeforeCheck)
if not character.Parent then
player:LoadCharacter() -- You can do whatever you want to the player here, but remember it could be a false positive which is why I chose not to kick the player but instead respawn them
end
end)
end)
end)