Axel a4a87e62de v1.1.3: Fix config/code consistency issues
- SpeedCheck: tps.enabled and tps.min_tps_threshold now work (was hardcoded)
- ConfigManager/config.yml: Removed orphaned async_task_threads and commands.* keys
- PunishmentManager: database.enabled now correctly disables SQLite logging
- PacketListener: Removed dead code (updatePacketTiming, recordClick, recordAttack)
2026-03-15 12:47:43 -03:00
2026-03-15 03:42:24 -03:00

XeroAntiCheat

Lightweight, accurate anti-cheat for Paper 1.21.x

Latest Updates (v1.1.3)

  • SpeedCheck: tps.min_tps_threshold and tps.enabled config keys now actually work — previously hardcoded as 18.0 and always-on.
  • config.yml: Removed orphaned async_task_threads key and entire commands: section — these were never read by the plugin.
  • PunishmentManager: database.enabled: false now correctly disables SQLite punishment logging as documented.
  • PacketListener: Removed three unreachable fallback methods (updatePacketTiming, recordClick, recordAttack) — dead code since v1.0.4.

Latest Updates (v1.1.2)

  • reload: violation.decay_interval changes now take effect immediately — the decay task is cancelled and recreated on every /xac reload.
  • NoFallCheck: Added Beds (all 16 colour variants via Tag.BEDS) and Powder Snow to the list of blocks that cancel fall damage. Eliminates false positives when players land on these blocks.
  • config.yml: Removed orphaned allow_jump_crits key from checks.critical section (was removed from code in v1.1.1).
  • JesusCheck, GlideCheck: Eliminated Math.sqrt() from hot-path threshold comparisons.

Latest Updates (v1.1.1)

  • CriticalCheck: Removed dead code — the "no-air crit" detection branch was logically unreachable because isCritical=true requires !isOnGround, making the subsequent isOnGround check always false. The check now only flags "crit while sprinting" (the only branch that could actually fire). Removed allow_jump_crits config key. (Future enhancement: Option B damage-ratio detection.)
  • InventoryMoveCheck: Replaced Math.sqrt() with squared distance comparison (distanceSquared > 0.01), consistent with the ReachCheck optimisation.

Latest Updates (v1.1.0)

  • ReachCheck: Now measures distance to entity bounding box center instead of feet. Eliminates false negatives when attacking tall entities (horses, iron golems, withers). Also switched from distance() to distanceSquared() comparison, removing a Math.sqrt() from the hot path.
  • AutoClickerCheck: checkPattern() rewritten with zero-allocation two-pass iterator approach. Previously allocated two ArrayList objects on every combat click.
  • TimerCheck: Removed redundant blink detection from check() method. Blink detection is fully handled by the 5-tick scheduled task. setLastMovePacketTime() retained to feed the task.
  • KillAuraCheck: Removed unused EntityEffect import.
Description
No description provided
Readme 217 KiB
Languages
Java 100%