COWMODSКаталог модов

DuckyAC

Lightweight, modular, and fully configurable anti-cheat plugin for Minecraft Servers

Автор: Barpad1,4 тыс.8обновлён 18 окт. 2026 г.
Механики игрыУправлениеУтилиты

Описание

🦆 DuckyAC

Configurable protection for Minecraft servers, with packet-based checks and tools for staff review.

DuckyAC monitors movement, combat, block interactions and player actions. It combines packet history with server state, collision shapes and configurable evidence buffers to identify suspicious behavior and give staff useful alerts.

75 configurable check variants · Official release · Java 21 · PacketEvents

Download · Changelog · Source code · Report an issue · Discord


✨ Features

  • Movement checks: speed, flight, strafing, wall climbing, liquid walking, knockback, collisions and boat flight.
  • Combat checks: reach, hitbox angles, attacks through blocks, target switching, critical-hit patterns and packet bursts.
  • Building and player checks: scaffold patterns, trap placement, mining, item-use timing and invalid packet sequences.
  • Configurable responses: violation levels, alert-only operation, command punishments, event cancellation and setbacks where supported.
  • Staff review: clickable controls to confirm detections, mark false positives and undo decisions.
  • Detection records: local JSON Lines storage with movement measurements, ping, TPS and check-specific context.
  • Server-aware checks: configurable TPS limits and check-specific handling of teleports, external motion, game modes and terrain.
  • Integrations: Discord webhooks and a public Bukkit service API for add-ons.

All bundled check variants are part of the official release. Individual checks retain their own enable switches and response settings.

📦 Requirements and installation

ComponentRequirement
ServerSpigot or Paper; the current build targets the Spigot 1.20.6 API
JavaJava 21 or newer
DependencyPacketEvents, Spigot plugin; DuckyAC builds against version 2.11.2
ConfigurationSchema version 29, generated and migrated by the plugin
  1. Install PacketEvents in your server's plugins/ directory.
  2. Download DuckyAC and place its JAR in the same directory.
  3. Start the server and check that both plugins enable successfully.
  4. Edit plugins/DuckyAntiCheat/config.yml to choose checks, alert thresholds and responses.
  5. Grant staff the appropriate permissions and use /duckyac reload after configuration edits.

For an upgrade, back up the existing plugin configuration and learning-data/ directory, replace the JAR while the server is stopped, then start the server to run migrations. The current build target above describes this source tree; use the Minecraft compatibility listed for the specific downloadable version when choosing a release.


🔍 Checks

🏃 Movement and vehicles

CheckDetection focus
AirJumpARepeated unnatural upward movement while airborne
FlyASustained upward flight patterns
InvalidPositionAProlonged hovering and falling inconsistent with gravity
SpeedAExcessive horizontal movement and modified low-hop motion
StrafeAImplausible airborne direction changes
BunnyHopARepeated modified jump and air-control cycles
VelocityA-BReduced horizontal and vertical knockback response
PhaseAMovement through solid collision shapes
StepASteps exceeding the allowed height
SpiderA-CStable wall climbing, repeated wall jumps and vertical climb impulses
FastClimbA-BExcessive climb speed and clip-style movement on climbable blocks
JesusA-DLiquid-surface movement, vertical offsets, ground claims and launches
GroundSpoofA-BGround-state claims inconsistent with server support
NoSlowDownA-HExcessive movement while using items, sneaking or crossing slowing blocks
NoWebASuspicious movement inside cobwebs
InventoryMoveAMovement correlated with inventory clicks
VehicleFlyAUnsupported boat hovering, ascent and suppressed gravity, including chest boats

Terrain-aware checks use collision shapes to account for partial blocks such as carpets, slabs and stairs. VehicleFlyA combines occupied-boat positions with fresh vehicle packets and grace periods for water, bubble launches, damage and server corrections.

⚔️ Combat

CheckDetection focus
ReachAExcessive block interaction distance
ReachBExcessive entity attack distance, using historical hitboxes and latency compensation
HitboxAImplausible attack angles
ThruBlocksA-BAttacks through obstructing blocks
KillAuraA-BRapid target switching and missing swing evidence
CriticalsASuspicious critical-hit movement correlated with confirmed damage
FakeLagARepeated movement stalls followed by compressed packet flushes
FastBowABow releases inconsistent with draw time
VehicleOneHitABursts of attacks attempting to destroy a boat or minecart in one click

🪂 Elytra

CheckDetection focus
ElytraAimASuspicious attack cadence while flying with an elytra
ElytraCriticalsARepeated critical-hit behavior during elytra use
ElytraFlyA-CDirect flight control, sustained physics deviations and automated pitch cycles
ElytraFireworkAHighly regular automated rocket use and related inventory patterns
ElytraPacketsARepeated start-flying actions while already gliding

🧱 Building and placement

CheckDetection focus
AirPlaceAPlacement without plausible nearby support
AutoTrapA-BRapid enclosing patterns and packet-to-placement consistency
FastPlaceA-BExcessive placement rate and unusually regular placement intervals
InvalidPlaceAPlacement inconsistent with the player's viewing angle
ScaffoldA-BImplausible placement angles and automated placement timing

⛏️ Player actions and packets

CheckDetection focus
AutoTotemAExtremely fast totem swaps
FastEatAFood or potion consumption completed too quickly
FastBreakA-BBlock breaks or digging completions earlier than expected mining time
FastExpAImplausible bursts of experience-bottle use
NukerAExcessive or distant block-digging targets
MultiActionsAConflicting actions performed concurrently
BadPacketsA-FRotation patterns, invalid pitch or slots, action sequences, teleport confirmations and digging sequences
TimerA-DMovement clock drift, packet rates and repeatedly compressed movement intervals

⚙️ Configuration

The default configuration contains the full list of settings and descriptions. Each check has its own section; additional options depend on the detector.

VehicleFlyA example:

vehicle-fly-a:
  enabled: true
  alert-only: false
  min-tps: 19.0
  window-ticks: 8
  required-samples: 3
  gravity-tolerance: 0.12
  buffer-threshold: 2.0
  alert-cooldown-ms: 300
  max-alerts: 5
  command: "kick %player% Invalid boat flight (VehicleFlyA)"
  debug: false

At 20 TPS, continuous unsupported flight can produce the first VehicleFlyA alert after approximately 550 ms of eligible sampling, following any grace period. Continued violations can alert at approximately 300 ms intervals.

  • enabled controls whether a check runs.
  • alert-only, where supported, keeps detections from executing the configured punishment command.
  • cancel-event and setback-enabled, where supported, control separate prevention actions.
  • max-alerts and command configure command-based punishment.
  • min-tps, buffers, tolerances and grace periods control when evidence is accepted.

