DupeWatch Most advanced Anti-Dupe plugin v1.3.7

Dupewatch uses advanced fingerprinting system to detect dupes with the best performance
New Stuff

  • Machine Learning Engine — Full on-device ML dupe detection powered by Tribuo (Random Forest). Staff vote on cases, the model learns from feedback and retrains automatically. ML confidence is shown in case views with colour-coded percentages (green ≥70%, yellow 40-70%, red <40%). Includes anomaly detection, concept drift monitoring, shadow A/B model testing, player risk scoring, and counterfactual explanations. New commands: /dw ml status, /dw ml retrain, /dw ml export, /dw ml import. All data stays on your server.

  • Bundled ML Training Data — Ships with a pre-trained dataset from GraveMC. On first startup the plugin auto-imports it and trains a model so new servers get working ML detection out of the box — no manual voting or setup needed. (Although it is recommend that you vote for each case accuratly so overtime the system learns everything about your server also all of this data is local only so you dont have to worry about you're data being leaked its fully running on your machine!)

  • ML Vote GUI — Staff can vote DUPE/LEGIT on cases directly from the Case View. Votes feed the ML model with weighted voting and spam protection built in.

  • Performance Dashboard — New in-game GUI showing ML metrics: accuracy, F1 score, prediction times, cache hit rates, and class distribution. (this is mostly for debugging)

  • Quarantine System — Lock flagged items in quarantine instead of deleting them. Staff can browse per-player quarantine via a new GUI and choose to return or delete each item. Returned items are treated as fresh/clean with no residual detection history.

  • Pay-All detection — the plugin now detects a player sending money to a lot of people in a certain time period.
Bug Fixes

  • Fixed Item Count in Rule Commands — Was always reporting "2" regardless of how many items the player had. Now counts real matching items across inventory, ender chest, and shulker boxes.

  • Identity Engine Fixes — Rewrote ContainerIdentityScanner, DupeDetectionEngine, ItemIdentityManager, StackIdHandler, and OwnershipRegistry for stability.

  • Scan Service Refactor — Major cleanup of ScanService and ScanBasedDetectionService to reduce false positives and improve reliability.

  • FingerprintUtil Overhaul — Stripped out legacy fingerprint code, reduced file by ~370 lines.


    PS: the plugin is much bigger now it was roughly 9.6mb before and now its around 24mb! this is because we added a machine learning system into the mix :)
New Stuff

  • Quarantine System - Lock flagged items in quarantine instead of deleting them. Staff can browse per-player quarantine via a new GUI and choose to return or delete each item. Returned items are treated as fresh/clean with no residual detection history.
  • Discord Role Pings — Webhook alerts can now ping a Discord role. Configurable minimum severity and cooldown so you don't get spammed.
  • Troll Mode - Optional per-rule feature that crashes a suspected duper's client. Both a global on/off switch and a per-rule toggle keep you in control.
Bug Fixes

  • Fixed Item Count in Rule Commands - Was always reporting "2" regardless of how many items the player had. Now counts real matching items across inventory, ender chest, and shulker boxes.
  • Quarantine Identity Reset - Items returned from quarantine no longer get immediately re-flagged.
Under the Hood

  • c3p0 connection pool updated from 0.10.1 → 0.12.0.

⚡ New: Rule Commands (Automatic Punishments)​


You can now attach commands directly to detection rules.


Example:
If a player is caught with 500 duplicated items, DupeWatch can automatically run something like:


ban {player} Duping detected


Commands trigger automatically when the rule fires.


You can configure them in the GUI or inside ruleCommands.yml.


Supported placeholders:


  • {player}
  • {item}
  • {count}

This allows automatic punishments like bans, kicks, inventory clears, or anything else your server command system supports.


Full setup guide is available in the Discord.




🐛 Bug Fixes​


🔍 /dw scan sometimes lied about results​


The scan system did detect violations correctly, but the final message sometimes told admins:


"No issues found"

Even when something was actually detected.


The message now properly reflects the real scan results.




💥 Crash when players joined the server​


