PlayerDataSync [1.20.4-1.21.9] - Cross-Server Data Synchronization icon

PlayerDataSync [1.20.4-1.21.9] - Cross-Server Data Synchronization -----

PlayerDataSync




✨ Added
• Extended Version Support (Minecraft 1.20.4 → 1.21.9)
• Enhanced Message System with placeholders (`{0}`, `{version}`, `{error}` etc.)
• Safe ItemStack deserialization with fallback recovery
• Improved Update Checker with localized console messages

Changed
• Java version upgraded from 17 → 21
• Default target updated to Minecraft 1.21
• All hardcoded messages replaced with localized MessageManager calls
• Better error recovery for version mismatches

Fixed
• Critical ItemStack deserialization error:
"Newer version! Server downgrades are not supported!"
• MessageManager `get()` method errors
• Missing update checker console messages
• Database loading crashes from corrupted inventory data

Security
• Improved ItemStack validation and sanitization
• Safer error handling with graceful degradation

⚡ Performance
• Memory-efficient handling of large ItemStack arrays
• Faster recovery from deserialization failures

✅ Compatibility
• Full support for Minecraft versions 1.20.4 → 1.21.9
• Java 21 required (Java 17 for MC 1.20.4 profile)

⚙ Configuration
• New messages added:
- `loaded`, `load_failed`
- `update_check_disabled`, `update_check_timeout`
- `update_check_no_internet`, `update_download_url`

Commands
• All commands now support localized messages with dynamic parameters

Technical
• Maven build profiles for each supported Minecraft version
• Better logging and diagnostics for version compatibility
• Enhanced exception handling and debugging tools
----------, Sep 27, 2025

✔ Fixed

• Resolved an issue where player inventories, armor, or offhand items could fail to deserialize with
"Newer version! Server downgrades are not supported!".
Inventories now load correctly without throwing errors.

✨ Added

Loaded message: A success message is now displayed when player data is loaded.
Load_Failed message: A clear error message is shown if loading player data fails.

Notes
This improves stability when transferring player data between servers and helps server owners quickly identify loading issues in the console.
----------, Sep 27, 2025


Update v1.1.5-SNAPSHOT
Major improvements with backups, performance enhancements, bug fixes, and more!

[HR][/HR]
✨ Added
  • Backup System – Complete backup and restore functionality
    • Automatic daily backups with configurable retention
    • Manual backup creation via /sync backup create
    • Restore backups via /sync restore <player> [backup_id]
    • SQL dump generation for database backups
    • ZIP compression for file backups
    • Backup listing and management commands
  • Performance Caching – In-memory player data cache
    • Configurable cache size and TTL (Time-To-Live)
    • LRU eviction policy (Least Recently Used)
    • Optional compression for memory optimization
    • Cache statistics and management via /sync cache
  • Enhanced Performance Monitoring
    • Detailed save/load time tracking
    • Connection pool statistics
    • Performance metrics logging
    • Slow operation detection and warnings
  • Improved Update Checker
    • Configurable timeout settings
    • Better error handling for network issues
    • Download link in update notifications
    • User-Agent header for API requests
  • Emergency Configuration System
    • Automatic config file creation if missing
    • Fallback configuration generation
    • Debug information for configuration issues
    • Multi-layer configuration loading approach

[HR][/HR]
Changed
  • Achievement Sync Limits – Increased support for Minecraft’s 1000+ advancements
    • MAX_COUNT_ATTEMPTS: 1000 → 2000
    • MAX_ACHIEVEMENTS: 1000 → 2000
    • MAX_PROCESSED: 2000 → 3000
    • Large amount warning threshold: 500 → 1500
  • Database Performance
    • Enhanced connection pooling
    • Exponential backoff for connection acquisition
    • Increased total timeout to 10 seconds
    • Better connection pool exhaustion handling
  • Inventory Utilities
    • Improved ItemStack sanitization and validation
    • Better corrupted data handling
    • Enhanced Base64 serialization and deserialization
  • Configuration Management
    • Multiple fallback mechanisms
    • Emergency configuration creation
    • Better error diagnostics and logging

[HR][/HR]
Fixed
  • Critical Achievement Bug – Fixed infinite loop in advancement counting
    • Added hard limits to prevent server freezes
    • Implemented timeout-based processing
    • Better error handling and logging
  • Database Parameter Error
    • Fixed "No value specified for parameter 20" issue
    • Corrected SQL REPLACE INTO statement
    • Added missing advancements and server_id parameters
  • Slow Save Detection
    • Optimized achievement serialization for large data sets
    • Reduced processing time with batch operations
    • Implemented performance monitoring with timeouts
  • Configuration Loading
    • Fixed empty config.yml issue
    • Added fallback configuration mechanisms
    • Improved resource loading handling
  • Compilation Errors
    • Added missing imports (java.io.File, java.io.FileWriter)
    • Resolved date ambiguity in BackupManager
    • Fixed nested try-catch block issues