Several checks start in alert-only mode. KillAuraB and BadPacketsC start disabled and can be enabled individually. Review each check's response options when choosing your server policy.

🧑‍⚖️ Staff review and detection records

Authorized staff can use the controls attached to alerts to confirm a detection, mark a false positive or undo a label. Marking a false positive removes that alert's VL contribution when the stored violation is still active. Undo restores a contribution that was removed.

Detection records include the alert ID, player and check, plugin version, ping, TPS, game mode and available movement or check-specific measurements. Labels and detection features are restored after a restart. They provide a dataset for review and future model training.

machine-learning:
  enabled: true
  store-unlabeled: true
  storage-directory: "learning-data"

Records are stored under plugins/DuckyAntiCheat/learning-data/ by default. Button text, hover text and staff messages are configurable.

🛡️ Commands and permissions

CommandPermissionPurpose
/duckyac reloadduckyac.reloadReload configuration
/duckyac-debug debug <mode> [packet_name]duckyac.debugInspect packet traffic; modes: C2S, S2C, BOTH, OFF
/duckyaclabel <action> <alert-id>duckyac.learning.labelApply correct, false or undo; also used by alert buttons
PermissionPurpose
duckyac.alertsReceive violation alerts
duckyac.learning.labelReview and label detections
duckyac.bypassBypass all checks
duckyac.bypass.*Grant individual check bypasses through the permission group
duckyac.bypass.<config-section>Bypass a particular check, for example duckyac.bypass.vehicle-fly-a

Permission names can differ for legacy checks; the registered permission entries and each check's bypass lookup define the accepted names.

📩 Discord

Enable the discord section and provide a webhook URL to send configured violation and punishment messages to your staff channel. The webhook username, avatar and message templates are configurable.

🔌 Developer API

DuckyAC exposes its API through Bukkit's Services Manager. Add softdepend: [DuckyAntiCheat] or depend: [DuckyAntiCheat] to your plugin description and compile against the DuckyAC JAR.

import pl.barpad.duckyanticheat.api.DuckyAntiCheatAPI;
import pl.barpad.duckyanticheat.api.DuckyAntiCheatProvider;

DuckyAntiCheatAPI api = DuckyAntiCheatProvider.require();
int reachVl = api.getViolationLevel(player, "ReachB");
boolean vehicleFlyEnabled = api.isCheckEnabled("vehicle-fly-a");

The API supports check metadata and configuration, player violation profiles, violation reporting with detection context, punishment commands, clearing violations and runtime registration of external checks. Integrations can listen to DuckyViolationEvent and DuckyPunishmentEvent; violation events expose the associated alert ID.

Check IDs are normalized, so ReachB, reach-b and Reach B resolve to the same check. External check registrations last for the current plugin session.

🛠️ Build from source

With Java 21 or newer installed, run:

.\gradlew.bat clean build

On Linux or macOS:

./gradlew clean build

The JAR is written to build/libs/. Automated tests cover detection models, packet registration, configuration, permissions and learning-data persistence.

🤝 Support

Report bugs through GitHub Issues or join Discord. Include the DuckyAC and PacketEvents versions, server software, relevant check settings and steps to reproduce the behavior. Labeled detection records and debug measurements help investigate false positives.

📜 License

DuckyAC is licensed under GPL-3.0.

Последние версии

Все версии →
release

DuckyAC 1.3.0