Servers with items created by older DupeWatch versions could crash when:


  • a player joined
  • an item was dropped
  • a scan ran

Older versions stored identity data differently.


Old items used a 32-bit number, while the new system uses a 64-bit number.


DupeWatch now detects both formats so old items no longer crash the plugin.




⚙️ Auto-punishment commands not running​


Some servers configured rule commands but nothing happened when rules triggered.


Two issues caused this:


  1. Commands were executed from a background thread, which Bukkit does not allow.
  2. Rule IDs reset after every server restart, which sometimes broke rule lookups.

Commands now run on the main server thread, and rule IDs now persist across restarts.




🛠 Stability improvements​


Several internal systems were improved:


  • Inventory change tracking
  • Money Watch service
  • Surge tracker

These changes reduce rare crashes and improve detection reliability.




🔒 Security Fixes​


🧼 Command injection protection​


Previously, placeholders like {player} or {item} were inserted directly into console commands.


In rare situations this could allow malformed values to alter the command being executed.


Placeholders are now validated and sanitized before commands run.




🚨 Major Stability Fixes​


🧠 Internal lists could grow forever​


Some internal lists kept storing data but never removed old entries.


On active servers this could slowly increase memory usage.


Old data now cleans itself up automatically, keeping memory usage stable.




👤 Player threat tracking could keep old players forever​


DupeWatch tracks suspicious activity per player.


Previously, if players left the server, their threat data could remain stored forever.


Inactive player data is now automatically removed after a period of time, preventing memory buildup.




🧵 Database threads stayed alive after reload​


When the plugin reloaded, some background database threads were not shutting down properly.


Over time this could create unused threads running in the background.


All database threads now shut down correctly during reload or shutdown.




⏱ A database check ran on the main server thread​


One diagnostic database check ran directly on the main Minecraft thread.


On slower databases this could briefly freeze the server.


That check now runs asynchronously, preventing lag.




⚠️ Rare crash in watchlist system​


In rare cases the watchlist system could try to access data that did not exist yet.


Additional safety checks were added to prevent this crash.




💾 Identity data could be lost during a sudden shutdown​


Identity data used to save every 30 seconds.


If the server crashed before the next save, some recent identity data could be lost.


The plugin now forces a final save during shutdown, reducing the chance of data loss.




🔑 Rare race condition when generating the secret key​


On first startup the plugin generates a secret key file.


In rare edge cases two processes could attempt to create the file at the same time.


The file creation process is now locked and atomic, preventing this issue.




🔐 Identity verification hash was too small​


Only a very small part of a SHA-256 hash was used to verify identity salts.


The system now uses a larger portion of the hash, making verification more reliable.




⚙️ General Improvements​


Several internal systems were improved for stability and performance:


  • Old command tracking data now cleans itself up
  • Plugin reload behavior improved
  • Temporary caches behave more predictably
  • Static counters made thread-safe
  • Configuration values now validated
  • Confiscation request data automatically cleans up
  • Recursive inventory scans now have safe depth limits
  • Statistics tracking made thread-safe
  • Error logging improved for easier debugging



✨ Additional Improvements​


  • Configuration loading simplified
  • Shared HTTP client implemented
  • Feature flag system cleaned up
  • Reduced unnecessary object cloning
  • Configuration upgrade process improved
  • Extra safeguards added for ID generation
id engine was giving new id's to all items regardless if it was in the watchlist or not, this has now been fixed!
i accidently removed webhook support from the config.yml now its fixed sorry about that!
This new version introduces an experimental Identity Engine. It is insanely complex and would take years to explain fully, but the short version is that every item on the watchlist now gets a unique, trackable ID. This allows the plugin to detect duplicates across inventories, chests, shulkers, and even nested containers, linking them back to their original owner. It is designed to catch dupes that traditional fingerprinting would miss while intelligently handling stack splits and item transfers to prevent false positives. False positives are still possible, so review everything carefully before banning any user. I also recommend using the threshold or max items option to set a maximum amount per player; even if someone somehow bypasses the plugin, the max amount detection will still catch them.



