
Anti-Dupe
A security tool for Minecraft servers, designed to prevent item duplication exploits.
Список изменений
Anti-Dupe 3.1 — Hybrid Deep Scanner
Overview
Anti-Dupe 3.1 uses a hybrid detection system combining:
- Immediate event-based verification
- Periodic inventory audits
- Ender Chest scanning
- Loaded container scanning
- Cross-inventory UUID checks
- Ledger integrity audits
- Optional deep scans
- Automatic chunk-load scans
- Safe recovery backups
- Daily log files
- Discord webhook alerts
- Multi-language support
- Admin whitelist
- Original item preservation
- Stack-safe accounting
- SQLite transaction ledger
Scanner Configuration
scanner:
enabled: true
online-inventory-minutes: 5
ender-chest-minutes: 10
loaded-containers-minutes: 15
uuid-crosscheck-minutes: 15
ledger-audit-minutes: 30
players-per-batch: 10
automatic-chunk-scans: true
chunk-scan-delay-ticks: 20
Scanner tasks are staggered to prevent lag spikes.
Scan Frequency
| Scan | Default |
|---|---|
| Online Player Inventories | Every 5 minutes |
| Online Player Ender Chests | Every 10 minutes |
| Loaded Containers | Every 15 minutes |
| Cross Inventory UUID Check | Every 15 minutes |
| Ledger Integrity Audit | Every 30 minutes |
Player scans are processed in configurable batches.
Immediate Event Verification
Immediately verifies all inventory transactions after Minecraft completes them.
Protected events include:
- Inventory Click
- Shift Click
- Number Key Swap
- Drag Distribution
- Stack Split
- Stack Merge
- Double Click Collect
- Offhand Swap
- Hopper Transfer
- Item Pickup
- Item Drop
- Crafting
- Smithing
- Anvil
- Grindstone
- Villager Trading
- Player Login
- Player Logout
- Container Open
- Container Close
Cursor items are included in every transaction snapshot preventing false positives during normal stack splitting.
Deep Scan Commands
Scan everything:
/antidupe scan all
Scans:
- Online Players
- Ender Chests
- Loaded Containers
- Chest Minecarts
- Hopper Minecarts
- Inventory Holding Entities
- UUID Registry
- Stack Fingerprints
- Ledger Totals
Player inventories:
/antidupe scan players
Ender Chests:
/antidupe scan ender
Loaded Containers:
/antidupe scan containers
Current Chunk:
/antidupe scan chunk
Automatic Chunk Scanning
Whenever a chunk loads:
- Wait 20 ticks
- Scan every inventory holder
Supported block inventories:
- Chest
- Trapped Chest
- Barrel
- Shulker Box
- Hopper
- Furnace
- Blast Furnace
- Smoker
- Crafter
- Brewing Stand
- Dropper
- Dispenser
Supported entities:
- Chest Minecart
- Hopper Minecart
- Inventory Holding Entities
Safe Removal & Recovery
Before removal:
Complete ItemStack is written to:
plugins/Anti-Dupe/recovery.yml
Stored:
- Material
- Amount
- Name
- Lore
- Enchantments
- Durability
- Components
- Persistent Data
- UUID
- Player
- World
- Coordinates
- Detection Reason
- Timestamp
- Recovery ID
- Restore Status
If writing fails:
- Item remains untouched
- Severe error logged
Recovery Commands
Recent entries
/antidupe recovery list
Lookup player
/antidupe recovery player <player>
Restore original owner
/antidupe recovery restore <id>
Restore to another player
/antidupe recovery restore <id> <player>
Permission:
antidupe.recovery
Admin Whitelist
Add
/antidupe whitelist add <player>
Remove
/antidupe whitelist remove <player>
Check
/antidupe whitelist check <player>
List
/antidupe whitelist list
Stored:
plugins/Anti-Dupe/admin-whitelist.yml
Permission:
antidupe.whitelist
Admin Test Command
/dupe
Duplicates the held item.
Ignores:
- Whitelist
- OP
- antidupe.bypass
Used strictly for testing.
Permission:
antidupe.dupe
Private Detection Warnings
Players never receive detection messages.
Warnings go only to:
- Server Console
- Admins
- Daily Log Files
- Discord
Permission:
antidupe.notify
Daily Logs
Location
plugins/Anti-Dupe/logs/
Filename
anti-dupe-YYYY-MM-DD.log
Automatically rotates every day.
Discord Webhook Alerts
Rich embed notifications.
Config:
discord:
enabled: true
webhook-url: ""
username: "Anti-Dupe"
avatar-url: ""
locale: en_US
embed-color: "#FFB000"
include-coordinates: true
role-mention: ""
Embed contains:
- Player
- UUID
- World
- Coordinates
- Time
- Detection Reason
- Removed Item
- Removed Quantity
- Recovery ID
- Confirmation Item Removed
Webhook runs asynchronously.
Multi-Language Support
Supported locales:
- de_DE
- en_US
- es_ES
- fr_CA
- fr_FR
- it_IT
- ja_JP
- pl_PL
- pt_BR
- ru_RU
- tr_TR
- uk_UA
- zh_CN
Config:
language:
default: en_US
use-client-locale: true
Language files:
plugins/Anti-Dupe/lang/
Discord may use a separate locale.
Permissions
antidupe.admin
antidupe.notify
antidupe.whitelist
antidupe.recovery
antidupe.dupe
antidupe.bypass
Recommended Deployment
Start in:
mode: AUDIT
Test:
- Crafting
- Smelting
- Trading
- Hoppers
- Stack Splitting
- Stack Merging
- Ender Chests
- Shulker Boxes
- Modded Containers
After validation:
mode: QUARANTINE
Quarantine mode:
- Preserve original item.
- Backup duplicate.
- Remove duplicate.
- Log incident.
- Notify admins.
- Send Discord alert.
- Allow administrator restoration.