1.3.0
18 окт. 2026 г.56Minecraft: 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Скачать
Что нового
# 🛠️ DuckyAC v1.3.0 - Detection Expansion, Vehicle Flight & Staff Review **v1.3.0** expands DuckyAC to **75 configurable check variants**, adds movement, combat, building and packet detections, and introduces persistent staff review of individual alerts. This release extends the packet engine introduced in [v1.2.0](https://modrinth.com/plugin/duckyac/version/1.2.0), improves handling of partial blocks and legitimate movement, adds **VehicleFlyA**, and brings all bundled checks into the official release. --- ## ✨ New Features ### 🚤 **VehicleFlyA - Boat Flight Detection** * Adds detection of unsupported hovering, sustained ascent and suppressed airborne gravity in occupied boats, including chest boats. * Checks the controlling player rather than reporting every passenger. * Combines accepted server positions with fresh `VEHICLE_MOVE` packets. Missing or sparse packets reset evidence instead of being treated as hovering. * Uses real collision shapes across the boat's footprint, including carpets, slabs, stairs, fences, block edges and supporting entities. * Includes grace periods for mounting, water transitions, bubble launches, teleports, damage, explosions and authoritative server motion. * Exempts Creative, Spectator, allowed flight and vehicles with gravity disabled. * Adds buffered reports, structured detection context, TPS gating, debug output, API metadata and `duckyac.bypass.vehicle-fly-a`. * Starts in alert-only mode. The check does not eject passengers or teleport their boats. * Uses an **8-tick window**, **3 anomalous samples**, a **2-point buffer** and a **300 ms alert cooldown**. At 20 TPS, continuous unsupported flight can first alert after approximately **550 ms of eligible sampling**, excluding grace periods. ### ⚔️ **Combat and Action Checks** * Adds **KillAuraA** for repeated rapid target switching and **KillAuraB** for attacks lacking recent swing evidence. * Adds **CriticalsA** to correlate suspicious vertical packet patterns with attacks and confirmed damage. Supports weighted evidence for exact and partial signatures. * Adds **FakeLagA** for repeated movement stalls followed by compressed packet flushes, with protection against attacks during suspicious flushes. * Adds **FastBowA** for bow releases inconsistent with draw time. * Adds **VehicleOneHitA** for short bursts of damage to the same boat or minecart. Excessive hits can be cancelled independently of reporting. * Adds **MultiActionsA** for action conflicts such as placing while breaking, attacking while using an item and breaking while using an item. * MultiActionsA uses fresh server item-use state and expires stale digging sessions before accepting conflict evidence. ### 🧱 **Scaffold and Mining Checks** * Adds **ScaffoldA** for implausible placement angles and **ScaffoldB** for unusually regular placement timing. * Adds **FastBreakB** to evaluate digging-completion packets against expected vanilla mining time. * Adds **NukerA** to evaluate digging bursts and distant targets. * Adds **FastExpA** for excessive experience-bottle use in a short window. * Shares mining-state and break-time models between packet checks, including tool and environment information used by the estimator. * Keeps check configuration and violation levels separate for each detection. ### 📡 **BadPacketsB-F** * Adds **BadPacketsB** for invalid pitch values and **BadPacketsD** for invalid slot data. * Adds **BadPacketsC** for contradictory item-use sequences. * Adds **BadPacketsE** to validate teleport-confirm IDs against outstanding server-issued IDs. Unknown, duplicate and expired confirmations contribute evidence. * Restricts movement-grace refreshes to matched teleport confirmations within the configured age limit. * Adds **BadPacketsF** for invalid `START`, `STOP` and `ABORT` digging sequences, with bounded session state, buffers and cooldowns. * Adds packet-gate support so checks can cancel confirmed invalid actions before accepted-action state is updated. --- ## 🏃 Movement Detection Expansion ### **SpeedA, StrafeA & BunnyHopA** * Adds **SpeedA** coverage for excessive horizontal speed, modified low takeoffs, forced downward motion and early-apex patterns. * Adds **StrafeA** for implausible airborne direction changes. * Adds **BunnyHopA** for repeated jump cycles containing modified takeoff, pull-down, excessive-speed or air-control evidence. * Accounts for ground support, head and wall collisions, packet timing, movement attributes, effects and recent external motion. * Uses shared alert arbitration so overlapping movement evidence reports the strongest result and schedules one safe setback. ### **VelocityA-B, PhaseA, StepA & InventoryMoveA** * Adds **VelocityA** and **VelocityB** to evaluate horizontal and vertical knockback response. * Adds **PhaseA** to evaluate movement through solid collision shapes. * Adds **StepA** for excessive step height and **InventoryMoveA** for movement correlated with inventory clicks. * Uses shared environment snapshots, buffers and response settings while retaining independent check IDs and violation levels. ### 🕷️ **SpiderA-C** * Adds **SpiderA** for stable upward wall climbing, **SpiderB** for repeated high wall takeoffs and **SpiderC** for a distinct vertical climb impulse. * Covers patterns associated with LiquidBounce's Vanilla, Polar-29.03.2025 and Vulcan288 Spider modes. * Requires relevant wall contact and clears evidence during exemptions, external motion and obstructed-head conditions. * Excludes supported half-block steps from wall-jump evidence. * Adds configurable buffers, cooldowns and safe setbacks. ### 🪜 **FastClimbA-B** * Replaces the event-based FastClimb implementation with packet-backed models. * Reworks **FastClimbA** for sustained Motion-style climbing and adds **FastClimbB** for Clip-style vertical movement. * Tracks climbable-block contact and requires repeated evidence, with collision and external-motion safeguards. * Removes the obsolete FastClimb event-cancellation setting during migration. ### 🌊 **JesusA-D & GroundSpoofB** * Adds **JesusA** for repeated movement over liquid surfaces. * Adds **JesusB** for alternating liquid offsets and buoyancy patterns. * Adds **JesusC** for alternating ground-state claims near liquid surfaces. * Adds **JesusD** for suspicious vertical launches from water, with separate handling of bubble-column conditions. * Covers patterns associated with LiquidBounce's Vanilla, NoCheatPlus, VerusB3901 and Vulcan291 liquid-walk modes. * Adds **GroundSpoofB** for persistent airborne claims while the server confirms stable full-block support. --- ## 🪂 Elytra Detection ### **ElytraFlyA-C** * Adds **ElytraFlyA** for static hovering, direct vertical control, ascent and horizontal movement overrides. * Adds **ElytraFlyB** for sustained deviations from vanilla elytra flight physics, including boost patterns. * Adds **ElytraFlyC** for repeated automated pitch cycles associated with Pitch40Infinite behavior. * Includes a short vertical-axis signature for Static ElytraFly. * Compares movement with server collision state, attached-firework launches, Riptide and recent external motion. * Tunes ElytraFlyA/B using reviewed detections, extends grace for real firework momentum and uses direct speed residuals for sustained-flight evidence. * Shortens sustained ElytraFlyA/B alert intervals to approximately **300-400 ms** under the corresponding detection conditions. ### **ElytraFireworkA & ElytraPacketsA** * Adds **ElytraFireworkA** for long, highly regular rocket cadence and associated inventory-swap patterns. * Adds **ElytraPacketsA** for repeated start-flying actions while the server already considers the player gliding. * Keeps flight and automation checks alert-only by default. Excessive start-flying actions can be cancelled through their separate prevention setting. --- ## 🔍 False-Positive Fixes ### 🧱 **PhaseA and Partial Blocks** * Clears stale collision evidence in Creative, Spectator, allowed flight, vehicle and teleport-grace states. * Uses the player's current pose dimensions when evaluating movement. * Evaluates the horizontal movement sweep at step height, including carpets, slabs, stairs, snow layers, diagonal corners and movement out of an existing overlap. * Checks actual block collision shapes and avoids forcing chunk loads during these collision queries. * Records pose, collision height and movement measurements in detection context for staff review. ### 🐌 **NoSlowDownG and Shared Movement State** * Corrects the legacy sneak-speed limit that could sit below legitimate vanilla sneak movement. * Requires server support and clears evidence through airborne and step transitions. * Preserves exemptions for game modes and legitimate external movement. * Updates shared item-use state so cancelled actions do not start a new accepted use session. ### **Movement Timing and Rotation** * Stops **SpeedA** from amplifying displacement after closely spaced packet arrivals. * Excludes supported partial-block steps from **SpiderB** takeoffs. * Skips **BadPacketsA** rotation-pattern analysis outside Survival and Adventure. * Retains grace periods and fresh-environment requirements across movement models. --- ## 🧑‍⚖️ Staff Review and Detection Records * Adds clickable alert controls to confirm a detection, mark it as a false positive or undo a decision. * Assigns a unique alert ID to each recorded detection and exposes it through `DuckyViolationEvent`. * Stores detection and label events locally in JSON Lines files under the configured `learning-data/` directory. * Captures available movement deltas, rotation changes, packet intervals, ping, TPS, player state and check-specific features through `DetectionContext`. * Restores labels and structured detection features after plugin or server restarts. * Removes an active VL contribution when its detection is marked as a false positive; undo restores a contribution that was removed. * Prevents an already labeled alert from being labeled again until its decision is undone. * Adds configurable button text, hover text and staff messages, plus the dedicated `duckyac.learning.label` permission. * Provides `/duckyaclabel <correct|false|undo> <alert-id>` for direct review actions. * Collects reviewed examples for future model training and detection tuning. --- ## 🧩 Packet Engine and API Improvements * Extends the shared PacketEvents pipeline with teleport-confirm updates, client vehicle movement and authoritative entity-motion notifications. * Adds action, block-interaction and entity-interaction gates for sequence-aware prevention. * Tracks outstanding teleport IDs, accepted item-use state, swing timing, inventory clicks and movement evidence shared by checks. * Expands packet diagnostics with teleport matches, invalid confirmations and gated packet counts. * Adds `DetectionContext` overloads to violation reporting so add-ons can attach structured measurements. * Preserves the existing violation-event constructor while adding alert-ID access for integrations. * Expands built-in check metadata and configuration exposure through the public Bukkit service API. * Keeps configurable check IDs, violation levels and permissions independent even when their implementation shares a model or engine. --- ## ⚙️ Configuration and Upgrade Notes DuckyAC **v1.3.0** uses **`config-version: 29`**. PacketEvents remains a required plugin dependency; this build compiles against **PacketEvents 2.11.2** and the **Spigot 1.20.6 API**, targeting **Java 21**. * Adds configuration sections for the new movement, combat, building, mining, elytra, packet and vehicle checks. * Adds `machine-learning` settings for local detection storage and staff labeling. * Migrates older configurations while preserving customized values except where a documented legacy default is replaced. * Replaces the original VehicleFlyA timing defaults with the faster profile: **12 → 8** window ticks, **4 → 3** anomalous samples, **3 → 2** buffer points and **750 → 300 ms** cooldown. Independently customized values are retained. * Removes retired `aim-assist-a` and `aim-assist-b` configuration entries. * Removes previous prerelease heading labels from existing check comments. * Presents all bundled checks as official release checks in configuration and documentation. Many new checks default to **`alert-only: true`**. **KillAuraB** and **BadPacketsC** default to disabled and can be enabled individually. Alert-only mode controls command punishment; cancellation and setbacks have their own settings where supported. To upgrade: 1. Back up `plugins/DuckyAntiCheat/config.yml` and the learning-data directory. 2. Stop the server and replace the DuckyAC JAR, keeping PacketEvents installed. 3. Start the server to apply configuration migration. 4. Review the new sections, check enable switches, staff permissions and prevention settings. The current VehicleFlyA timing profile is: ```yaml vehicle-fly-a: enabled: true alert-only: false min-tps: 19.0 window-ticks: 8 required-samples: 3 gravity-tolerance: 0.12 buffer-threshold: 2.0 alert-cooldown-ms: 300 max-alerts: 5 command: "kick %player% Invalid boat flight (VehicleFlyA)" debug: false ``` --- ## 📖 Documentation * Rewrites the README around the current feature set, all **75 check variants**, installation, configuration, staff review, permissions and developer integrations. * Replaces the outdated full configuration dump with a focused example and a link to the maintained defaults. * Removes recommendations to install other anti-cheat plugins from the project description. * Updates release information to **1.3.0** and configuration information to **version 29**. ## 🧪 Verification * **226 automated tests passed with 0 failures** in the verified build. * Adds regression coverage for legal falls, upward launches, packet batching and stalls, terrain support, wall-climb and liquid-walk patterns, elytra models, mining sequences and staff-review persistence. * Verifies the faster VehicleFlyA response against the original profile while retaining legitimate movement and packet-delay cases. * Checks configuration structure, packet registration, permissions and model defaults. * Builds successfully with the Gradle wrapper. Automated model tests cover the simulated scenarios described above; behavior on a running server depends on server conditions and the selected settings. ## 📦 Version * Updates DuckyAC from **1.2.0** to **1.3.0**. * Keeps all bundled checks in the official release with individual enable and response settings.
release

