Player State Detection Modules
2 ModulesServer-side monitors for Humanoid WalkSpeed, MaxHealth property tampering, and GodMode exploits.
# Overview
Exploiters frequently execute scripts that modify internal properties of their character's Humanoid instance—such as setting Humanoid.WalkSpeed = 120 or locking Humanoid.Health = math.huge.
RAC provides 2 server-side monitors that supervise character properties and damage absorption:
PropertyTamperDetector: Reverts unauthorized changes to WalkSpeed, JumpPower, and MaxHealth.GodModeDetector: Detects damage cancellation hooks and impossible healing rates.
# 1. PropertyTamperDetector (PropertyTamperDetector.luau)
# Monitored Properties
The server maintains an authoritative baseline for every character:
| Property | Authoritative Value | Allowed Variance | Action on Tamper |
|---|---|---|---|
Humanoid.WalkSpeed |
16.0 (or sprint value) |
$\pm 2.0$ | Revert property immediately & flag incident |
Humanoid.JumpPower |
50.0 (or high-jump value) |
$\pm 5.0$ | Clamp back to authoritative power |
Humanoid.MaxHealth |
100.0 (or armor buff) |
$0.0$ | Revert immediately to server baseline |
# Reversion Mechanism
When a client modifies a property locally, Roblox may replicate the change or allow the client to experience desynchronized physics. The PropertyTamperDetector compares the current property value against the server-registered baseline on every scan tick:
if math.abs(humanoid.WalkSpeed - authoritativeWalkSpeed) > allowedVariance then
-- Immediately revert the property on the server
humanoid.WalkSpeed = authoritativeWalkSpeed
-- Record tamper report
self:ReportTamper(player, "WalkSpeed", humanoid.WalkSpeed, authoritativeWalkSpeed)
end
# 2. GodModeDetector (GodModeDetector.luau)
Exploiters often hook into client metatables to suppress Humanoid.TakeDamage calls or immediately reset their health to full upon receiving damage.
# Detection Strategies
# Strategy A: Impossible Healing Rates
The server tracks health changes over time. If a player heals more than MaxLegitimateHealingPerSecond (default $25.0\text{ HP/s}$) without an active medkit or regeneration aura, a GodMode violation is raised.
# Strategy B: Health Value Verification
The detector verifies that:
Healthdoes not equalmath.huge,1.#INF, orNaN.Healthnever exceedsHumanoid.MaxHealth.
# Strategy C: Damage Cancellation Check
When the server deals verified damage via Humanoid:TakeDamage(amount), it schedules a follow-up check $0.15\text{s}$ later. If the player's health did not decrease and no valid shield was active, the script is flagged for damage cancellation.
# Next Steps
- Explore Network & Remote Detectors for packet rate-limiting and payload validation.
- Review the Heuristics Engine to see how tamper reports are scored.