VirgolaAntiCheat icon

VirgolaAntiCheat -----

Complete and modern AntiCheat for Paper 1.21.x, with GUI and automatic ban system!



Changelog 10.08.2025 #2
Changelog - 10.08.2025
Core / Architecture
  • Asynchronous initialization of managers (whitelist, checks, messages) to reduce main thread load during startup.

  • Streamlined listener registration: each check registers safely and independently.

  • ProtocolLib fallback: packet-based detection where available, Bukkit event fallback otherwise.

  • Thread-safety: all Bukkit/Spigot calls moved to the main thread; in-memory states use concurrent maps.

  • Optional WorldGuard hook: safe detection that won’t break the plugin if WG is missing, with modern/legacy API support.
WorldGuard (Safe Integration)
  • Added WorldGuardHook with autodiscovery:
    • If WG is missing → integration is skipped silently.

    • If present → provides safe access to region/flag checks.
  • SafeIntegration utility to skip checks when block breaking/placing is denied by region flags (avoids false positives in protected areas).
KillAura
  • Rebuilt structure: captures player data on the main thread, performs geometric calculations asynchronously (ray vs AABB, dot product, angle, yaw).

  • Dynamic tolerances (ping/TPS-aware) and “hard cases” (out-of-FOV or behind hits) trigger certain alerts.

  • Anti-spam cooldown, consistent actionbar/logging system.

  • Debugging tools implemented for tuning and removed in the clean build.
Fly
  • AirTicks/hover/ascend logic with proper resets (solid/liquid/climbable, cobweb/powder snow support).

  • Handling Levitation (whitelisted) and Slow Falling (adaptive threshold instead of bypass).

  • Checks on fallDistance and velocity Y to detect legitimate falls and avoid false positives.

  • Support for POSITION/POSITION_LOOK packets with Bukkit PlayerMoveEvent fallback.

  • Optimizations: localized block scans, per-player counters, thread-safe state.
Reach
  • Uses ProtocolLib (USE_ENTITY) to capture the actual hit target, with EntityDamageByEntityEvent fallback.

  • Stable eye-to-eye reach distance calculation, configurable thresholds, and cooldown system.

  • Lightweight structure, minimal state tracking, no off-thread Bukkit calls.

  • Reduced false positives on borderline hits; messaging/infraction/logging standardized.
FastBreak
  • Added region/flag check: if a block cannot be broken due to protection, it’s excluded from detection.

  • Hybrid packet + event approach:
    • Packet BLOCK_DIG for precise timing (start/stop/abort).

    • Bukkit BlockBreakEvent fallback for safety.
  • Calculates expected break time considering tool type, Efficiency enchantment, Haste/Fatigue effects, and block hardness.

  • Cooldowns, optional detailed logs, unified logging format.
FastPlace
  • Packet USE_ITEM_ON with baseline: the first valid placement creates history and is not checked (avoids instant alerts).

  • Only successful placements (non-cancelled events) are counted, excluding protected regions/flags.

  • Flag conditions:
    • Rapid (< min_interval_ms between consecutive valid places).

    • Nearby (distance between placed blocks < threshold) to detect scaffolding/drag placement.
  • Anti-spam cooldown, optional detailed logs, unified logging format.

  • Fallback to BlockPlaceEvent when ProtocolLib is unavailable.
Config / checks.yml
  • Updated and documented parameters for:
    • KillAura (FOV/dot, yaw, reach hard, tolerances).

    • Fly (max fall speed, air ticks, slow falling multiplier, fall thresholds).

    • Reach (max reach, cooldown, warning amount).

    • FastBreak (cooldown, warning; WG safe).

    • FastPlace (min interval, distance, cooldown, warning; baseline & WG safe).
  • Provided clear English descriptions for each parameter with “higher/lower value” effect notes.
Messaging & Logging
  • Unified message keys (alerts.*, actionbar.*, generic.*) and variable placeholders {player}, {details}, etc.

  • Async alerts and actionbar updates, with generic log format including detailed variables for audit clarity.
Performance
  • Heavy computations (geometry, validations) offloaded to async threads.

  • ConcurrentHashMap for per-player state tracking.

  • Bukkit/Spigot API calls executed only on the main thread (scheduled).

  • Localized block scans; no heavy world entity iterations.
----------, Aug 10, 2025
Resource Information
Author:
----------
Total Downloads: 256
First Release: Jul 27, 2025
Last Update: Aug 30, 2025
Category: ---------------
All-Time Rating:
3 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings