PlayerDataSync
No reviews yet
Seamless Cross-Server Player Data Synchronization
Forge is a popular mod loader for versions 1.1+ of Minecraft.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Paper is a fork of Spigot that adds its own plugin API on top of the Bukkit API. All Spigot plugins are compatible with paper, not all paper plugins are compatible with Spigot.
Spigot is a popular software for running dedicated servers that can load Plugins created with the Bukkit API.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
🧩 PlayerDataSync
Seamless Cross-Server Player Data Synchronization
Keep inventories, Ender Chests, XP, health, attributes and more synchronized across every server in your network.
🚀 Overview
PlayerDataSync keeps player data synchronized across every server in your Minecraft network.
Whether players move between Survival, Lobby, Creative, SkyBlock, Minigames or anything else, their progress follows them automatically.
No manual file transfers. No duplicated inventories. No lost progress.
Player data lives in one shared database. With Redis enabled, changes propagate between servers the moment they happen — your network behaves like a single world.
✨ What Gets Synchronized
Every entry is an individual toggle, so you decide exactly what travels with your players.
| Category | Included |
|---|---|
| Items | Inventory, Ender Chest, selected hotbar slot |
| Progression | Experience, levels, advancements, statistics |
| Vitals | Health, absorption, hunger, saturation, exhaustion, air, fire ticks, freeze ticks, arrows in body |
| State | Game mode, flight, walk & fly speed, fall distance, player time, player weather |
| Advanced | Attributes, Persistent Data Container, Vault economy balance |
| Optional | Location (disabled by default — see below) |
📍 About location sync
Location sync teleports players to their stored position on join. It ships disabled (sync.location: false), because it only makes sense when the destination server has a world of the same name. If that world is missing, the restore is skipped with a log warning instead of dropping the player somewhere wrong.
🧰 More Than Just Sync
- 🔴 Redis live sync — propagate changes between servers instantly instead of waiting for the next join
- 🔐 AES encryption — encrypt stored profiles with your own key
- 💾 Automatic backups — compressed snapshots before data is overwritten
- 🔁 Storage migration — move between MySQL, MariaDB, PostgreSQL and MongoDB with one command
- ⬆️ Legacy import — bring profiles over from the original PlayerDataSync
- 📤 Import / export — move individual player profiles in and out
- 💬 Discord webhooks — notifications for sync successes and failures
- ⏱️ Autosave — periodic saves as a crash safeguard
- 🚫 Exclusions — skip specific worlds or specific item types
- 📊 bStats & FastStats metrics
- 🧩 Developer API — events and Persistent Data Container hooks for your own plugins
🌟 Why PlayerDataSync?
Running player data across multiple servers without proper synchronization leads to:
- Lost inventories
- Item duplication
- Missing experience
- Inconsistent progress
PlayerDataSync removes those failure modes by synchronizing automatically whenever data changes.
Benefits
- ✅ One shared player profile across your whole network
- ✅ Instant propagation with Redis
- ✅ Four database backends to choose from
- ✅ Asynchronous — the main thread stays free
- ✅ Skips redundant saves when nothing changed
- ✅ Open source (MIT) and actively maintained
🧱 Supported Platforms
| Component | Supported |
|---|---|
| Minecraft | 1.20 – 26.2 |
| Server software | Paper, Spigot, Fabric, Velocity (proxy bridge) |
| Java | 21+ — Minecraft 26.x servers require Java 25 |
| Database | MySQL, MariaDB, PostgreSQL, MongoDB |
The download is the Paper/Spigot plugin. The Fabric and Velocity builds are bundled inside it under bundled/ — extract whichever you need.
Please note:
- Fabric is not yet at feature parity. Advancements and statistics are not synchronized on Fabric. The 1.20 and 1.21 Fabric builds additionally lack Ender Chest, potion effects and attributes; the 26.x builds have those.
- Forge is currently unavailable while its build tooling catches up with the Minecraft 26.x toolchain.
- On Fabric, use MariaDB, PostgreSQL or MongoDB. The MySQL driver is not bundled and mod loaders do not supply one. The MariaDB driver connects to MySQL servers just fine. Paper and Spigot are unaffected.
- SQLite is not supported.
⚙️ Configuration
Full documentation: 👉 https://pds.devvoxel.de/config
- Paper / Spigot:
plugins/PlayerDataSyncReloaded/config.yml - Fabric:
config/playerdatasync.properties, created on first start
storage:
type: "mariadb" # mysql, mariadb, postgres, mongodb
host: "localhost"
port: 3306
database: "minecraft"
username: "root"
password: ""
redis:
enabled: true # strongly recommended for multi-server setups
host: "localhost"
port: 6379
sync:
inventory: true
ender_chest: true
economy: true # requires Vault + an economy plugin
location: false # teleports players on join
💬 Commands & Permissions
Everyday operation is fully automatic — players never touch a command. For administrators, everything lives under /playerdatasync (aliases /pds, /pdasync) behind the playerdatasync.admin permission.
| Command | Description |
|---|---|
/pds status |
Sync statistics, error counters, excluded worlds |
/pds save <player> |
Force-save a player |
/pds saveall |
Force-save everyone online |
/pds load <player> |
Reload a player from storage |
/pds list |
List stored profiles |
/pds backup |
Create a backup |
/pds export / /pds import |
Move profiles in and out |
/pds migrate |
Migrate between storage backends |
/pds toggle |
Toggle syncing at runtime |
/pds debug on|off |
Toggle verbose logging |
/pds reload |
Reload the configuration |
📈 Performance
- ⚡ Asynchronous database operations — the main thread is never blocked
- 🔄 Redundant saves are skipped when the inventory has not changed
- ⏳ Configurable minimum interval between saves
- 💾 Compressed backups
- 📉 Low CPU and memory footprint
Suitable for small communities and large networks alike.
📋 Requirements
- ☕ Java 21+ (Java 25 for Minecraft 26.x servers)
- 🗄️ MySQL, MariaDB, PostgreSQL or MongoDB
- 🧱 Paper, Spigot or Fabric server
- 🌐 Multiple servers pointed at the same database
- 🔴 Redis (optional, recommended) — instant cross-server propagation
- 💰 Vault + an economy plugin (optional) — required for economy sync
🛠️ Support
- 💬 Join our Discord server
- 🐛 Report bugs on GitHub
- 📚 Read the documentation
- 💡 Share feature requests and suggestions
❤️ Credits
Developed with ❤️ by DerGamer09
If PlayerDataSync helps your network, consider leaving a review on SpigotMC, Modrinth, Hangar or BuiltByBit. Your feedback shapes what gets built next.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers