Skip to content
Alexkist edited this page Aug 29, 2026 · 3 revisions

Anticheat Data Variables

This part of the Wiki will detail all Data variables within the Loader's Data ModuleScript.

Server-Sided

Humanoid Checks

The HumanoidChecks Table contains all Settings for the Server's State change Detection.

WhitelistedStates

WhitelistedStates are all States that the Humanoid is allowed to have, Please check out All Humanoid States on Roblox's Documentation.

CheckPlatformStanding

CheckPlatformStanding checks for State 14, aka "PlatformStanding". This check WILL ignore the Whitelist, even if State 14 is whitelisted it will be ignored.

Note

State 14 is very common for flight exploits, so it is enabled by default and recommended to stay enabled. Only disable if it causes issues, which is highly unlikely.

Magnitude Checks

The MagnitudeChecks Table contains all Settings for the Server's MagnitudeChecks Detection.

Max_Magnitude

Max_Magnitude is the maximum Magnitude Change allowed, it will be compared after CheckDelay runs out.

CheckDelay

CheckDelay is the delay between the Server grabbing previous Values and comparing them with new Values.

CheckTime

CheckTime is the time until the Server starts the Check again.

Note

While CheckTime and CheckDelay may seem identical, they are not. CheckDelay only delays the comparison between Values, while CheckTime is the duration until the Server runs the function.

HTTP

The HTTP Category within Data allows you to customize certian elements of the Embed sent when using SendToWebhook.

Setting Embed Colors

You can change the Embed's Color by looking at the WarnColor and KickColor locals.

Note

The Color locals only support Decimal Numbers

Customizing the Embed

Warning

Do not edit the GenerateEmbed function unless you know what you are doing!

Variables list

Variable Function
Plr Literally just the Roblox Player
Color A Decimal Number of the Embed's Color
Fields The Embed's Fields which will be sent with the Payload
GenerateEmbed = function(Plr : Player, Color : number, Fields : any)
			return {
				embeds = {{
					title = "OspryOS Anticheat",
					description = "@"..Plr.Name.." ("..Plr.UserId..")",
					color = Color,
					fields = Fields,
				}}
			}
		end,

Client-Sided

Noclip Detection

The NoclipDetection Table or known in the Client as NoclipConfig, are the Settings for NoclipDetection.

PrecisionMode

This setting is a value set between 0-3 that controls how precise the validation is for noclips. Usually this value is set to the default of 2.

Warning

Setting the value outside of the range may lead to unexpected behavior!

MaxAllocatedViolations

This setting is self explanatory. It controls how many violations a player can allocate before they are kicked.

ResetAllocationsPerCycleCount

This setting is self explanatory. It controls how many times a cycle will run for and when it resets the violations of the player.

IgnoreWaterForCasting

This setting internally controls if raycasts account for water terrain, its recommended to not change this setting unless needed.

NoclipEvaluationVector

This controls the direction/length the raycast takes from the HumanoidRootPart

Tip

A raycast is the anticheat drawing a "arrow" from the HumanoidRootPart with a specified length/direction. The default creates a arrow within the player's body and with a super short distance. If this arrow hits something like a wall, we know for sure the player is inside something they shouldnt be in.

Warning

Do not change this value if you don't know what your doing as it may lead to false-positive behavior!

Gui Detection

WhitelistedGuis

The WhitelistedGuis Table contains Names of Guis which are not in StarterGui and will therefore be ignored. (Basically Guis that were created with Instance.new()). You can find an example on how to add Guis below!

Caution

Setting this up can make it easier for Exploiters to use unauthorized Guis, as the Check will ignore any ScreenGui with the Names within the Table. Gui Detection is not recommended to be used for a reason. If you wish to use it, make sure there are no Guis being created with Instance.new(), and make sure all your Guis are within StarterGui.

WhitelistedGuis = {
	"MainMenu", "AdminGui"
},