Execution Lifecycle
LifecycleStep-by-step trace of how initialization, frame detection, heuristic scoring, and punishment execution flow.
# Complete Execution Flow
Every frame on the Roblox server follows a deterministic execution pipeline:
[Server Boot: Init.server.luau]
│
├─► RBACManager.Init() ───────── Load admin IDs & group roles
├─► StorageManager.Init() ────── Verify DataStores / Fallback
├─► PunishmentManager.Init() ─── Subscribe to MessagingService cross-server topic
├─► HeuristicsEngine.Init() ──── Precompute fingerprint cluster weights
└─► DetectionEngine.Init() ───── Load & index 15 detectors in Detectors/
│
▼
[Heartbeat Loop: 60Hz Server Tick]
│
├─► Step 1: Spatial & Physics Validation (Batched per active player)
│ ├─ Measure displacement: Δd = ||pos(t) - pos(t-1)||
│ ├─ Validate Δd <= (MaxSpeed * dt * pingFactor)
│ ├─ Raycast Line-of-Sight between old pos and new pos
│ └─ Verify ground raycast for Jump / Fly states
│
├─► Step 2: Telemetry Ingestion into HeuristicsEngine
│ ├─ Map anomaly into active cluster (e.g., SpeedSuite, KillAll)
│ ├─ Compute confidence score: C = Σ(w_i * S_i) * LatencyDampener
│ └─ Increment risk dossier
│
└─► Step 3: Enforcement Action
├─ If C >= AutoEnforceConfidence (0.85):
│ ├─ Apply physical rollback / server clamp
│ ├─ Call PunishmentManager.Enforce(player, reason, "Kick")
│ ├─ Broadcast to MessagingService (Cross-server sync)
│ └─ Dispatch throttled embed to Discord webhook
└─ If C < AutoEnforceConfidence:
└─ Log telemetry to audit ring-buffer for admin dashboard review
# Detailed Step Breakdown
# 1. Spatial & Physics Validation
During RunService.Heartbeat, DetectionEngine iterates through all active player characters. It computes horizontal and vertical displacements from the player's last validated CFrame.
If the distance traveled exceeds the maximum permitted allowance (accounting for character WalkSpeed, jumping velocity, and gravity), the detector records an anomaly.
# 2. Physical Rollback (Instant Remediation)
Before executing a harsh punishment like a kick or ban, RAC immediately restores the player's CFrame to their last verified safe position (LastValidCFrame). This renders noclip and speed hacking ineffective within milliseconds, preventing exploiters from reaching protected areas or capturing flags even before a ban is issued.
# 3. Heuristic Scoring & Threshold Evaluation
Rather than banning on the first discrepancy, the heuristic engine calculates an aggregate confidence score. If the player's ping suddenly spiked from 40ms to 900ms (a common Roblox physics packet hitch), the confidence dampener scales down the violation, completely eliminating false positives caused by laggy connections.
# Next Steps
- Understand the Client-Server Trust Model.
- Read the Movement Detectors Guide to see how speed and fly calculations work.