(On a developers side, It’ll still look connected. They’ll just delete it.Īny Connection you make, A hacker can just get that connection and disable it. Just to see if the environment has changed or is different. You can make a table, Checking alot of variables with this. creating a local at the start of the game to handle that Kick function is always handy, This means you can always check to see if the Kick function is unique from the original local playerKick = You’re not pre-defining your variables, As a hackerman you can reset things. I have friends who created an anti decompile, Just by tinkering and using common knowledge. Its wasting time, Just tinkering around with things in-studio.
CHANGE HEALTH IN NOCLIP ROBLOX HOW TO
Then i’ll go on and talk about how you can make it better and how to start making it really hard for big hackermens to bypass it.įirst up, I’ve noticed when it comes to creating new things that really mess with hackers. And strategies that exploiters may use to abolish this script. Here is the article if you want to read more about it. Sorry if I did a bad way of explaining it. You would be surprised by how much protection you can get with a server-side anti-cheat. Local hit, pos = workspace:FindPartOnRayWithIgnoreList(raycast, )Įnd -Made myself, probably spelling errors Here is an example: local raycast = Ray.new(, rayDirection) As a punishment, you can just teleport them back to their last known safe position. If the raycast hits anything other than the character, then they are no clipping through a part. Since the character position is replicated on the server-side, you can cast a raycast from their last know position to their current position direction. You can get the bool value of if it hit something, and where it hit (if it hit). Tl dr: Client-sided anti-exploits are useless against an average exploiter.Ī raycast is a ray that is cast between one position, and a ray direction. Make sure instead of kicking them, you just teleport them back or kill them. There might be some false positives, but that is expected. There are other ways though to get the client’s walk speed. On the other hand, most things that help you find out that a client is exploiting is not replicated to the server. For example, if I change the metatable of Humanoid walk speed to be return 16 then it doesn’t matter what speed I am at, (I can be at 1000) if you check the walk speed, it will return 16.Ī server-side anticheat cannot be accessed by the client, making it a much smarter way of making an exploit. They can also simply change the metatable of the Humanoid.MaxHealth or Humanoid.WalkSpeed to just return 16 everytime it is indexed. They use the metatable of game to detect a kick, and make it hang (With wait(math.huge)) before it kicks you.ĭo not invest your time in a client-sided anti-cheat, and rather make a strong server-sided one. There are so many client anti-kick scripts that will render this whole script useless. This anticheat can be disabled in seconds. Sorry if this is not appropriate to the topic. Third script game:GetService("ReplicatedStorage"):FindFirstChild("Kick").OnServerEvent:Connect(function(player) If not script.Parent:FindFirstChild("Main") then Local Main = script.Parent:WaitForChild("Main") local Players = game:GetService("Players") Game:GetService("ReplicatedStorage"):FindFirstChild("Kick"):FireServer(function() If not script.Parent:FindFirstChild("Anti") then If LocalPlayer.Character:WaitForChild("Humanoid").WalkSpeed ~= 100 then If LocalPlayer.Character:WaitForChild("Humanoid").JumpPower ~= 100 then HumanoidRootPart.ChildAdded:Connect(function(Obj)Ĭharacter.ChildRemoved:Connect(function(Obj) Local Anti = script.Parent:WaitForChild("Anti")īackpack.ChildAdded:Connect(function(Obj) Local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart") Local Backpack = LocalPlayer:WaitForChild("Backpack") Repeat wait() until LocalPlayer.Character local LocalPlayer = game:GetService("Players").LocalPlayer This is the things that i want to improve: I have made this simple anti cheat script, but I am not satisfied with it. I am new to roblox dev forum and scripting.