Advanced multi-layered anti-exploit protection system for Roblox games. Provides comprehensive security against various types of exploits and cheating methods.
- Script Injection Detection - Monitors and blocks unauthorized script injections
- Remote Exploit Protection - Secures RemoteEvents and RemoteFunctions with rate limiting
- Player Behavior Analysis - Detects speed hacks, fly hacks, and teleportation
- Memory Protection - Monitors memory usage for suspicious spikes
- Environment Security - Protects global environment from tampering
- Real-time Monitoring - Continuous scanning and detection
- Comprehensive Logging - Detailed logs for all security events
- Download the entire
SentinelAntiExploitfolder - In Roblox Studio, insert the folder into
ServerScriptService - Rename the folder to
SentinelAntiExploit
- Create a new ModuleScript in
ServerScriptServicenamedSentinelAntiExploit - Copy the contents from
MainModule.luainto this ModuleScript - Create the folder structure as shown below
-- In a ServerScript in ServerScriptService
local Sentinel = require(game.ServerScriptService.SentinelAntiExploit.MainModule)
-- Enable debug mode for development
Sentinel:SetDebugMode(true)
print("Sentinel Anti-Exploit initialized successfully")-- In a ServerScript
local Sentinel = require(game.ServerScriptService.SentinelAntiExploit.MainModule)
-- Custom event handling
game.Players.PlayerAdded:Connect(function(player)
print(player.Name .. " joined - Sentinel is monitoring")
-- Get player security data
local playerData = Sentinel:GetPlayerData(player)
if playerData then
print("Join time: " .. playerData.JoinTime)
end
end)
-- Check system status
game:GetService("RunService").Heartbeat:Connect(function()
local detections = Sentinel:GetDetectionCount()
if detections > 0 then
print("Active detections: " .. detections)
end
end)Edit Core/Config.lua to customize detection thresholds:
local Config = {}
-- Detection thresholds
Config.DetectionThreshold = 5
Config.MaxRemoteCallsPerSecond = 30
Config.MaxMemorySpike = 100
Config.MaxPlayerSpeed = 100
Config.MaxTeleportDistance = 50
Config.FlyDetectionTime = 2
Config.ScanInterval = 10
-- Suspicious patterns
Config.SuspiciousNames = {
"exploit", "inject", "cheat", "hack", "dex",
"saveinstance", "bypass", "crack", "scriptware"
}
return Config| Method | Parameters | Description |
|---|---|---|
Initialize() |
None | Initializes the anti-exploit system |
SetDebugMode(enabled) |
boolean |
Enables/disables debug logging |
GetDetectionCount() |
None | Returns number of active detections |
GetPlayerData(player) |
Player |
Returns security data for player |
Shutdown() |
None | Safely shuts down the system |
SCRIPT_INJECTION- Unauthorized script injection attemptsILLEGAL_INSTANCE- Suspicious instance creationREMOTE_EXPLOIT- Remote event/function exploitationSPEED_HACK- Player movement speed violationsFLY_HACK- Unauthorized flight detectionTELEPORT_HACK- Instant teleportation detectionMEMORY_CORRUPT- Memory usage anomalies
Monitors for:
- Unauthorized scripts with suspicious names
- Environment tampering attempts
- Suspicious module requirements
- Rate limits remote calls (30/second default)
- Validates argument types
- Checks call stack for suspicious patterns
- Speed Hack: Detects movement >100 studs/second
- Fly Hack: Detects sustained flight >2 seconds
- Teleport Hack: Detects instant movement >50 studs
-- In a new module file
local CustomDetector = {}
function CustomDetector:Initialize()
-- Add custom detection logic here
game.DescendantAdded:Connect(function(descendant)
-- Custom detection conditions
if descendant:IsA("Part") and descendant.Name == "SuspiciousPart" then
Logger:LogDetection("CUSTOM_DETECTION", {
Instance = descendant:GetFullName()
})
end
end)
end
return CustomDetector-- In MainModule.lua, modify _TakeAction function
function Sentinel:_TakeAction(detectionType, data)
if data.player then
-- Custom actions based on detection type
if detectionType == "SPEED_HACK" then
data.player:Kick("Speed hacking detected")
elseif detectionType == "SCRIPT_INJECTION" then
data.player:Kick("Script injection attempt detected")
end
end
end-
False Positives
- Adjust thresholds in
Config.lua - Review detection logs for patterns
- Adjust thresholds in
-
Performance Impact
- Increase scan intervals
- Disable unnecessary modules
-
Detection Not Working
- Verify module placement in
ServerScriptService - Check debug mode for logs
- Verify module placement in
Enable debug mode to see detailed logs:
Sentinel:SetDebugMode(true)Note: This system is designed to work alongside Roblox's built-in security features, not replace them. Regular security updates and monitoring are recommended for optimal protection.
## Step-by-Step Installation Guide
### Step 1: Download the Project
```bash
git clone https://github.com/REBL0X/anticheat-luau.git
- Open your Roblox game in Studio
- In the Explorer window, locate
ServerScriptService - Right-click
ServerScriptService→Insert From File - Select the entire
SentinelAntiExploitfolder - Rename the inserted folder to
SentinelAntiExploit
Create a new Script in ServerScriptService:
-- ServerScriptService/InitSentinel.lua
local Sentinel = require(game.ServerScriptService.SentinelAntiExploit.MainModule)
-- Optional: Enable debug mode during testing
Sentinel:SetDebugMode(true)
print("✅ Sentinel Anti-Exploit v4.0.0 initialized successfully")- Publish your game
- Join as a player
- Check output for initialization message
- Monitor for any detection logs