DuckyAC 1.2.0

1.2.0
7 сент. 2026 г.145Minecraft: 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Скачать
Что нового
# 🛠️ DuckyAC v1.2.0 - Packet Detection Engine & Movement Safety Update In **v1.2.0**, DuckyAC introduces a centralized PacketEvents processing pipeline, rewrites several major checks around packet-level movement data, and adds safer player-state tracking shared across the anti-cheat. This release significantly improves **Reach**, **NoSlowDown**, and **Timer** detection, adds **InvalidPositionA** and **AutoTrapB**, expands diagnostic tools, and introduces an automated test suite for detection math, configuration, permissions, and packet registration. --- ## ✨ New Features ### 🛡️ **InvalidPositionA (New Check)** * Added a new movement check: **InvalidPositionA**. * Detects players who remain suspended in the air for too long. * Detects falling movement that repeatedly stops following vanilla gravity. * Distinguishes invalid falling from legitimate long falls and terminal velocity. * Uses packet movement history together with server-side collision snapshots. * Includes exemptions for legitimate movement caused by: * water and lava, * ladders, vines, scaffolding, cobwebs, and powder snow, * bubble columns, slime blocks, and honey blocks, * Levitation, Slow Falling, and Jump Boost, * elytra flight, riptide, vehicles, and allowed flight, * recent velocity, damage, and teleportation. * Records the player's last verified safe ground position. * After a confirmed violation, reports the check and safely moves the player using the following fallback order: 1. the last verified safe position in the current world, 2. a safe collision block below the player, 3. a safe position near the world spawn. * Revalidates the destination before teleporting and rejects hazardous or obstructed locations. * Resets velocity and fall distance after a setback. * Includes configurable detection buffers, grace periods, setback cooldowns, and scan depth. ### 🧱 **AutoTrapB (New Check)** * Added a second AutoTrap check based on PacketEvents block-interaction data. * Correlates packet placement attempts with Bukkit placement events. * Detects repeated trap-building patterns around nearby players. * Evaluates placement timing, rotation changes, cursor values, hand and item consistency, and packet-position consistency. * Uses a weighted evidence score instead of relying on a single placement condition. * Includes configurable match windows, scoring thresholds, pattern requirements, and debug diagnostics. ### 📡 **Central Packet Processing Pipeline** * Added one shared PacketEvents listener responsible for decoding and dispatching player traffic. * Added dedicated update types for: * movement, * player actions, * packet-rate tracking, * block interactions, * entity interactions. * Checks can register for only the packet streams they require. * Added packet-pipeline diagnostics showing received packets, decoded movement and action traffic, entity interactions, decoding errors, missing players, and registered listeners. * Added shared per-player state for movement history, item use, sneaking, sprinting, entities, environment snapshots, and recent server actions. --- ## ⚔️ Combat Check Improvements ### 📏 **ReachA & ReachB Rework** * Rebuilt **ReachA** and **ReachB** around a shared packet-driven `ReachEngine`. * **ReachA** now validates block interaction distance using packet position and block geometry. * **ReachB** now analyzes entity attacks decoded directly from PacketEvents. * Added historical entity hitboxes and latency-aware rewind selection. * Reach distance is calculated from the attacker's eye position to the nearest point of the target's AABB. * Added configurable ping compensation, jitter allowance, movement tolerance, and violation buffers. * Added a Paper damage-event fallback for servers or protocol situations where an attack packet cannot be matched reliably. * Added detailed diagnostics for packet attacks, movement history, entity history, fallback matches, suspicious evidence, and emitted reports. * Kept **ReachA** and **ReachB** as separate public checks with independent configuration, violation levels, and bypass permissions. ### 🎯 **Hitbox and Through-Blocks Adjustments** * Updated combat checks to use the shared TPS policy and normalized bypass handling. * Improved consistency of alert, cancellation, and configuration behavior across combat detections. --- ## 🏃 Movement Check Improvements ### 🐌 **NoSlowDownA-H Packet Rework** * Reworked **NoSlowDownA** through **NoSlowDownH** around the shared packet-driven `NoSlowEngine`. * All variants remain independent public checks with separate IDs, configuration sections, alerts, punishments, and bypass permissions. * Movement speed is now calculated from consecutive position packets. * Item-use state is tracked from packet actions instead of depending only on Bukkit movement events. * Added shared tolerance for movement attributes, Speed and Slowness effects, Soul Speed, recent velocity, teleportation, stale environment data, and low TPS. * Added a shared violation buffer to reduce single-sample false positives. * Preserved individual detection contexts for eating, bows, crossbows, shields, honey blocks, soul sand, sneaking, and drinking. ### 🥷 **NoSlowDownG Sneaking Fixes** * Fixed detection of players moving too quickly while sneaking. * Sneak start and stop actions are now decoded from PacketEvents entity-action packets. * Added a minimum sneaking duration before speed analysis begins. * Added checks for packet ground state, vertical movement, ice surfaces, and environment freshness. * Added dedicated NoSlowDownG pipeline diagnostics. * **NoSlowDownG** continues to use the shared `NoSlowEngine` while remaining an independent, non-legacy check. ### 🕊️ **FlyA Responsibility Update** * **FlyA** continues to detect repeated unnatural upward movement. * Prolonged hovering is handled by **InvalidPositionA** when the new check is enabled, preventing duplicate reports for the same movement. --- ## ⏱️ Timer Check Rework ### **TimerA** * Reworked TimerA to analyze movement packet balance against real elapsed time. * Added configurable balance limits, recovery, joining grace, teleport grace, and setback behavior. ### **TimerB** * Reworked TimerB around packet-rate analysis over a one-second window. * Added minimum sample requirements, grace periods, and conservative alert-only defaults. ### **TimerC** * Reworked TimerC to detect repeated movement packets with abnormally short intervals. * Added a configurable evidence buffer and decay instead of reporting isolated fast packets. ### **TimerD** * Reworked TimerD to count movement packets over a configurable rolling time window. * Added minimum sample requirements and shared packet-rate infrastructure. All four Timer checks remain separately configurable and maintain independent violation levels and bypass permissions. --- ## 🔍 Fixes ### 📡 **PacketEvents Initialization and Delivery** * Fixed PacketEvents initialization to use the API supplied by the required PacketEvents plugin. * Removed plugin-local PacketEvents API construction. * Centralized movement and action packet decoding to prevent inconsistent or duplicate listener behavior. * Added explicit tracking for undecodable entity interactions and player actions. * Improved handling of packets received before player data is available. ### 🚨 **Alert and Punishment Reliability** * Corrected check-name normalization used by violation storage and the public API. * Improved alert delivery so staff permissions and enabled alert state are handled consistently. * Improved punishment execution and Discord command reporting. * Added canonical IDs for previously inconsistent configuration names such as `bad-packets-a` and `fast-place-b`. ### ⚙️ **TPS and Bypass Consistency** * Added one shared server TPS tracker used across checks. * Normalized per-check TPS gating. * Expanded `duckyac.bypass.*` children to cover all built-in checks. * Added dedicated bypass permissions for newly introduced checks. --- ## 🧩 Internal Improvements ### **Shared Player State** * Added `PlayerData` and `PlayerDataManager` for consistent per-player packet state. * Added bounded movement and entity histories to avoid unbounded memory growth. * Added immutable environment, position, item-use, entity, and safe-position snapshots. * Centralized cleanup for player quit and plugin shutdown. ### **Detection Models** * Added reusable geometry primitives for vectors and axis-aligned bounding boxes. * Added reusable violation buffers, evidence records, policies, decisions, sliding rate counters, and timer balance calculations. * Added isolated math models for Reach, NoSlowDown, rotation analysis, and InvalidPosition physics. * Kept Bukkit world and collision access on the server thread while packet checks consume immutable snapshots. ### **Configuration Management** * Normalized legacy configuration paths while retaining compatibility fallbacks where required. * Added safer defaults and validation-friendly bounds for packet-based checks. * Updated built-in check metadata exposed through the public developer API. --- ## ⚙️ Configuration and Upgrade Notes ⚠️ **Important:** DuckyAC v1.2.0 uses **`config-version: 6`**. Server owners should regenerate `config.yml` or carefully merge the new defaults. Existing configuration files will not automatically contain every new tuning option. Review the following sections when upgrading: * `invalid-position-a` — new physics-aware airborne detection and safe setback settings; * `auto-trap-b` — new packet matching, pattern, and evidence scoring settings; * `no-slowdown` — new shared buffer, tolerance, and grace policy; * `no-slowdown-a` through `no-slowdown-h` — updated packet-based variant settings; * `reach-a` and `reach-b` — rewind, tolerance, buffer, and Paper fallback settings; * `timer-a` through `timer-d` — new packet timing, rate, grace, and alert-only settings; * `bad-packets-a` and `fast-place-b` — canonical section names; * `packet-pipeline-debug` — optional packet and listener diagnostics; * `plugin.yml` permissions — expanded per-check bypass entries. Representative InvalidPositionA configuration: ```yaml invalid-position-a: enabled: true min-tps: 19.0 hover-min-ticks: 30 hover-max-delta-y: 0.015 fall-min-ticks: 60 fall-window-size: 20 fall-invalid-samples: 12 gravity-tolerance: 0.06 buffer-threshold: 3.0 setback-enabled: true setback-cooldown-ms: 3000 downward-scan-depth: 64 max-alerts: 5 command: "kick %player% Invalid position (InvalidPositionA)" debug: false ``` PacketEvents remains a required dependency: ```yaml depend: ["packetevents"] ``` --- ## 🧪 Testing * Added JUnit 5 and automated Gradle test execution. * Added tests for: * configuration structure and safe threshold ranges, * canonical check identifiers, * bypass permission defaults, * packet listener registration, * player movement history and state, * Reach and NoSlowDown calculations, * Timer balance and packet-rate windows, * rotation analysis and violation buffers, * AABB geometry, * InvalidPosition hover, legal falling, invalid falling, resets, and exemptions. * Verified with **59 passing automated tests and 0 failures**. * The project continues to target **Java 21** and **Spigot/Paper 1.20.6**. --- ## 📦 Version * Updated DuckyAC version from **1.1.7** to **1.2.0**. --- ## 📌 Summary DuckyAC **v1.2.0** moves the core of its movement, timing, and reach analysis to a centralized PacketEvents pipeline. ReachA/B, NoSlowDownA-H, TimerA-D, and BadPacketsA now share consistent packet state, timing, buffers, TPS rules, and exemptions while retaining their individual public check identities. The release also adds **InvalidPositionA** with safe ground setbacks and **AutoTrapB** with packet-to-event placement validation. Improved diagnostics, normalized configuration and permissions, shared geometry and evidence models, and a new automated test suite make the anti-cheat easier to tune and maintain. ⚠️ **Before upgrading a production server, merge the new version 6 configuration sections and verify that PacketEvents 2.11.2 is installed and loading before DuckyAC.**
release