[HR][/HR]
Security
  • Improved ItemStack sanitization and data validation
  • Enhanced audit logging for security events
  • Better error recovery for corrupted data

[HR][/HR]
⚡ Performance
  • Cache compression and TTL management
  • Optimized database efficiency with connection pooling and batching
  • Non-blocking asynchronous backup and save operations
  • Improved memory and resource cleanup

[HR][/HR]
Compatibility
  • Full support for Minecraft 1.21.5
  • Maintained legacy support for 1.20.x
  • Compatible with MySQL, SQLite, and PostgreSQL
  • Proper API version handling

[HR][/HR]
⚙️ Configuration
  • performance.cache_ttl – Cache time-to-live in milliseconds
  • performance.cache_compression – Enable or disable cache compression
  • update_checker.timeout – Connection timeout for update checks
  • performance.max_achievements_per_player – Increased to 2000
  • server.id – Unique server identifier for multi-server setups

[HR][/HR]
️ Commands
  • New Commands
    • /sync backup create – Create a manual backup
    • /sync restore <player> [backup_id] – Restore a player from a backup
    • /sync cache clear – Clear performance cache
  • Enhanced Commands
    • /sync cache – Now shows performance and connection pool statistics
    • /sync status – Improved status reporting
    • /sync reload – Better configuration reload handling

[HR][/HR]
Technical Details
  • Improved error handling and logging
  • Better memory and resource management
  • Enhanced diagnostic information for debugging
  • More robust exception handling and recovery

[HR][/HR]

Download: Click here
Support: Join our Discord

----------, Sep 5, 2025

Dieses Update behebt einen kritischen Fehler der neuen Attribute-Synchronisation in v1.1.1-SNAPSHOT.
Der Fehler führte dazu, dass beim PlayerQuitEvent Exceptions geworfen wurden, wenn Attribute-Daten gespeichert werden sollten.
Zusätzlich wurden Stabilitäts-Verbesserungen integriert, um Multi-Version-Support sicherzustellen.

Bug Fixes
  • IncompatibleClassChangeError beim PlayerQuitEvent behoben
    → Ursache: Unterschiede zwischen Build- und Runtime-Paper-API
    → Lösung: Attribute-Sync neu kompiliert & Multi-Version-Fallback eingebaut
  • Attribute-Sync schlägt nun nicht mehr fehl, sondern wird auf nicht unterstützten Versionen automatisch deaktiviert
  • Verbesserte Fehlerbehandlung in DatabaseManager.serializeAttributes()

Verbesserungen
  • Mehr Stabilität für Attribute-Sync (Kompatibilität Paper 1.21+)
  • Fallback-Mechanismus mit Warnung im Log statt Plugin-Abbruch
  • Logging erweitert, damit Admins sofort sehen, wenn Attribute nicht unterstützt werden

Hinweise
  • Nutzer von v1.1.1-SNAPSHOT sollten unbedingt auf v1.1.2-SNAPSHOT updaten
  • Attribute-Sync ist jetzt optional und stürzt den Server nicht mehr ab
  • Voll kompatibel mit Paper 1.21.1+
----------, Aug 27, 2025

Dieses Update bringt zahlreiche Verbesserungen in Stabilität, Performance und Funktionalität.
Der kritische Fehler "`Data too long for column 'advancements'`" wurde behoben und das Plugin wurde um viele neue Features erweitert.
Außerdem gibt es umfangreiche Optimierungen für die Datenbank, Fehlerbehandlung, Logging und Konfiguration.

Behobene Bugs
  • Advancement Data Truncation Error: Datenbank-Schema auf LONGTEXT geändert, automatische Migration, Längenvalidierung und bessere Fehlerbehandlung
  • Database Connection Leaks: Connection Pool, try-with-resources Fixes und automatisches Rückführen von Connections
  • Memory Leaks: Korrekte Task-Cancellation, verbesserte Resource-Verwaltung und Cleanup in onDisable()
  • Async/Sync Issues: Race Conditions behoben durch synchrones PlayerQuit und delayed PlayerJoin
  • Achievement Loading Performance: 25+ Sekunden Lag bei großen Mengen gefixt, Batch-Processing & Async Loading

Neue Features
  • Erweiterte Sync-Optionen: Armor, Offhand, Effects, Statistics, Attributes
  • Datenbank Features: Server ID, Last Save Timestamp, Connection Pooling, Automatische Schema-Migration
  • Event-basiertes Speichern: Save bei WorldChange & Death Event (konfigurierbar)
  • Enhanced Error Handling: Retry Logic, SQLite Fallback, detaillierte Logs

