Changelog (completo – Spigot-ready)
✅ CORE / SISTEMA
Unificazione comandi: sostituiti i vecchi comandi separati con una classe unica AcCommand che gestisce i sottocomandi (es. /ac stats <player>, /ac gui, ecc.).
Logging centralizzato: integrato LogManager in listener/check per registrare eventi in modo uniforme.
Anti-spam alert: implementato un sistema centralizzato di cooldown (AlertCooldownManager) per prevenire flood di alert ripetuti in rapida sequenza.
Supporto ProtocolLib (quando disponibile): alcuni check usano pacchetti per una lettura più precisa; fallback su eventi Bukkit quando ProtocolLib non è presente.
✅ CHECKS (modificati con successo)
✅ Speed (rework)
Modello di rilevazione basato su distanza orizzontale per finestra di tick (più stabile di “blocchi/secondo”).
Tick counter server-side per calcoli coerenti.
Sistema Violation Level (VL) con accumulo prudente + decay per ridurre FP.
Grace windows anti-FP per:
Teleport / Respawn / Cambio mondo (reset + grace)
Velocity/knockback (grace dinamica in base alla spinta)
Alert più chiari: Distance vs AllowedDistance con dettagli opzionali.
✅ FastBreak (hardening + timing più affidabile)
Timing reso più “server authoritative”:
START da ProtocolLib START_DESTROY_BLOCK (o fallback BlockDamageEvent)
END su BlockBreakEvent (server certo)
STOP packet non usato per misurare (troppo rumoroso)
Riduzione FP con filtri robusti:
Ignora blocchi “instant/soft” sotto min_hardness
Ignora sample ambigui (dtTicks <= 0)
Ignora lag eccessivo (max_dt_ticks)
START/BREAK devono corrispondere allo stesso blocco (BlockKey)
Cleanup start “appesi” (start_expire_ticks)
Expected time migliorato (più vanilla-like e combinabile):
Efficiency, Haste, Mining Fatigue
Penalità underwater senza Aqua Affinity
Penalità airborne (!onGround)
Harvestability basata su drops reali (block.getDrops(tool)), più corretta di euristiche
⚠️ CHECKS “IN REVISIONE” (toccati ma non ancora chiusi)
⚠️ Jesus
Aggiunte molte protezioni anti-falsi positivi (edge detection, corner sampling hitbox, grace dopo fluid/teleport, esclusione veicoli/superfici legit).
Problema attuale: con le protezioni attuali non produce detect affidabili (troppo conservativo) → richiede ulteriore tuning per mantenere “zero FP” ma rilevare realmente il cheat.
⚠️ Speed (rifiniture richieste)
Problemi segnalati:
detect non sempre immediato
possibile “detect di coda” subito dopo lo stop del cheat
gestione liquidi migliorabile (non indispensabile, ma utile)
⚠️ FastBreak (edge cases)
Problemi segnalati: restano alcuni falsi positivi su casistiche specifiche → serve ulteriore affinamento del calcolo expected / condizioni ambientali.
Changelog (complete – Spigot-ready)
✅ CORE / SYSTEM
Command unification: replaced separate command classes with a single AcCommand handling subcommands (e.g. /ac stats <player>, /ac gui, etc.).
Centralized logging: integrated LogManager across listeners/checks for consistent logging.
Anti-alert spam: implemented a centralized cooldown system (AlertCooldownManager) to prevent rapid alert flooding.
ProtocolLib support (when available): some checks leverage packet-level data for higher precision, with Bukkit-event fallback when ProtocolLib is missing.
Current issue: with current safeguards it does not reliably detect Jesus/water-walk (too conservative) → needs further tuning to keep “zero FP” while catching the cheat.
⚠️ Speed (requested refinements)
Reported issues:
detection not always immediate
possible “tail detection” right after disabling cheat
liquid handling could be improved
⚠️ FastBreak (edge cases)
Reported issues: some false positives still occur in specific scenarios → further refinement needed for expected-time/conditions.