▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/DupeTrace is now AntiDupePro
DupeTrace is now AntiDupePro

DupeTrace is now AntiDupePro

Please switch over to AntiDupePro - Twice as Good!

Оцените первым
164
3
Все версииDupeTrace 1.1.0

DupeTrace 1.1.0

Release23.10.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

Файлы

DupeTrace-1.1.0-paper.jar(3.75 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.1.0

Загрузчики

Paper

Версии игры

1.21.10

Загрузок

52

Дата публикации

23.10.2025

Загрузил

ID версии

Главная