Performance Verbesserungen
  • Connection Pooling mit Monitoring
  • Optimierte Serialisierung & Streaming
  • Asynchrone Verarbeitung von Saves/Loads
  • Achievement Optimierungen mit Batch-Processing (50 pro Batch)

Verbesserte Konfiguration
  • Automatische Validierung aller Einstellungen
  • Fallback auf Standardwerte bei Fehlern
  • Erweitertes Message System (Fallback auf Englisch, bessere Fehlertexte)
  • Logging Verbesserungen (Audit-Trail, Debug-Modus, Performance-Monitoring)

Sicherheit & Stabilität
  • Data Integrity Checks & Sanitization
  • Graceful Shutdown mit vollständigem Save aller Spieler
  • Datenbank-Reliability: Auto-Reconnect, SSL, Timeout-Handling

Monitoring & Debugging
  • Performance Metrics & Slow-Operation Warnings
  • Strukturierte Logs mit verschiedenen Log-Leveln
  • Health Checks für Database & Plugin-Status

Kommende Features (Geplant)
  • Multi-Server Sync (BungeeCord Integration)
  • Data Compression für große Datenmengen
  • Backup System für Player-Daten
  • Web Interface für Admins
  • Integration: LuckPerms, Vault, PlaceholderAPI
  • Data Migration Tools (Import/Export)

Installation & Update
  1. Backup erstellen
  2. Alte .jar ersetzen
  3. Server neustarten
  4. Config prüfen (neue Optionen werden automatisch hinzugefügt)
  5. Database Migration läuft automatisch beim Start

⚠️ Hinweise
  • Backup der Datenbank ist dringend empfohlen
  • Performance-Verbesserungen durch Connection Pooling
  • Kompatibel mit Minecraft 1.21+
  • Automatisches Memory-Monitoring integriert
----------, Aug 27, 2025

✅ What’s New
• Added admin/utility commands:
/pds backup – trigger a manual backup
/pds status – quick health/status overview
/pds sync – force a resync on demand
• Introduced enhanced core classes for cleaner architecture:
PlayerDataSyncEnhanced, DatabaseManagerEnhanced, SyncCommandEnhanced

Improvements
• Major refactor/simplification of codebase (large net removal of legacy lines)
• More robust database handling & command flow
• General stability and maintainability improvements

Fixes
• Various bug fixes discovered during refactor and command rework

Notes
• Back up your database before updating
• Replace the old JAR and restart the server
• Review new commands and permissions if applicable
----------, Aug 25, 2025

✅ Fixed
  • Various stability improvements and minor bug fixes from previous versions.

✨ Added
  • Color Code Support in configuration files:
    You can now use &-codes (&e = Yellow, &a = Green, &c = Red, etc.) directly inside your messages.yml and config.yml.
  • Achievements Synchronization:
    Player achievements are now fully synced across servers in your network.

Notes
  • Use standard Minecraft color codes (&0–&9, &a–&f, &l, &n, &o, &m, &r).
  • Example:
    Code (Text):
    &eWelcome back, &a%player%!
    will display as:
    Welcome back, %player%!


Code Color
&0 Black
&1 Dark Blue
&2 Dark Green
&3 Dark Aqua
&4 Dark Red
&5 Dark Purple
&6 Gold
&7 Gray
&8 Dark Gray
&9 Blue
&a Green
&b Aqua
&c Red
&d Light Purple
&e Yellow
&f White


Style Code Effect
&l Bold
&n Underline
&o Italic
&m Strikethrough
&r Reset
----------, Aug 1, 2025

What's New in v1.0.7-SNAPSHOT
• DB Reconnect after timeout – automatic reconnection to your database if the connection times out.
• Improved overall stability.
• Minor internal code optimizations.

[​IMG]
[​IMG]
[​IMG]

Features
• Inventory synchronization
• Ender chest synchronization
• XP and level sync
• Health & hunger sync
• Potion effects and gamemode sync
• Location synchronization (optional)
• Fully configurable data types
• Automatic database reconnect (new!)

⚙️ Requirements
• Java 17 or higher
• Supported Minecraft versions: 1.21 – 1.21.7
• MySQL or MariaDB database

Installation
1️⃣ Download the plugin JAR file.
2️⃣ Place it into your `/plugins` folder.
3️⃣ Configure the `config.yml` and database settings.
4️⃣ Restart your server and enjoy seamless player data syncing!

Support & Feedback
For support, feature requests, or to report bugs, please use our Discord Server or write directly on this resource page.

⭐ Enjoy using PlayerDataSync? Leave a review!

⏬ Download Here
----------, Jul 10, 2025

CI Fixed
----------, Jul 9, 2025

In this update, bStats integration has been added.
You can now enable or disable it in the config file ( true or false) as you prefer.

✅ What's New
• bStats support added
• Config option to enable or disable bStats ( true or false)

