Character-manipulating exploit in my game

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 is a prime example of an exploiter using this character manipulating exploit, any help would be greatly appreciated.

1 Like

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.

1 Like

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)

They might not disable all the motors, so this solution probably wouldn’t work for less complex animations.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.