DuckyAC 1.1.7

1.1.7
26 июл. 2026 г.131Minecraft: 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
# 🛠️ DuckyAC v1.1.7 - Developer API & Player Check Expansion In **v1.1.7**, we're introducing a brand-new public developer API, adding two new player checks — **FastEatA** and **FastBreakA** — and improving the internal registration of PacketEvents-based checks such as **BadPacketsA**. This update significantly expands DuckyAC's integration possibilities while improving detection coverage for abnormal eating, drinking, and block-breaking behavior. --- ## 🔍 Fixes ### 📡 **BadPacketsA -- Packet Listener Registration Fix** * Fixed the internal registration of **BadPacketsA**. * Removed duplicate PacketEvents listener registration from the check constructor. * Packet-based checks are now registered centrally through the main plugin class. * Prevents checks from being registered more than once and improves consistency across PacketEvents-based detections. * Updated the internal check counter so both Bukkit and PacketEvents checks are included in the startup registration message. --- ## ✨ New Features ### 🍗 **FastEatA (New Check)** * Added a new player check: **FastEatA**. * Detects food and potion consumption completed faster than vanilla item-use timing allows. * Uses PacketEvents to detect when the player begins using an item. * Uses the trusted Bukkit `PlayerItemConsumeEvent` to verify when consumption finishes. * Compares both: * elapsed server ticks, * elapsed real time in milliseconds. * Supports main-hand and off-hand item use. * Includes protection against false positives caused by: * high player ping, * low server TPS, * Creative and Spectator modes, * mismatched or changed items, * expired item-use data. * Includes local violation decay and configurable alert thresholds. * Supports dedicated bypass permissions and debug logging. ### ⛏️ **FastBreakA (New Check)** * Added a new player check: **FastBreakA**. * Detects blocks broken faster than Minecraft's calculated vanilla mining speed allows. * Calculates the expected break duration using the block's real break speed. * Takes into account: * block hardness, * the held tool, * preferred tool status, * tool changes during mining, * Haste, * Mining Fatigue, * player block-break speed attributes, * server TPS, * player ping. * Uses both server ticks and real elapsed milliseconds before reporting a violation. * Ignores blocks that can normally be broken almost instantly. * Supports configurable tolerance values to reduce false positives. * Can cancel suspicious block breaking when enabled. * Cleans up unfinished breaking sessions when a player stops mining or leaves the server. --- ## 🔌 Developer API ### 🧩 **Public DuckyAntiCheat API** * Added a new public API for external plugins and DuckyAC add-ons. * The API is registered through Bukkit's Services Manager. * External plugins can access it using `DuckyAntiCheatProvider`. * The service is automatically unregistered when DuckyAC is disabled. Example dependency declaration: ```yaml softdepend: [DuckyAntiCheat] ``` Example API usage: ```java import pl.barpad.duckyanticheat.api.DuckyAntiCheatAPI; import pl.barpad.duckyanticheat.api.DuckyAntiCheatProvider; import pl.barpad.duckyanticheat.api.PlayerViolationProfile; DuckyAntiCheatAPI api = DuckyAntiCheatProvider.require(); int vl = api.getViolationLevel(player, "ReachB"); boolean flyEnabled = api.isCheckEnabled("fly-a"); int reachLimit = api.getMaxAlerts("reach-b"); PlayerViolationProfile profile = api.getPlayerProfile(player); int totalVl = profile.getTotalViolationLevel(); ``` ### Available API Features The new API provides access to: * Plugin lifecycle and API readiness. * Check metadata and categories. * Enabled and disabled check lists. * Check configuration values. * Player violation levels. * Violation timestamps and snapshots. * Highest and top violations. * Manual violation reporting. * Manual punishment execution. * Clearing individual or global violations. * Permission bypass state. * Alert timeout configuration. * Custom violation and punishment events. ### 🧱 **External Check Registration** External plugins can register their own runtime checks: ```java import pl.barpad.duckyanticheat.api.CheckCategory; api.registerExternalCheck( "MyAuraA", "My Aura A", CheckCategory.COMBAT, "Detects suspicious combat behavior from my add-on." ); int newVl = api.reportViolation(player, "my-aura-a", 2); ``` * External checks can use DuckyAC's violation storage and punishment systems. * Check IDs are normalized, meaning values such as `ReachB`, `reach-b`, and `Reach B` resolve to the same check. * Runtime external checks are removed after a plugin or server reload. ### 📂 **New API Classes** Added API structures for: * `DuckyAntiCheatAPI` * `DuckyAntiCheatProvider` * `DuckyAntiCheatApiImpl` * `CheckCategory` * `CheckInfo` * `ViolationInfo` * `PlayerViolationProfile` * `DuckyViolationEvent` * `DuckyPunishmentEvent` Checks can be grouped into the following categories: * `COMBAT` * `ELYTRA` * `MOVEMENT` * `PLACE` * `PLAYER` * `CUSTOM` --- ## ⚙️ Config Additions ⚠️ **Important:** Updating your `config.yml` is **required** when upgrading to **v1.1.7**. The new **FastBreakA** and **FastEatA** configuration sections must be added manually if you're keeping your existing configuration file. Failure to add these sections may prevent the new checks from working correctly. ### FastBreakA ```yaml # FAST BREAK A # Detects block breaks completed faster than vanilla mining speed allows. fast-break-a: enabled: true cancel-event: true max-ping: 300 min-tps: 18.0 min-check-ticks: 4 tick-tolerance: 2 millis-tolerance: 150 start-expire-ms: 30000 max-alerts: 5 command: "kick %player% Fast breaking (FastBreakA)" debug: false ``` ### FastEatA ```yaml # FAST EAT A # Detects food and potion consumption that finishes faster than vanilla item use. fast-eat-a: enabled: true min-ticks: 32 min-millis: 1400 max-ping: 250 min-tps: 18.0 vl-decay-seconds: 30 alert-vl: 3 max-alerts: 6 command: "kick %player% Fast eating (FastEatA)" debug: false ``` --- ## 🔧 Internal Improvements ### 📋 **Improved Check Registration** * PacketEvents checks are now stored separately from Bukkit listener checks. * The startup message now reports the correct total number of registered checks. * Added centralized access to the DuckyAC API through the main plugin instance. * Bukkit service registrations are properly removed during plugin shutdown. ### 🚨 **Violation System API Integration** * Updated the violation system to expose violation data through the public API. * Added support for custom violation and punishment events. * External plugins can now listen for detections and punishments without modifying DuckyAC's internal code. * Added player violation profiles and structured violation information for dashboards, statistics, and integrations. --- ## 📦 Version * Updated plugin version to **1.1.7** --- ## 📌 Summary DuckyAC **v1.1.7** introduces a complete public developer API, allowing external plugins to read check information, access player violation data, execute punishments, clear violations, listen for events, and register custom runtime checks. The update also adds **FastEatA** for detecting abnormally fast consumption and **FastBreakA** for detecting block breaking faster than vanilla mechanics allow. Additionally, **BadPacketsA** and other PacketEvents checks now use improved centralized listener registration, preventing duplicate registration and ensuring the plugin correctly reports the total number of loaded checks. ⚠️ **Server owners upgrading from an older version must add the new `FastBreakA` and `FastEatA` sections to their existing `config.yml` before starting the updated plugin.**
release

