Enforcement Actions & Policies
EnforcementAuthoritative server-side management for Warnings, Kicks, Temporary Bans, and Permanent Bans.
# Overview
R Anti-Cheat supports 4 tiers of disciplinary enforcement. Each action can be triggered manually by an in-game administrator via the Bento Dashboard or executed autonomously by the server when configured in config.luau.
[Risk Score >= 35] ──► Tier 1: Warning Modal (Non-punitive notification)
[Risk Score >= 70] ──► Tier 2: Server Kick (Immediate disconnection)
[Risk Score >= 100] ─► Tier 3: Temporary Ban (24h default DataStore lock)
[Critical Exploits] ─► Tier 4: Permanent Ban (Permanent cross-server blacklist)
# 1. Warning (Warn)
- Impact: Non-punitive. The player remains connected to the server.
- Trigger: Accumulated risk score $\ge 35$ (or moderator command).
- Behavior: An in-game prompt notifies the player that anomalous behavior (such as high-latency displacement or rapid input) was detected, advising them to check their connection.
# 2. Server Ejection (Kick)
- Impact: Immediate disconnection from the current server instance.
- Trigger: Accumulated risk score $\ge 70$ (when
Config.Punishments.AutoKick = true) or moderator action. - Behavior: The server invokes
player:Kick(message), providing a standardized explanation:[RAC Security Enforcement] You have been kicked from the server. Reason: Speed / Teleport Anomaly Detected.
# 3. Temporary Ban (TempBan)
- Impact: Complete account lockout from all experience places for a specified duration (default: $86,400\text{ seconds}$ = 24 hours).
- Trigger: Repeated high-severity violations or moderator command.
- Storage: Written to
DataStoreServiceunder the keyBan_{userId}. - Automatic Expiration: When the banned player rejoins after
expiresAt <= os.time(), the lock is automatically lifted, and the player is admitted into the game.
# 4. Permanent Ban (PermBan)
- Impact: Irrevocable blacklist across all servers in the experience.
- Trigger: Honeypot triggers, confirmed multi-vector exploit clustering, or manual SuperAdmin/Owner command.
- Synchronization: Broadcast immediately to all active servers via
MessagingService:PublishAsync, causing any active sessions to terminate within milliseconds.
# Next Steps
- Learn how bans propagate instantly across your cluster in Cross-Server Synchronization.
- Review Appeals & Revocations.