▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
DuckyAC

DuckyAC

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

Оцените первым
986
7
Все версииDuckyAC 1.1.7

DuckyAC 1.1.7

Release26.07.2026

Список изменений

🛠️ 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:

softdepend: [DuckyAntiCheat]

Example API usage:

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:

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

# 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

# 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.

Файлы

DuckyAC-1.1.7.jar(240.21 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.1.7

Загрузчики

Bukkit
Paper
Purpur
Spigot

Версии игры

1.20.6–26.2

Загрузок

49

Дата публикации

26.07.2026

Загрузил

ID версии

Главная