Haquess - Inhibit movement exploits for your game!

Introduction:

Current version: 1.0.1


Hello! Thanks for seeing my post! Today I’m here to show my anti - exploit module. I call it Haquess, what it does is Inhibit all or almost all movement exploits such as Noclip, fly, speed, jump, teleport and more! Why I am posting this? Its to help new people to scripting protect their game against exploiters.

Documentation:

Haquess is divided in 4 functions, each function can be turned on and turned off. Each function have 2 arguments which is the player and the status of function. If you set the status of function to false the function will disable. If you set to true it will re enable.

  • toggleBodyCheck:

This function start checking for the body parts. If any of the body parts such as humanoid root part or left arm gets destroyed Haquess will kick the player. (R6 and R15 Compatibility)

Haquess:toggleBodyCheck(player, status) --The arguments need be the player instance, (not the character) and the status. (false or true.)
  • toggleDistanceCheck:

This function will check the magnitude of the last position of player with the new position. If the difference be higher than the allowed difference (you can change it on the settings folder of module.) will set player’s position to the last one. (Not recommended change the module to kick player instead, as it probally would kick laggy players.) This function have compatibility with Server Side teleports as you can disable the function and teleport the player on Server and re enable the function.

Haquess:toggleDistanceCheck(player, status) -- --The arguments need be the player instance, (not the character) and the status. (false or true.)
  • toggleNoclipCheck:

This function checks if the player is no clipping or not. This have fully compatibility with CanCollide off parts. If player is caught no clipping will be kicked.

Haquess:toggleNoclipCheck(player, status) --The arguments need be the player instance, (not the character) and the status. (false or true.)
  • onExploit Listener:

This function allows you have custom punishments for exploiters. It is fired every time the module detects that a exploiter. Using this function will override the default punishments.

haquess.onExploit(function(exploiter, punishment) -- the punishment argument is a 
--string and can be one of those: "distanceCheck", "bodyCheck" and "noclipCheck".
--Exploiter argument is the player that exploited.
	print(exploiter, punishment);
end)

Link for the module:

https://www.roblox.com/library/4886779654/Haquess-Inhibit-movement-exploits-for-your-game

Or you can require the module by the ID! In this way the module will be always updated!

local Haquess = require(4886779654)

Source: https://pastebin.com/aaHRzigP

Thanks for reading till here! Hope this helps you! :wink:

28 Likes

Thanks, I’ve been looking for decent anti-exploits and I think I finally found one.

4 Likes

No problem! I hope you like it! :smile:

1 Like

What’s the API to temporarily disable the script so I can teleport players without worrying about them being teleported back?

1 Like

Just call the function that teleport players for the second time (StartDistanceCheck) as it is a switch if you call it for the 1st time it will enable and on the 2nd time calling it will disable.

1 Like

I applaud you for your effort at making this. We all hate those moments where someone uses programs to gain an unfair advantage.

I’m also working on a character anticheat of my own, though the process is slow because a lot of design work is required to compensate for players who are on bad connections.

Speaking of laggy players, I recommend you teleport players back instead of kicking, as someone who decides to turn around the corner of a huge block may get kicked because they appear to teleport through that corner, instead of going around it.

Oh, and speaking of noclipping, cheaters can just delete the detector from their characters. You may want to use raycasting instead.

3 Likes

Sounds good, although it would be much more convenient if there was a Haquess:SetDistanceCheck(true/false) to ensure that it is set to the correct value. I don’t mind though

1 Like

I’m teleporting players back instead of kicking, also as players being the owner of their network ownership on their characters, anything destroyed will replicate to server, soo I can directly detect if they destroyed it. And kick them. (It happens on the BodyParts checker.)

1 Like

Yeah I will probally update it, sounds better :smile:

Edit: Updated!

1 Like

Update log:


  • Removed the MaxStuds setting. Now the distance check use the Walkspeed and JumpPower property of Humanoid;
  • The function Enable was removed from the new version;
  • toggleDistanceCheck is more reliable now;
  • Fixed some important glitches;
  • Better names;

Current version: 1.0.1.