- Minecraft Versions
- 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20
Description of the MySQL Player Data Bridge Plugin
The MySQL Player Data Bridge plugin allows you to bridge between servers and synchronize player data using a database. You can easily transfer data such as player balance, health and hunger levels, game mode, coordinates, experience, potion effects, armor and its durability. This is not a complete list of all the features of the plugin and the data that it can save.
features of the MySQL Player Data Bridge plugin
How does MySQL Player Data Bridge work?
It listens for events when a player connects and leaves the server, so the data in mysql is synchronized to be shared across multiple servers. When a player leaves the server, the plugin loads the players' data into the mysql database. When a player joins a server, the plugin checks the mysql database for their account and syncs it with the server they just joined.
What can be synced?
You can share any data stored in the player.dat file, as well as share the balance of the player's economy.
Inventory and armor of players
You can transfer any item and any slot from the player's inventory. Also, since the armor is part of the player's inventory, you can also transfer the armor.
The selected hotbar slot will also be available if inventory sync is enabled.
Game mode
You can share the game mode of players on different servers. (Survival; Creative; Adventure and Observer)
Enderchest players
You can also transfer anything stored inside the player's ender chest.
Players get experience points and levels
You can transfer the experience of the players.
You can transfer Effects from players' potions.
Player health level
You can transfer the health of the player, no matter what size, even if you have a plugin to increase health.
Player food and satiety levels
Food and satiety levels can also be synchronized.
Player level in flight
Since the players with the fly are also stored in the player.dat file, you can also pass the data if necessary.
Location of the players
Synchronization of the location of players on servers. This can be very useful on mirror servers. It synchronizes world location, X Y Z coordinates, . You can also sync player spawn locations.
Player spawn location
Synchronize where players spawn. It synchronizes world location, X Y Z coordinates.
Economic (monetary) player accounts
It is not stored in the player.dat file, but the exchange of player money is very necessary. The plugin supports any economy system that is compatible with Vault, so you don't even need to have the same economy plugin on all the servers you will transfer player data to.
MySQL Player Data Bridge dependencies
MySQL database
(Optional) Vault
(Optional) Any economic system compatible with Vault - (only required for sharing economic accounts)
MySQL Player Data Bridge Installation Instructions
Note. You need to install this plugin on all bukkit/spigot servers you want to sync data to and configure them to use the same database.
Place the plugin in your server's plugins folder and make sure you have all the dependencies.
Start the server to generate the configuration, then stop the server.
Open the configuration and configure the database connection details and set up the plugin. You need to create a database, then the plugin will create the tables itself.
Start the server. Done, enjoy. Your player data will be available on any number of servers.
MySQL Player Data Bridge plugin permissions
MPDB.moderator - allows you to use commands for editing inventory, armor and ender chest, as well as check and set balance commands. Default OP.
MPDB.moderator.inventory - allows you to open and edit other resources. Default OP.
MPDB.moderator.armor - Allows you to open and edit someone else's armor. Default OP.
MPDB.moderator.enderchest - Allows you to open and edit enderchest data. Default OP.
MPDB.admin - enable the use of configuration reload and data import commands. Default OP.
MPDB.cmd.enderchest - Access to open your enderchest with /mpdb end command. Default OP
MPDB.cmd.enderchest.others - Access to view other players' ender chests without edit rights.
MPDB.cmd.inventory.others - access to view someone else's inventory without editing rights.
Commands and rights to them for the MySQL Player Data Bridge plugin
Useful information about MySQL Player Data Bridge
Problems with players not having the same UUID when changing servers?
You need to make sure that all players have the same UUID on all servers, this is important because player data is stored based on their UUID, not their nickname. To have the same UUID on all servers, make sure that in the server config file spigot.
yml on:settings>bungeecord:true this will allow the server to get the player's UUID from bungeecord and all servers will get the same UUID. Make sure you have bungeecord: true on all spigot servers.
Problems with saving data when kicking all players before restarting / shutting down the server?
Removing all players before shutting down/restarting the server can cause problems because when the plugin shuts down the server, all asynchronous tasks in progress are cancelled. Normally when a player disconnects or unloads, their data is saved asynchronously to keep up with the server, but when you kick all players it becomes a problem, as if the data save was not completed for all players, when you make/stop the server, their cancel! If you don't kick players before shutting down, the plugin will save their data on the main thread, so the server will wait for all data to be saved before shutting down.
If you still need to remove all players before shutting down, use the /mpdb saveAndKick command, it will save all data and remove all players for you in a secure manner. Also, this plugin will save players data and run it when you run a stop or restart command, so you don't need to disable it with other plugins as it will save all data safely.
Dupe issues with pvp logger plugins?
This plugin was made to support most pvp logger plugins, however due to how sync works it will not be compatible with plugins that spawn a fake player when the real player is disconnected in a pvp action.
The plugin will work fine if you just kill the disconnected player to reset their inventory and sync the changes.
You can install this plugin at any time.
Installing this plugin will not reset money, inventory, or any of your player data, so it can be installed at any time without losing existing player data.
The plugin will first load the players data into mysql, after which the existing data will be the same on all servers you want to sync. You can also use the /mpdb importData command to import data from a server for synchronization on all other servers.
Modified items NBT data support.
Full data saving on NBT subjects. This should cover any item data.
The MySQL Player Data Bridge plugin allows you to bridge between servers and synchronize player data using a database. You can easily transfer data such as player balance, health and hunger levels, game mode, coordinates, experience, potion effects, armor and its durability. This is not a complete list of all the features of the plugin and the data that it can save.
features of the MySQL Player Data Bridge plugin
- Premium UUID and Offline UUID support for Spigot 1.7.5 up to latest version.
- Support without UUID for 1.6.4 and 1.7.2.
- Works on Cauldron / KCauldron / Thermos 1.7.10 servers.
- Works on MCPC Plus 1.6.4 servers.
- Only MySQL database is supported.
- Share player data between servers.
- Everything can be configured using the plugin configuration file.
- Supports any economy system that works with Vault.
- Support for Essentials Economy Eco commands.
- Support for ChestShop plugin for offline sales / purchase orders. (Only for UUID compatible servers).
- Support for QuickShop or QuickShop Reremake plugins for offline sales. (Only for UUID compatible servers).
- Shop plugin support for offline sales / purchase orders. (Only for UUID compliant servers).
- AuctionHouse plugin support for offline auctions. (Only for UUID compatible servers).
- Support for the CrazyAuctions plugin for offline auctions. (UUID compliant servers only. Own version of plugin required. Download here).
- Support for the zAuctionHouse plugin for offline auctions. (Only for UUID compatible servers).
- ShopChest plugin support for sales/buy orders. (Only for UUID compatible servers).
- Support for the PlayerShopGUI+ plugin for offline sales. (Only for UUID compatible servers).
- Support for CMI plugin for offline rebalancing. (Only for UUID compatible servers).
- Support for MobArena, DungeonsXL and Parkour plugins to avoid saving incorrect data.
- Complete NBT data retention. Full support for items from mods.
- Database maintenance options to remove inactive players.
- Coded to use as few resources as possible and almost everything runs asynchronously from the main server thread to prevent any server/tps delays.
- Commands for reloading a configuration, importing data, and more.
- Can delete folders and files when shutting down or restarting the server.
- For example, with this plugin, you can delete the PlayerData folder since the data is stored in MySQL.
- Custom commands for new players after sync is complete.
- The API is available with events so you can integrate your plugins with it.
How does MySQL Player Data Bridge work?
It listens for events when a player connects and leaves the server, so the data in mysql is synchronized to be shared across multiple servers. When a player leaves the server, the plugin loads the players' data into the mysql database. When a player joins a server, the plugin checks the mysql database for their account and syncs it with the server they just joined.
What can be synced?
You can share any data stored in the player.dat file, as well as share the balance of the player's economy.
Inventory and armor of players
You can transfer any item and any slot from the player's inventory. Also, since the armor is part of the player's inventory, you can also transfer the armor.
The selected hotbar slot will also be available if inventory sync is enabled.
Game mode
You can share the game mode of players on different servers. (Survival; Creative; Adventure and Observer)
Enderchest players
You can also transfer anything stored inside the player's ender chest.
Players get experience points and levels
You can transfer the experience of the players.
You can transfer Effects from players' potions.
Player health level
You can transfer the health of the player, no matter what size, even if you have a plugin to increase health.
Player food and satiety levels
Food and satiety levels can also be synchronized.
Player level in flight
Since the players with the fly are also stored in the player.dat file, you can also pass the data if necessary.
Location of the players
Synchronization of the location of players on servers. This can be very useful on mirror servers. It synchronizes world location, X Y Z coordinates, . You can also sync player spawn locations.
Player spawn location
Synchronize where players spawn. It synchronizes world location, X Y Z coordinates.
Economic (monetary) player accounts
It is not stored in the player.dat file, but the exchange of player money is very necessary. The plugin supports any economy system that is compatible with Vault, so you don't even need to have the same economy plugin on all the servers you will transfer player data to.
MySQL Player Data Bridge dependencies
MySQL database
(Optional) Vault
(Optional) Any economic system compatible with Vault - (only required for sharing economic accounts)
- Vault is required to sync economic accounts.
- ProtocolLib is only required for Cauldron / KCauldron servers!
MySQL Player Data Bridge Installation Instructions
Note. You need to install this plugin on all bukkit/spigot servers you want to sync data to and configure them to use the same database.
Place the plugin in your server's plugins folder and make sure you have all the dependencies.
Start the server to generate the configuration, then stop the server.
Open the configuration and configure the database connection details and set up the plugin. You need to create a database, then the plugin will create the tables itself.
Start the server. Done, enjoy. Your player data will be available on any number of servers.
MySQL Player Data Bridge plugin permissions
MPDB.moderator - allows you to use commands for editing inventory, armor and ender chest, as well as check and set balance commands. Default OP.
MPDB.moderator.inventory - allows you to open and edit other resources. Default OP.
MPDB.moderator.armor - Allows you to open and edit someone else's armor. Default OP.
MPDB.moderator.enderchest - Allows you to open and edit enderchest data. Default OP.
MPDB.admin - enable the use of configuration reload and data import commands. Default OP.
MPDB.cmd.enderchest - Access to open your enderchest with /mpdb end command. Default OP
MPDB.cmd.enderchest.others - Access to view other players' ender chests without edit rights.
MPDB.cmd.inventory.others - access to view someone else's inventory without editing rights.
Commands and rights to them for the MySQL Player Data Bridge plugin
/mpdb
and /mpdb help
- Display command help/mpdb reload
- MPDB.admin - Reload plugin configuration./mpdb saveAndKick
- MPDB.admin - Remove all players and save their data./mpdb importData
- MPDB.admin - Import existing player data into the database, skip users that are already in the database. It will import data from modules included in config./mpdb importData <name>
- MPDB.admin - will only import data for the specified player, if the player is already saved in the database, it will be overwritten./mpdb delete <name>
- MPDB.admin - Delete a player from the database./mpdb inv <name>
- MPDB.moderator - Open and edit the player's inventory./mpdb armor <name>
- MPDB.moderator - View and edit the player's armor./mpdb end
- MPDB.cmd.enderchest - Open your enderchest with command./mpdb end <name>
- MPDB.moderator - View and edit the end player's chest./mpdb ecoBal <name>
- MPDB.moderator - View the player's balance./mpdb ecoSet <name> <amount>
- MPDB.moderator - Change player's balance./mpdb ecoAdd <name> <amount>
- MPDB.moderator - Add money to the player's balance./mpdb ecoTake <name> <amount>
- MPDB.moderator - Remove money from the player's balance./mpdb getXp <name>
- MPDB.moderator - View player experience and level./mpdb setXp <name> <exp>
- MPDB.moderator - Set xp or player level./mpdb addXp <name> <exp>
- MPDB.moderator - Add or remove experience or levels from a player.Useful information about MySQL Player Data Bridge
Problems with players not having the same UUID when changing servers?
You need to make sure that all players have the same UUID on all servers, this is important because player data is stored based on their UUID, not their nickname. To have the same UUID on all servers, make sure that in the server config file spigot.
yml on:settings>bungeecord:true this will allow the server to get the player's UUID from bungeecord and all servers will get the same UUID. Make sure you have bungeecord: true on all spigot servers.
Problems with saving data when kicking all players before restarting / shutting down the server?
Removing all players before shutting down/restarting the server can cause problems because when the plugin shuts down the server, all asynchronous tasks in progress are cancelled. Normally when a player disconnects or unloads, their data is saved asynchronously to keep up with the server, but when you kick all players it becomes a problem, as if the data save was not completed for all players, when you make/stop the server, their cancel! If you don't kick players before shutting down, the plugin will save their data on the main thread, so the server will wait for all data to be saved before shutting down.
If you still need to remove all players before shutting down, use the /mpdb saveAndKick command, it will save all data and remove all players for you in a secure manner. Also, this plugin will save players data and run it when you run a stop or restart command, so you don't need to disable it with other plugins as it will save all data safely.
Dupe issues with pvp logger plugins?
This plugin was made to support most pvp logger plugins, however due to how sync works it will not be compatible with plugins that spawn a fake player when the real player is disconnected in a pvp action.
The plugin will work fine if you just kill the disconnected player to reset their inventory and sync the changes.
You can install this plugin at any time.
Installing this plugin will not reset money, inventory, or any of your player data, so it can be installed at any time without losing existing player data.
The plugin will first load the players data into mysql, after which the existing data will be the same on all servers you want to sync. You can also use the /mpdb importData command to import data from a server for synchronization on all other servers.
Modified items NBT data support.
Full data saving on NBT subjects. This should cover any item data.