DuckyAC 1.1.6

1.1.6
4 июн. 2026 г.128Minecraft: 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
Скачать
Что нового
# 🛠️ DuckyAC v1.1.6 - PacketEvents & Detection Expansion Update In **v1.1.6**, we're expanding the packet analysis system with two brand-new checks, improving block interaction accuracy, adding a dedicated debug command, and introducing PacketEvents support for better packet handling and future compatibility. --- ## 🔍 Fixes ### 🧱 **ThruBlocksB -- Additional False Positive Fix** - Fixed another false positive in **ThruBlocksB**. - Improved block interaction validation to reduce unintended violations in edge-case scenarios. - Enhances overall reliability of wall and obstacle detection. ### 🧪 **Potion Effect Handling Improvements** - Updated internal potion effect handling logic. - Improves compatibility with modern Minecraft versions and gameplay mechanics. --- ## ✨ New Features ### 📦 **PacketEvents Support** - Added **PacketEvents** as a soft dependency. - Provides a more robust packet processing foundation for future detections and compatibility improvements. - Allows DuckyAC to leverage additional packet-level information when available. ### 📡 **BadPacketsA (New Check)** - Introduced **BadPacketsA**, a new packet validation check. - Detects invalid or abnormal packet behavior commonly associated with modified clients. - Designed for low false positive rates and lightweight performance impact. ### ⚡ **FastPlaceB (New Check)** - Added **FastPlaceB**, a new block placement detection. - Targets unnatural block placement speeds and automated placement behavior. - Complements existing placement-related protections for improved coverage. ### 🐞 **Experimental Debug Command** Added a new command: ```text /duckyac debug ``` - Provides diagnostic information useful for troubleshooting and testing detections. - ⚠️ **This feature is currently experimental.** Some functions may not work correctly yet and behavior may change in future updates. - Intended primarily for development, testing, and advanced debugging purposes. --- ## ⚙️ Config Additions Added full configuration support for **BadPacketsA** and **FastPlaceB**. ⚠️ **Important:** Updating your `config.yml` is required when upgrading to v1.1.6. Failure to add the new configuration sections may result in startup errors or disabled functionality. ### BadPacketsA ```yaml # BAD PACKETS A badpackets-a: enabled: true min-delta: 0.1 max-ratio: 100.0 min-ratio: 0.01 debug: false max-alerts: 5 command: "kick %player% Suspicious aim packets (BadPacketsA)" ``` ### FastPlaceB ```yaml # FAST PLACE B # Detects placing blocks too quickly (anti-fast-place). fastplace-b: enabled: true # Function to enable/disable check max-blocks-per-second: 14 min-samples: 6 min-avg-gap-ms: 55.0 min-std-dev-ms: 8.0 suspicious-avg-cap-ms: 250.0 cancel-event: true # Enabling this feature will take you back to the position before reporting debug: false # Enable verbose debugging (may cause log spam / lag) max-alerts: 5 # Number of reports after which the command is executed command: "kick %player% Suspected fast place (FastPlaceB)" # The command that will be executed when the maximum number of reports is reached ``` --- ## 🔧 Internal Improvements ### ➗ **MathUtil Utility** - Added a new internal utility class: **MathUtil.java**. - Centralizes mathematical calculations used by multiple checks. - Improves maintainability and consistency across the codebase. --- ## 🌍 Compatibility Changes ### 🎮 **Updated Minimum Supported Version** ```text 1.18.2 → 1.20.6 ``` ```text Java 16 → Java 21 ``` - Ensures compatibility with newer APIs and packet handling improvements. --- ## 📦 Version - Updated plugin version to **1.1.6** --- ## 📌 Summary This update introduces **BadPacketsA** and **FastPlaceB**, adds **PacketEvents** integration, improves **ThruBlocksB** accuracy, provides an experimental **/duckyac debug** command, and modernizes the plugin with updated compatibility requirements and internal utilities. ⚠️ Server owners upgrading from previous versions must update their `config.yml` with the newly added **BadPacketsA** and **FastPlaceB** sections before starting the server.
release

DuckyAC 1.1.5

1.1.5
24 дек. 2025 г.330Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
Скачать
Что нового
**Just another ThruBlocksB fixes** If you will find any false positives please contact me via ticket on our Discord https://discord.gg/FSvenh9A7a
release

DuckyAC 1.1.4

1.1.4
24 нояб. 2025 г.85Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10bukkit, paper, purpur, spigot
Скачать
Что нового
**Fast false positive fix for ThruBlocksB check**
release

DuckyAC 1.1.3

1.1.3
23 нояб. 2025 г.25Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10bukkit, paper, purpur, spigot
Скачать
Что нового
# 🛠️ DuckyAC v1.1.3 - Stability & AutoTrap Update In **v1.1.3**, we're addressing a key false positive related to wall signs/banners, removing outdated exceptions, adjusting reach values for better accuracy, and introducing a brand-new combat check: **AutoTrapA**, complete with full configuration support. ------------------------------------------------------------------------ ## 🔍 Fixes ### 🪧 **ThruBlocksB -- Sign Hitbox False Positive** - Fixed an issue where players standing inside the **hitbox of wall signs / hanging signs & banners** were incorrectly flagged.\ - Ray-trace logic now properly **ignores sign-type blocks**, eliminating unintended violations. ### 🔄 **Removed Obsolete Exception from ThruBlocksA** - Cleaned up outdated exception logic to improve predictability and consistency across the ThruBlocks system. ### 📏 **ReachA & ReachB -- Updated Base Range** - Updated the default reach calculation values for **ReachA** and **ReachB**.\ - Now they use: ``` yaml base-range: 5.0 # In ReachA base-range: 4.0 # In ReachB ``` - Improves consistency, reduces edge false positives, and aligns the checks more closely with real in-game combat behavior. ------------------------------------------------------------------------ ## ✨ New Features ### 🪤 **AutoTrapA (New Check)** - Introduced a new combat automation detection: **AutoTrapA**.\ - Detects suspicious automated trap-placement behavior around players.\ - Optimized for low overhead and minimal risk of false positives. ------------------------------------------------------------------------ ## ⚙️ Config Additions Added full configuration support for **AutoTrapA**: - **New section in `config.yml`** for toggling and tuning AutoTrapA.\ - **ConfigManager** updated to load & manage all new values.\ - Default settings ensure safe, predictable behavior even without manual configuration. ------------------------------------------------------------------------ ## 📦 Version - Updated plugin version to **1.1.3** ------------------------------------------------------------------------ ## 📌 Summary This update enhances detection accuracy in ThruBlocksB, removes outdated logic in ThruBlocksA, introduces **AutoTrapA**, and standardizes reach detection with a new **5.0/4.0 base range** for ReachA and ReachB. Server owners now benefit from more stable and flexible combat detection.
release

