v1.2.0: Implement improvement plan features

- Setback System: Teleports flagged players to lastSafeLocation (opt-in per check)
- TPS Lag Compensation: isServerLagging() helper, guards in Fly/Spider/Glide checks
- Universal Buffer System: Buffer fields for Jesus/Reach/KillAura/Timer/FastPlace/Scaffold/FastEat
- /xac debug command: Shows check-specific debug info for players
- Public API: XACApi with isFlagged(), getViolationLevel(), getTotalViolations(), isBypassed()
- Performance Metrics: /xac stats command with checks/flags/punishments tracking
This commit is contained in:
2026-03-15 13:17:28 -03:00
parent a4a87e62de
commit 112a61cf0c
23 changed files with 387 additions and 16 deletions

View File

@@ -40,6 +40,8 @@ checks:
# ----------------------------------------
speed:
enabled: true
# Teleport player back to last safe location when flagged
setback: false
# Base maximum speed (blocks per tick)
max_speed: 0.56
# Ping compensation factor (scales latency leniency)
@@ -58,6 +60,8 @@ checks:
# ----------------------------------------
fly:
enabled: true
# Teleport player back to last safe location when flagged
setback: false
# Number of ticks to allow for stepping/slabs
fall_buffer: 10
# Maximum ground desync ticks before flagging
@@ -73,6 +77,10 @@ checks:
# ----------------------------------------
jesus:
enabled: true
# Teleport player back to last safe location when flagged
setback: false
# Number of consecutive ticks to flag before VL is added
buffer_ticks: 3
warn_vl: 10
kick_vl: 25
tempban_vl: 50
@@ -97,6 +105,8 @@ checks:
# ----------------------------------------
timer:
enabled: true
# Number of consecutive ticks exceeding max packets before flagging
buffer_ticks: 2
# Maximum packets per second allowed
max_packets_per_second: 22
# Milliseconds of no packets before flagging blink
@@ -112,6 +122,8 @@ checks:
# ----------------------------------------
spider:
enabled: true
# Teleport player back to last safe location when flagged
setback: false
warn_vl: 10
kick_vl: 25
tempban_vl: 50
@@ -123,6 +135,8 @@ checks:
# ----------------------------------------
glide:
enabled: true
# Teleport player back to last safe location when flagged
setback: false
# Minimum horizontal speed for glide detection
min_horizontal_speed: 0.5
# Maximum Y decrease per tick for glide curve
@@ -138,6 +152,8 @@ checks:
# ----------------------------------------
killaura:
enabled: true
# Number of consecutive out-of-angle attacks before flagging
buffer_ticks: 2
# Maximum angle in degrees from look direction
max_angle: 100
# Maximum rotation change between attacks
@@ -155,6 +171,8 @@ checks:
# ----------------------------------------
reach:
enabled: true
# Number of consecutive attacks exceeding reach before flagging
buffer_hits: 2
# Maximum reach in blocks (survival)
max_reach: 3.2
# Maximum reach in blocks (creative)
@@ -198,6 +216,8 @@ checks:
# ----------------------------------------
fastplace:
enabled: true
# Number of consecutive ticks exceeding max blocks before flagging
buffer_ticks: 2
# Maximum blocks per second
max_blocks_per_second: 20
warn_vl: 10
@@ -211,6 +231,8 @@ checks:
# ----------------------------------------
phase:
enabled: true
# Teleport player back to last safe location when flagged
setback: false
# Minimum movement distance before ray-cast runs (blocks)
min_distance: 0.5
# Maximum movement delta — larger values are treated as teleports
@@ -241,6 +263,8 @@ checks:
# ----------------------------------------
scaffold:
enabled: true
# Number of consecutive signal accumulations before flagging
buffer_ticks: 2
# Minimum pitch angle for suspicious placement
min_pitch: 75
# Number of signals required to flag
@@ -264,6 +288,8 @@ checks:
# ----------------------------------------
fasteat:
enabled: true
# Number of consecutive fast eats before flagging
buffer_ticks: 2
# Maximum eating duration in ticks (32 = 1.6s)
max_eat_ticks: 32
warn_vl: 10

View File

@@ -1,5 +1,5 @@
name: XeroAntiCheat
version: 1.1.3
version: 1.2.0
main: com.xeroth.xeroanticheat.XeroAntiCheat
author: Xeroth
description: Lightweight, accurate anti-cheat for Paper 1.21.x