AntiDupePro icon

AntiDupePro -----

Forensic-grade item-duplication detector



adp_banner_1024_white-bg.png
Forensic-grade item-duplication detector

Paper · Folia · Spigot — 1.21.x and 26.x
Most anti-cheat plugins watch movement and combat. AntiDupePro
watches the items themselves — and catches the dupes that quietly inflate your
economy until your spawn is full of free elytras.


——————————————————————————————
Why AntiDupePro?
Other anti-dupe plugins use per-item NBT tags — every diamond gets a unique ID,
which breaks vanilla stacking and irritates your players. AntiDupePro takes
a different approach: items keep their owner UUID and stack normally, but every
gain and loss is recorded in a tamper-evident ledger. When a player's actual
inventory diverges from what the ledger says, you get an alert.
The result: comprehensive detection without the UX friction.

——————————————————————————————
What it catches
A partial list of dupe families AntiDupePro detects out of the box:
  • Stack-clone exploits — click-timing, drag, cursor desync
  • Shulker / bundle laundering — recursive content scan up to depth 10
  • Item frame dupes — piston-into-frame, chunk-race, end-crystal variants
  • Entity inventory dupes — horse, donkey, llama, chest boat, chest minecart
  • Hopper laundering — items moving through automation are scanned
  • Workstation outputs — smithing, anvil, loom, stonecutter, cartography, grindstone
  • Furnace / lectern / decorated pot / ender chest — full transfer tracking
  • Single & double chests — transfers recorded by what actually moved (shift-clicks, number keys, double-click gathering, drags)
  • Villager trades & book enchanting — tracked items bought or created are credited properly
  • Chunk-load entity respawn — same item entity picked up twice
  • Drop-pickup race — same-NBT dupes via entity persistence
  • Acquisition-rate abuse — TMAR thresholds per material
  • Witness-less acquisitions — Proof of Witness flags suspicious solo patterns
The full coverage matrix is in the user guide.

——————————————————————————————
Compatibility
  • Server software: Paper, Folia, Spigot, and Paper-compatible forks
  • Minecraft: 1.21.x on the main branch, 26.x on the paper-26 branch
  • Java: 21+ for 1.21.x · 25+ for 26.x
  • External services: none required (SQLite bundled). Redis optional for proxy networks.
Folia compatibility is first-class — the plugin detects Folia at runtime and
dispatches scheduler calls to the regional schedulers automatically.

——————————————————————————————
Storage backends
Pick one in config.yml:
  • SQLite — file-based, persistent, zero ops. Default and recommended for single servers.
  • Redis — fast and shareable across multiple servers behind Velocity / BungeeCord.
  • Memory — in-process only, lost on restart. For testing.

——————————————————————————————
Installation
  1. Download the jar
  2. Drop it into plugins/
  3. Start the server
  4. Done — the plugin generates config.yml and materials.yml with sensible defaults
Run /adp help in-game to see the admin commands.

——————————————————————————————
Commands
All commands live under /adp (aliases: /antidupe, /antidupepro).
  • /adp ledger status — chain tip, current suspects, system health
  • /adp ledger balance <player> — expected balances for each material
  • /adp ledger history <player> — recent ledger entries
  • /adp ledger witness <player> — witness statistics and suspicion analysis
  • /adp ledger suspects — list all currently flagged players
  • /adp ledger reconcile <player> — force a balance check on an online player
  • /adp ledger trust <player> — accumulated trust score
  • /adp ledger verify — verify the entire hash chain
Permission antidupe.admin grants all of the above and routes dupe alerts to chat.

——————————————————————————————
Configuration
Two files in plugins/AntiDupePro/:
  • config.yml — storage backend, modes (shadow / auto-delete), ledger settings
  • materials.yml — tracked materials, rate limits, alert thresholds
  • messages.yml — every in-game message, fully translatable (deleted keys fall back to English)
Speaks your language: English, Português do Brasil, Español, Deutsch, Русский and Polski are built in — one language: line in config.yml switches everything.
Dupe alerts can also be pushed outside the game: Discord, Telegram, Slack, or any custom JSON webhook — with severity filtering and burst protection. See the notifications section of config.yml.
Both files are extensively commented. You can add or remove tracked materials at
any time without restarting the dependency stack — just edit the file and reload.

——————————————————————————————
Free and open source
  • No license key
  • No telemetry
  • No "premium" feature gating
  • Full source on GitHub, issues and PRs welcome

——————————————————————————————
Links
If AntiDupePro saved you from cleaning up a dupe wave, a positive review
on this page is the best way to support development.
Resource Information
Author:
----------
Total Downloads: 133
First Release: May 30, 2026
Last Update: Jun 13, 2026
Category: ---------------
All-Time Rating:
2 ratings
Find more info at darkstarworks.gitbook.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings