Unofficial site, not affiliated with modrinth.com.What is this?
Плагины/DupeTrace is now AntiDupePro
  • DupeTrace 1.2.0

    release4 декабря 2025 г.
    dupetrace-min

    Item Duplication Detection Plugin, For PaperMC 1.21.1+

    [1.2.0] - 2025-12-04 - Expanded Compatibility

    Changed

    • Expanded Minecraft Compatibility: Now supports PaperMC 1.21.1+ (previously 1.21.10 only)
      • Compiled against Paper API 1.21.1 for maximum backward compatibility
      • Tested and verified on 1.21.1, 1.21.3, 1.21.4, 1.21.5, and 1.21.10
    • Fixed deprecated URL constructor warning (now uses URI.toURL())

    Technical

    • Build target changed from paper-api:1.21.10 to paper-api:1.21.1
    • No API changes - all existing functionality remains identical
  • DupeTrace 1.1.0

    release23 октября 2025 г.

    Changelog

    All notable changes to DupeTrace will be documented in this file.

    The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

    [1.1.0] - 2025-10-23 - PaperMC 1.21.10 Optimization Release

    Added

    • Crafter Block Support (1.21+): Full tracking of items crafted via the new crafter block
    • Lectern Book Tracking: Detection of book duplication via lectern interactions
    • Discord Webhook Integration: Real-time duplicate alerts sent to Discord channels
      • Configurable via discord.enabled and discord.webhook-url in config.yml
      • Rich embed messages with player, item type, UUID, and location information
    • Advanced Command System: Complete overhaul of /dupetest command with new subcommands:
      • /dupetest uuid <uuid> - View item's recent transfer history (10 entries)
      • /dupetest history <uuid> [limit] - View full transfer log with custom limit
      • /dupetest stats - View comprehensive plugin statistics and metrics
      • /dupetest search <player> - List all tracked items for a specific player
      • Tab completion support for all commands
      • Command aliases: /dt, /dtrace
    • Database Performance Indexes: Four strategic indexes added for query optimization:
      • idx_transfers_item_uuid - Item UUID lookups
      • idx_transfers_player_uuid - Player UUID lookups
      • idx_transfers_ts - Timestamp-based queries
      • idx_transfers_item_player - Composite index for item-player-timestamp queries
    • Configurable Database Pool: Connection pool size and timeout now configurable
      • database.postgres.pool-size (default: 10, range: 1-50)
      • database.postgres.connection-timeout-ms (default: 30000)

    Fixed

    • Critical Performance Issue: Periodic inventory scans now run asynchronously off main thread
      • Eliminates TPS lag on large servers with 100+ players
      • Added error handling for individual player scan failures
    • Memory Leak: lastAlertTs map now properly cleaned up during periodic maintenance
      • Prevents unbounded growth over extended server uptime
      • Cleanup synchronized with known-items-ttl-ms setting

    Changed

    • Database connection pool size increased from 5 to 10 (configurable)
    • Improved error logging for async database operations
    • Enhanced duplicate detection with Discord integration

    Performance

    • Up to 80% reduction in main thread blocking from inventory scans
    • ~50% faster database queries due to strategic indexing
    • Memory usage more stable over long server uptimes

    Upgrade Notes

    • Database Migration: New indexes will be created automatically on first startup
    • Config Changes: Add Discord webhook settings to config.yml (optional)
    • Performance: Servers with 50+ players should see immediate TPS improvements

    Recommended Settings for Large Servers (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
    

    [1.0.5] - 2025-10-23

    Changed

    • Improved config.yml readability: added a descriptive overview header while preserving inline default values (no behavioral changes).
    • Bumped version to 1.0.5.

    [1.0.4] - 2025-10-23

    Changed

    • Bumped version to 1.0.4 and verified PaperMC 1.21.x compatibility.
    • Shaded server artifact is now published as -paper classifier: DupeTrace-1.0.4-paper.jar; development jar uses -dev classifier (no dependencies).
    • Updated README to reflect the -paper jar name and build output path.

    Notes

    • The plugin is built against Paper API 1.21.10-R0.1-SNAPSHOT and Java 21.
    • Final jar includes Kotlin stdlib and database drivers (HikariCP, H2, PostgreSQL); size >5MB is expected.

    [1.0.3] - 2025-10-22

    Fixed

    • Default artifact is now the shaded jar (no '-paper' suffix) so servers won't hit NoClassDefFoundError for Kotlin or other runtime dependencies.
    • Added a friendly startup check that logs a clear error and disables the plugin if runtime dependencies are missing (e.g., when accidentally using the dev jar on a server).

    Changed

    • The development jar is now published with a -dev classifier (renamed from -thin) to make its purpose clearer; most users should use the default shaded jar.

    [1.0.2] - 2025-10-22

    Changed

    • The database table creation code was updated to use a different identity column definition for non-Postgres databases.

    [1.0.1] - 2025-10-22

    Fixed

    • H2 database URL path normalization to comply with H2 2.x; accepts './' or absolute paths and auto-prefixes relative paths to avoid startup failure.

    [1.0] - 2025-10-22

    Added

    • Comprehensive KDoc documentation for all public APIs
    • Configuration validation on plugin startup with warnings for invalid values
    • MIT License
    • .gitignore for proper version control hygiene
    • CHANGELOG.md to track version history

    Changed

    • Fixed version number inconsistency (build.gradle.kts now correctly set to 1.0)
    • Improved error handling: replaced generic Throwable catches with specific Exception types
    • Enhanced error logging for bundle and shulker box tagging operations
    • Updated README.md with user-facing installation and configuration guide

    Removed

    • Non-functional placeholder code in DupeTrace.kt onEnable() method

    [0.8] - 2025-10-22

    Added

    • Creative mode duplicate handling with allow-creative-duplicates configuration option
    • Creative context tracking for duplicate detection
    • Enhanced item tagging logic for Shulker Box and Bundle contents
    • [CREATIVE] tag in logs and alerts for duplicates created in Creative mode

    Changed

    • Refined event handling for better Creative mode detection
    • Updated duplicate detection to respect Creative mode context

    [0.7] - 2025-10-22

    Added

    • Advanced duplicate management configuration options:
      • movement-grace-ms: Grace period to avoid false positives during rapid legitimate moves (default: 750ms)
      • known-items-ttl-ms: Time-to-live for in-memory item tracking to prevent memory growth (default: 10 minutes)
      • duplicate-alert-debounce-ms: Minimum interval between duplicate alerts for the same item (default: 2000ms)
    • Periodic cleanup task for in-memory known items based on TTL
    • Enhanced duplicate detection logic with shulker box content scanning

    Changed

    • Optimized event handling for better performance
    • Improved in-memory item tracking with automatic TTL-based cleanup
    • Mitigated false positives with configurable grace period

    [0.6] - 2025-10-22

    Added

    • keep-oldest-on-dup-remove configuration option to prefer keeping the item with the earliest recorded interaction when auto-removing duplicates
    • Database query method getEarliestTransferTs() to determine the earliest player interaction with an item
    • Expanded event tracking for more comprehensive duplicate detection

    Changed

    • Improved async database write methods for better concurrency
    • Enhanced duplicate removal logic to support oldest-first policy
    • Cleanup of edge cases in event handlers

    [0.5] - 2025-10-22

    Added

    • Expanded duplicate detection with additional event handlers
    • Enhanced logging for better debugging and audit trails

    Fixed

    • H2 database configuration typo corrected

    [0.4] - Initial ActivityListener Release

    Added

    • ActivityListener for extensive event tracking and duplicate detection
    • Database logging for item activities and transfers
    • Periodic inventory scanning with configurable intervals
    • Configuration options in config.yml:
      • alert-admins: Toggle for admin alerts
      • scan-interval: Configure periodic scan frequency
    • Transfer logging support in DatabaseManager

    Changed

    • Refined DupeTestCommand messaging

    [0.3] - Initial Release

    Added

    • Core duplicate detection system using per-item UUIDs
    • Database persistence (H2 and PostgreSQL support)
    • HikariCP connection pooling
    • Item tagging with persistent data containers
    • Basic event listeners for inventory interactions
    • /dupetest command for testing
    • Permission system (dupetrace.admin, dupetrace.alerts)
    • Configuration file with duplicate detection settings

Совместимость

Minecraft: Java Edition

Платформы

Сведения

Лицензия:MIT
Опубликован:7 месяцев назад
Обновлён:6 месяцев назад
ID проекта:
Главная