DuckyAC 1.1.2

1.1.2
21 сент. 2025 г.115Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
Скачать
Что нового
# 🛠️ DuckyAC v1.1.2 – Edge & Water Grace Update In **v1.1.2**, we’re addressing **false positives around block edges, water transitions, and Elytra flight**, while also simplifying reach detection for more predictable results. --- ## 🔍 Fixes ### 🪨 **GroundSpoofA Edge Detection** - Fixed **false alerts** when players were standing on the **edge of a block**. - The check now probes multiple points (center, axis, corners) around the player’s feet before flagging. ### 🌊 **Water Transition Handling** - Fixed **false alerts** when leaving water. - Added a **300 ms grace window** after exiting water where checks are skipped. ### 🪂 **Elytra Grace** - Fixed **false alerts** when toggling Elytra flight. - Checks are skipped while gliding and **±300 ms around start/stop**. ### 📏 **ReachA Stability** - Removed reliance on per-player attributes for reach distance (unreliable across versions). - Always falls back to the configured `base-range` + tolerance. --- ## ✍️ Improvements - Clearer **debug messages** with explicit reasons why a check was skipped (e.g., teleport, damage, velocity, Elytra, water). - More predictable **ping compensation** logic for ReachA and FlyA. - Reduced risk of combat/movement disruption caused by legitimate transitions. --- ## ⚠️ Config Changes > 🔧 **No need to reset your entire `config.yml`.** > Just ensure the following lines are present (new keys have safe defaults if missing): ```yaml reach-a: base-range: 5.0 ``` --- ## 📌 Summary This update focuses on **reducing false positives** and giving server owners more control over **movement tolerance**. Default values are tuned for stability, but can be customized in `config.yml` if needed.
release

DuckyAC 1.1.1

1.1.1
7 сент. 2025 г.47Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
Скачать
Что нового
# 🛠️ DuckyAC v1.1.1 - Wind Charge Stability Update In **v1.1.1**, we're addressing **false positive reports triggered by Wind Charge usage** and refining related checks for smoother gameplay. ------------------------------------------------------------------------ ## 🔍 Fixes ### 🌀 **Wind Charge Detection** - Fixed **false alerts** caused when players legitimately used **Wind Charge mechanics**. - Integrated Wind Charge awareness into both **AirJumpA** and **FlyA** checks for more accurate validation. ------------------------------------------------------------------------ ## ✍️ Improvements - More consistent handling of **legitimate motion boosts** provided by Wind Charge. - Lower risk of combat/movement disruptions from flagged Wind Charge actions. ------------------------------------------------------------------------ ## ⚠️ Config Changes > 🔧 **No need to reset your entire `config.yml`.**\ > However, please ensure the following lines are added to the > **`air-jump-a`** and **`fly-a`** sections: ``` yaml detect-wind-charge: true wind-charge-grace-ms: 900 ``` These options enable correct detection while respecting Wind Charge's intended behavior.
release

DuckyAC 1.1.0

1.1.0
3 сент. 2025 г.34Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
Скачать
Что нового
# 🛠️ DuckyAntiCheat v1.1.0 — Core Checks Expansion In **v1.1.0**, we’re shipping a big wave of **new core checks** for movement and combat integrity, plus refinements that cut down false positives. --- ## 🔍 What’s New? ### ✅ **AirJumpA Check** * Detects **upward ascents while already airborne** (classic “air-jump” behavior). * Jump‑pad–safe: ignores **recent external velocity boosts** and **pressure‑plate triggers** to prevent false flags. --- ### ✅ **AirPlaceA Check** * Detects **illegitimate block placements while mid‑air** or **without proper support**. * Targets scaffold‑style placements outside normal reach/grounding. --- ### ✅ **GroundSpoofA Check** * Detects **spoofed onGround states** and inconsistencies between client reports and server‑side physics. * Helps prevent **fall‑damage bypass** and related exploits. --- ### ✅ **FlyA Check** * Detects **hovering, sustained airtime, and vertical motion** that doesn’t match gravity/drag curves. * Designed to respect legitimate mechanics (e.g., **teleports, damage knockback, levitation**) where applicable. --- ### ✅ **ReachA Check** * Baseline **combat reach** detection using tick‑accurate distance checks and latency‑aware margins. --- ### ✅ **ReachB Check** * Advanced **reach analysis** with improved motion/hitbox interpolation to reduce false positives in crowded fights. --- ### ✅ **HitboxA Check** * Detects abnormal **attack angles / target alignment** and attempts to **interact through invalid hitboxes** (e.g., hitting “around” blocks). --- ## ✍️ Improvements * 📉 Fewer false positives in movement scenarios (notably **jump pads**, **slime bounces**, **bubble columns**, and **post‑teleport** moments). * 🧪 Clearer debug messages to explain why a movement was ignored or flagged. --- ## ⚠️ Config Changes > 🛠️ **Please delete and regenerate your `config.yml`, then reapply your settings.** > This release adds new sections and defaults for the checks above (e.g., toggles and thresholds). > **Steps:** stop the server → remove `config.yml` → start the server to regenerate → re‑configure to taste.