Thank you for your continued feedback and support!
----------, Jul 6, 2025

In this update, a bug has been fixed and a requested feature has been added.
✅ What's New
• Permissions for Saving and Loading messages:
Code (Text):

playerdatasync.message.show.loading
playerdatasync.message.show.saving
 
Players without these permissions will no longer see the "Saving..." or "Loading..." messages, allowing for a cleaner and more immersive experience (e.g., in adventure or minigame setups).

Enjoy the update and thank you for your feedback!
----------, Jul 6, 2025

✨ New Features
  • Sync settings in config.yml
    You can now individually enable or disable specific data to sync!
    Example: coordinates, XP, gamemode, enderchest, inventory, health, hunger, position, etc.
    → Perfect if you want to keep locations separate between servers!
  • Multi-language support for messages
    Now supports:
    • messages_en.yml
    • messages_de.yml
    Easily customize and translate all messages.

Improvements
  • Improved performance during data sync
  • Fixed minor bugs with MySQL integration
  • Better logging for easier debugging

⚙️ Important
Make sure to check and adjust your new config.yml sync settings after updating.
Recommended: run /pds reload or restart your server once after updating.

Download & CI Build: http://ci.devvoxel.net/job/PlayerDataSync/
Feedback & Feature Requests: Feel free to DM me or post in the Discord channel!
----------, Jul 4, 2025

PlayerDataSync v1.0.3 Update

What's New:

Enhanced Compatibility
• Fixed bStats integration issues
• Improved version compatibility checks
• Better error handling for database operations
• Added support for Minecraft 1.20.4

Technical Improvements
• Fixed bStats metrics relocation
• Improved database connection stability
• Enhanced error logging
• Better exception handling

Core Features
• Inventory synchronization
• Ender Chest synchronization
• Experience points sync
• Health & Food level sync
• Location synchronization
• Potion effects sync
• Game mode sync

Bug Fixes:
• Fixed bStats initialization error
• Resolved API version compatibility issues
• Improved database connection handling
• Enhanced error messages for troubleshooting

Compatibility:
• Minecraft 1.20.4
• Java 17 or higher
• MySQL database

How to Update:
1. Stop your server
2. Delete the old PlayerDataSync.jar
3. Upload the new PlayerDataSync.jar
4. Start your server
5. Check console for successful startup message

Configuration:
• No changes to existing config.yml
• All existing settings remain compatible
• No need to regenerate configuration files

Known Issues:
• None reported

Thank you for using PlayerDataSync!
If you encounter any issues, please report them in the comments below.

Don't forget to ⭐ rate the plugin if you find it useful!
----------, Apr 15, 2025

PlayerDataSync v1.0.2 Update

What's New:

Extended Version Support
• Added support for Minecraft 1.20.4
• Added support for Minecraft 1.21.5
• Now compatible with all versions from 1.20.4 to 1.21.5

New Features
• Ender Chest synchronization
• Location synchronization (world, coordinates, view direction)
• Potion Effects synchronization
• Improved error handling and logging

Technical Improvements
• Better database connection handling
• Enhanced data serialization
• Improved performance
• More detailed error messages

Monitoring & Statistics
• Added bStats integration
• Better performance tracking
• Improved logging system

Bug Fixes:
• Fixed database connection issues
• Improved error handling for missing data
• Fixed inventory serialization problems
• Resolved location teleportation issues

How to Update:
1. Stop your server
2. Backup your current configuration
3. Replace the old JAR file with the new one
4. Start your server

Configuration Changes:
• No changes to existing configuration
• New features work with existing setup
• Backward compatible with previous versions

Known Issues:
• None reported

Future Plans:
• More synchronization features
• Additional language support
• Performance optimizations

Thank you for using PlayerDataSync!

Report any issues or suggestions in the comments below
----------, Apr 15, 2025

MySQL Player Sync – Update!

Multi-language support & improvements!


What's New?
  • Multi-Language Support!
    Now you can choose between English (en) and German (de) in config.yml!

    language: "en" # Available: "en", "de"
  • Optimized MySQL Performance
    • Faster queries for saving/loading player data
    • Improved error handling
  • Database Auto-Setup
    • The plugin will now automatically create the required database tables if they don't exist!

️ How to Update?
  1. [] Download the latest version
    [
    ] Replace the old .jar file in your /plugins/ folder
    [] Restart your server
    [
    ] Edit the config.yml to set your preferred language



❓ Need Help?
Have questions or found a bug? Let us know in the discussion!​
----------, Mar 10, 2025

Resource Information
Author:
----------
Total Downloads: 1,371
First Release: Mar 9, 2025
Last Update: Sep 27, 2025
Category: ---------------
All-Time Rating:
2 ratings
Find more info at docs.devvoxel.net...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings