Configuration Reference (config.luau)

Core

Comprehensive schema reference for every configuration table, parameter, and threshold in R Anti-Cheat.

# Overview

All runtime behavior, detector sensitivity, risk scoring thresholds, and enforcement policies are defined in ServerScriptService/RAC/config.luau.

Because RAC executes on the server, modifying config.luau requires no client script updates.


# 1. General Settings (Config.General)

Controls core engine runtime cycles and operational flags.

Config.General = {
    Enabled = true,                      -- Master switch for the anti-cheat engine
    Debug = false,                       -- Prints verbose telemetry to Developer Console
    Version = "1.0.0",                   -- Current engine build version
    ScanIntervalSeconds = 0.5,           -- Frequency of main detection loop (seconds)
    ServerAuthoritativeOnly = true,      -- Reject all client-reported physics assertions
}

# 2. Anti-False Detection Engine (Config.AntiFalseDetection)

Protects legitimate players experiencing lag, ping spikes, or physics glitches from receiving unwarranted flags.

Parameter Type Default Description
ConsecutiveViolationsRequired number 2 Number of consecutive violation ticks required before registering an incident.
PingCompensationEnabled boolean true Dynamically scales speed and combat tolerances based on player round-trip latency.
MaxAcceptablePingSeconds number 0.5 Maximum ping (500ms) considered before dampening violation risk.
VehicleExemptionAuto boolean true Automatically grants high-speed exemptions while seated in a VehicleSeat or Seat.
RespawnGracePeriodSeconds number 3.0 Inactivity grace window granted immediately upon character respawning.
TeleportGracePeriodSeconds number 1.5 Grace window granted after legitimate server-initiated CFrame teleports.
FreefallAccelerationTolerance number 1.35 Multiplier for gravity acceleration when evaluating falling player speeds.

# 3. Individual Detector Parameters (Config.Detectors)

# Speed (Config.Detectors.Speed)

  • Enabled (boolean): Toggle speed anomaly monitoring.
  • BaseWalkSpeed (number): Standard unbuffed character speed (typically 16).
  • MaxWalkSpeedTolerance (number): Speeds exceeding this value (default 24) trigger a violation.
  • VehicleSpeedMultiplier (number): Permitted velocity scaling when driving (default 5.0).
  • RiskWeight (number): Risk score increment per confirmed violation (default 20).

# Fly (Config.Detectors.Fly)

  • MaxAirTimeSeconds (number): Maximum continuous time in airborne state without touching ground (default 2.8s).
  • RaycastFloorDistance (number): Distance downward checked via raycast to detect solid terrain/parts (default 8.0 studs).
  • RiskWeight (number): Risk score points added upon flight detection (default 30).

# Teleport (Config.Detectors.Teleport)

  • MaxDistancePerSecond (number): Maximum allowable distance moved in 1 second without server authorization (default 50 studs).
  • RiskWeight (number): Risk weight points (default 35).

# Noclip (Config.Detectors.Noclip)

  • CheckRadius (number): Sphere-cast collision radius surrounding HumanoidRootPart (default 1.5 studs).
  • IgnoreTransparencyThreshold (number): Parts with transparency $> 0.9$ (decorative glass/portals) are ignored.
  • RiskWeight (number): Risk points (default 40).

# Combat (Config.Detectors.Combat)

  • MaxMeleeReachStuds (number): Maximum allowable distance between attacker and target for melee tools (default 18 studs).
  • MaxRangedReachStuds (number): Maximum bullet reach for firearms (default 500 studs).
  • ValidateLineOfSight (boolean): Performs server raycast between attacker and victim to prevent wallbangs.
  • MinAttackIntervalSeconds (number): Minimum duration between consecutive attacks (default 0.08s $\approx 12.5$ hits/sec).
  • MaxDamagePerHit (number): Maximum possible damage single hit can inflict (default 150).

# Network & Remotes (Config.Detectors.Remote)

  • GlobalRateLimitPerSecond (number): Maximum remote requests allowed per player before rate-limiting (default 35 req/s).
  • MaxPayloadSizeBytes (number): Maximum byte size of any inbound remote packet (default 16384 bytes = 16KB).
  • DropInvalidCalls (boolean): Automatically drops malformed remote calls with corrupted argument types.

# 4. Central Risk Engine (Config.Risk)

RAC aggregates detector violations into a composite player risk score ($0 \dots 150$).

Config.Risk = {
    Enabled = true,
    WarningThreshold = 35,       -- Triggers in-game warning notification
    KickThreshold = 70,          -- Triggers automatic kick if AutoKick = true
    BanThreshold = 100,          -- Triggers automatic ban if AutoBan = true
    DecayRatePerMinute = 5,      -- Risk points automatically decayed per minute of clean play
    MaxRiskScore = 150,          -- Hard cap on accumulated risk points
}

# 5. Punishment Policies (Config.Punishments)

Config.Punishments = {
    Enabled = true,
    AutoWarning = true,                     -- Send warning dialogue on reaching 35 risk
    AutoKick = false,                       -- Manual review mode by default
    AutoBan = false,                        -- Requires manual admin action or 1.0 AI confidence
    RequireStrongEvidence = true,           -- Prevents actions without at least 2 incident logs
    DefaultTempBanDurationSeconds = 86400,  -- 24 hours (1 day)
    AppealDiscordUrl = "https://discord.gg/your-community",
}

# Next Steps