# XeroAntiCheat Configuration File # Version: 1.0.0 # Target: Paper 1.21.x (compatible with 1.20-1.22) # ========================================== # GENERAL SETTINGS # ========================================== # Enable or disable the anti-cheat enabled: true # Enable debug mode (logs additional information) debug: false # Number of async threads for background tasks async_task_threads: 2 # Database settings database: # Set to false to disable SQLite logging (flat-file log always active) enabled: true # ========================================== # VIOLATION SYSTEM # ========================================== violation: # Time in seconds between violation level decay decay_interval: 30 # Amount to reduce VL by each decay interval decay_rate: 0.5 # ========================================== # CHECK CONFIGURATION # ========================================== # Movement Checks checks: # ---------------------------------------- # SPEED CHECK # Detects horizontal movement faster than possible # ---------------------------------------- speed: enabled: true # Base maximum speed (blocks per tick) max_speed: 0.56 # Ping compensation factor (scales latency leniency) ping_factor: 1.0 # Number of ticks to buffer for rolling average buffer_ticks: 5 # VL thresholds warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # FLY CHECK # Detects flying without elytra/creative/spectator # ---------------------------------------- fly: enabled: true # Number of ticks to allow for stepping/slabs fall_buffer: 10 # Maximum ground desync ticks before flagging ground_desync_threshold: 3 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # JESUS CHECK (NoWaterWalk) # Detects walking on water without Frost Walker # ---------------------------------------- jesus: enabled: true warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # NOFALL CHECK # Detects no fall damage after falling >3 blocks # ---------------------------------------- nofall: enabled: true # Minimum fall distance to track min_fall_distance: 3 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # TIMER CHECK (Blink/Packet Timer) # Detects packet timing anomalies # ---------------------------------------- timer: enabled: true # Maximum packets per second allowed max_packets_per_second: 22 # Milliseconds of no packets before flagging blink blink_threshold_ms: 500 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # SPIDER CHECK # Detects climbing non-climbable blocks # ---------------------------------------- spider: enabled: true warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # GLIDE CHECK (ElytraHack) # Detects glide-like movement without elytra # ---------------------------------------- glide: enabled: true # Minimum horizontal speed for glide detection min_horizontal_speed: 0.5 # Maximum Y decrease per tick for glide curve max_y_decrease: 0.1 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # KILLAURA CHECK # Detects impossible combat angles/rotations # ---------------------------------------- killaura: enabled: true # Maximum angle in degrees from look direction max_angle: 100 # Maximum rotation change between attacks max_rotation_change: 45 # Window for multi-target detection (ms) multitarget_window_ms: 100 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # REACH CHECK # Detects attacking beyond reach # ---------------------------------------- reach: enabled: true # Maximum reach in blocks (survival) max_reach: 3.2 # Maximum reach in blocks (creative) creative_max_reach: 5.0 # Ping compensation factor ping_factor: 1.0 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # CRITICAL CHECK # Detects critical hits without being airborne # ---------------------------------------- critical: enabled: true # Allow legitimate jump-crits allow_jump_crits: true warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # AUTOCLICKER CHECK # Detects excessive CPS or perfect patterns # ---------------------------------------- autoclicker: enabled: true # Maximum clicks per second max_cps: 20 # Minimum variance (lower = more suspicious) min_variance: 2.0 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # FASTPLACE CHECK # Detects block placement too fast # ---------------------------------------- fastplace: enabled: true # Maximum blocks per second max_blocks_per_second: 20 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # PHASE CHECK # Detects players clipping through solid blocks # ---------------------------------------- phase: enabled: true # Minimum movement distance before ray-cast runs (blocks) min_distance: 0.5 # Maximum movement delta — larger values are treated as teleports max_distance: 5.0 warn_vl: 5 kick_vl: 15 tempban_vl: 30 permban_vl: 60 # ---------------------------------------- # VELOCITY CHECK # Detects players ignoring server-sent knockback (requires ProtocolLib) # ---------------------------------------- velocity: enabled: true # Minimum server-sent velocity magnitude to check min_expected_velocity: 0.15 # Player must move at least 20% of expected knockback min_displacement_ratio: 0.2 warn_vl: 8 kick_vl: 20 tempban_vl: 40 permban_vl: 80 # ---------------------------------------- # SCAFFOLD CHECK # Detects automated scaffolding # ---------------------------------------- scaffold: enabled: true # Minimum pitch angle for suspicious placement min_pitch: 75 # Number of signals required to flag signals_required: 2 # Signal 4: Max yaw change (degrees) between placements rotation_lock_threshold: 2.0 # Signal 4: Min horizontal speed (blocks/tick) required min_move_speed: 0.15 # Signal 5: StdDev below this triggers signal (too-perfect timing) min_placement_variance_ms: 30.0 # Signal 5: Min blocks/sec before signal 5 is evaluated min_bps_for_variance_check: 5 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # FASTEAT CHECK # Detects eating faster than possible # ---------------------------------------- fasteat: enabled: true # Maximum eating duration in ticks (32 = 1.6s) max_eat_ticks: 32 warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ---------------------------------------- # INVENTORYMOVE CHECK # Detects movement while inventory open # ---------------------------------------- inventorymove: enabled: true warn_vl: 10 kick_vl: 25 tempban_vl: 50 permban_vl: 100 # ========================================== # PUNISHMENT SETTINGS # ========================================== punishments: # Commands to execute for each punishment level # Use %player% for player name, %reason% for reason kick_command: "kick %player% &c[XAC] Illegal activity detected" tempban_command: "tempban %player% 30d %reason%" permban_command: "ban %player% %reason%" # Default reason for bans default_reason: "[XeroAntiCheat] Suspicious activity" # ========================================== # ALERT SYSTEM # ========================================== alerts: # Enable or disable alert broadcasts enabled: true # Alert format (MiniMessage) # Available placeholders: %player%, %check%, %vl% format: "[XAC] %player% failed %check% (VL: %vl%)" # Staff-only alert format staff_format: "[%time%] %message%" # ========================================== # COMMANDS # ========================================== commands: # Permission required for admin commands reload_permission: "xac.admin" # Permission to bypass all checks bypass_permission: "xac.bypass" # Permission to receive alerts alerts_permission: "xac.alerts" # ========================================== # TPS COMPENSATION # ========================================== tps: # Enable TPS-based threshold scaling enabled: true # Minimum TPS to apply compensation min_tps_threshold: 18.0