DupeTrace
PluginMIT

DupeTrace

Item Duplication Detection Plugin, For PaperMC

92
Downloads
2
Followers
4 months ago
Updated
📦
2
Versions

📖About DupeTrace

dupetrace-logo

Professional Item Duplication Detection & Prevention

Protect your server's economy and integrity
with fast & reliable enterprise-grade duplicate detection.


Best Anti-Dupe that can easily trace back how the exploit works

Check out the VERY detailed WIKI pages


Why Choose DupeTrace?

Item duplication exploits are the #1 threat to server economies. A single dupe glitch can:

  • Destroy months of careful server balancing
  • Make legitimate players quit in frustration
  • Crash your economy overnight
  • Force rollbacks that punish innocent players

DupeTrace stops dupes BEFORE they spread by:

  • ✅ Tracking every non-stackable item with invisible UUID fingerprints
  • ✅ Detecting when the same item appears in multiple locations simultaneously
  • ✅ Auto-removing duplicates in real-time (configurable)
  • ✅ Logging complete forensic histories for investigations
  • ✅ Working passively without breaking other plugins or game mechanics

Built for performance. DupeTrace uses asynchronous database operations, connection pooling, and smart caching to handle 200-1000 events/second without impacting your server TPS.
(equal to 10-50 players actively spamming non-stackable item events. you're fine)


Key Features

  • 🔍 Automatic Duplicate Detection: Tracks all non-stackable items with unique IDs stored in NBT data
  • 🗃️ PostgreSQL Database: Enterprise-grade persistence handles millions of records without slowdown
  • Real-time Monitoring: Comprehensive event tracking across 30+ Bukkit events
  • 🛡️ Auto-Removal: Optional automatic removal of duplicated items (keeps the oldest legitimate copy)
  • 📣 Discord Webhook Alerts: Send duplicate alerts to your Discord server with formatted embeds
  • 🎨 Creative Mode Support: Configurable handling of Creative mode duplication
  • 📊 Deep Container Scanning: Recursively tracks items inside Shulker Boxes and Bundles
  • 🔧 Highly Configurable: Fine-tune detection sensitivity, grace periods, and performance settings
  • 🔬 Forensic Tools: Complete transfer history and player-based item searches for investigations
  • 🚀 Zero-Lag Design: All database operations run asynchronously on separate threads

Performance Metrics

Lightweight & Fast

  • Memory Usage: ~25-35 MB total (plugin + connection pool + cache)
  • CPU Impact: < 1% on modern hardware
  • TPS Impact: None (all database operations are async)
  • Event Throughput: Handles 200-1000 item events/second without lag
  • Database Growth: 150-200 MB per million transfers (1-2 GB/month on active servers)

Optimized for Scale

  • Tested for servers with 500+ concurrent players
  • Connection pooling handles concurrent database access efficiently
  • Smart in-memory caching reduces database queries
  • Configurable TTL prevents memory leaks on long-running servers

Configuration (required!)

  1. After first start, edit the generated plugins/DupeTrace/config.yml
  2. Add your PostgreSQL details
  3. Restart the server

Commands

command description
/dupetest give Give yourself a Diamond Sword tagged with a unique ID
/dupetest uuid <uuid> View item's recent transfer history (latest 10 entries)
/dupetest history <uuid> [limit] View full transfer log (default limit: 50)
/dupetest stats View plugin and database statistics
/dupetest search <player> List tracked items associated with a player

Command aliases: /dt & /dtrace


Large Servers

(Recommended for 100+ players)

scan-interval: 300 # Increase to 15 seconds
inventory-open-scan-enabled: false # Disable for max performance
database:
  postgres:
    pool-size: 20 # Increase pool size
known-items-ttl-ms: 300000 # Reduce to 5 minutes

Permissions

permissions description default
dupetrace.admin Allows access to DupeTrace admin commands op
dupetrace.alerts Receive duplicate alerts from DupeTrace op

Dependencies

A (remote) PostgreSQL Database is required!


Dependencies (included)

  • kotlin-stdlib-jdk8 - Kotlin standard library
  • HikariCP 5.1.0 - Database connection pooling
  • PostgreSQL 42.7.4 - PostgreSQL JDBC driver
  • adventure MiniMessage 4.25.0 - Minecraft Java UI Library

In Active and Continues development. Check out the VERY detailed WIKI pages

Discord

flat

Support

ko-fi