IT IS RECOMMEND IT TO DELETE AND RE-ADD ALL WATCHLISTED ITEMS AGAIN!
evidence were not showing dirty money FIXED!
Major Features & Improvements
  • New: Intelligent Money Anomaly Detection: DupeWatch now monitors in-game economy activity for signs of money duplication. The system is built to be smart from the ground up. Normal player behavior like selling items at shops won't trigger false alerts. Instead, it focuses on real red flags, like a player's balance suddenly doubling out of nowhere, catching actual dupers without bothering legitimate players.
  • Complete GUI Overhaul: Every single menu in DupeWatch has been rewritten from scratch. The interface is now faster, cleaner, and visually consistent across the board. Navigation is smoother and far more reliable, especially when clicking through multiple menus quickly.
  • Economy Monitoring & Money Spread Graph: DupeWatch can now track in-game economy changes through Vault integration. A brand-new interactive graph lets you visually trace how dirty money flows from player to player, accessible directly from the player cases menu. Perfect for catching money duplication and tracing where duped currency ends up.

Database & Data Persistence​

  • Suspected Players Remembered Across Restarts: If DupeWatch flags a player's money as suspicious, that information is now saved to your database. Server crashes and restarts no longer wipe ongoing investigations.
  • Database Engine Upgrade: Under the hood, the database system has been restructured to handle future updates and migrations more reliably.

Bug Fixes​

  • Custom Items Now Properly Tracked: Fixed an issue where items with heavy customization, including custom names, lore, enchantments, and NBT data, weren't being fingerprinted consistently. These items are now accurately identified and tracked during scans.
  • /dw confiscate Fixed: The confiscate command now works correctly both from chat and from the GUI. Previously it could fail due to player name lookup issues.
  • /dw scan Improved: You can now scan a specific player with /dw scan <player> instead of only scanning yourself. The command also now shows clear, color-coded results. Green if the player is clean, red if issues were found. Player names are automatically suggested as you type.
  • Missing Translations Fixed: Resolved console warnings caused by missing text entries in the messages file, particularly for hover text and staff alert messages.

Quality of Life​

  • Clearer Settings Descriptions: The "Max Items" setting in the GUI now properly explains what it does. It caps how many item slots are checked per scan to prevent lag, especially useful when players have tons of nested shulker boxes.
  • Cleaner Codebase: Removed thousands of lines of outdated internal documentation and optimized background processes for better overall performance.






DELETE YOUR MESSAGES.YML BEFORE STARTING YOUR SERVER THERE IS A NEW UPDATE THERE TOO!
Buy a license now
$19.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Enhanced
+ $7.99
Includes Standard support plus:
Installation & setup
Support duration
Lifetime
Extras
SOURCE CODE
+ $499.00
Share and earn
Refer this resource and earn a 10% commission.
8,819 Views
53 Purchases
51 Downloads
Aug 20, 2025 Published
Jun 28, 2026 Updated
4.00 star(s)
Average rating (5)
934.8 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Economy
  1. Protection
  1. Anticheat
Game mode
  1. Survival
  1. Skyblock
  1. Prison
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. English
Includes DRM
Yes
Source access (legacy)
Closed source & obfuscated
Creators
Owner
Support
Recommended for you
Hand-tuned LPX premium config crafted for stability and security
Not yet rated
10 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,244 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,251 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,136 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,824 purchases
Share and earn
Refer this resource and earn a 10% commission.
8,819 Views
53 Purchases
51 Downloads
Aug 20, 2025 Published
Jun 28, 2026 Updated
4.00 star(s)
Average rating (5)
934.8 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Economy
  1. Protection
  1. Anticheat
Game mode
  1. Survival
  1. Skyblock
  1. Prison
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
Supported languages
  1. English
Includes DRM
Yes
Source access (legacy)
Closed source & obfuscated
Creators
Owner
Support
Recommended for you
Hand-tuned LPX premium config crafted for stability and security
Not yet rated
10 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,244 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,251 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,136 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,824 purchases
Top