MySQL Sync
Sync the data of your Players between several Spigot/Paper and also Folia Servers for free with MySQL Sync and a MySQL/MariaDB/MongoDB Database. But also just save the data of your Players in a Database.
You will need a MySQL/MariaDB/MongoDB Server and one or more Minecraft Servers on which you would like to sync the data of Players. It won't need ANY system on your Proxy.
If you need any help with this plugin please use the Pixelation Games Support Server.
Features
Syncs the following things from the Players:
- Inventory
- EnderChest
- EXP
- GameMode
- Hunger
- Health
- Effect
- Advancements
- Statistics
There is also a Command for Infos of the Version, etc. and to reload the Plugin Config/MySQL connection. You can chose, which things you wan't to be synced between the Servers and which you don't want.
Multiple Languages supported:
- English
- German
- Norwegian
- Russian
- Swedish
- Chinese (Simplified)
- Japanese
NEW: Sync the data not only between Spigot/Paper Servers, but also Folia Servers.
Required Things to Setup
- One MySQL OR MariaDB OR MongoDB Server
- One or more Minecraft Servers
Installation and Configuration
Download the plugin.
Place into your plugins folder on two or more servers.
Restart your server (or reload plugins)
The plugin will make a folder called MySQL-Sync. Open that folder.
Check config.yml and edit to be what you want.
Also you need to edit the MySQL credentials in the config.yml
Restart your server (or reload plugins)
Done!
Please write a review (if you like this plugin)!
Updating
Download the Version you wan't to update to.
Place it into your plugins folder on ALL Servers you have installed MySQL Sync.
Delete the older Versions in ALL plugin folders, you have put the newer Versions in.
Make a Backup of your old Config files, just in case something does not work right.
Restart your server (or reload plugins) (The Plugin will reload the Config so it will get all your pre configured values from the Version before, will delete the old config, create a new one and put all your old values into it.)
Check config.yml and edit to be what you want.
Also you need to edit the MySQL credentials in the config.yml
Restart your server (or reload plugins, or use /sync reload)
Done, you now have a newer Version of the Plugin installed!
To Do
- Add world sync limitation (Only sync on these worlds, and this world is another db, such things)
- Add auto updater for MySQL
- Add ways to manage player data
- Add ability to load all player data from world into database
- Make API bigger
Done:
- Add Command
- Add Settings to Disable/Enable specific Syncing.
- Add auto updater for Config
- Add Player Effect Sync
- Add Advancement Sync
- Add Stats Sync
- Add MongoDB
- Add Translation Feature
- Add Folia Support
Source Code and Bugs Source code can be found here. Before reporting a Bug or ginving the Plugin a bad review, please check out our known Issues Page here. We will fix the Issues that are known in every new update.
Stats Disclosure This plugin utilizes a plugin metrics system, which means that the following information is collected and sent to bstats.org.
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
You can find our stats here.
API Informations
Maven Import of API:
<repository>
<id>pixelationgames</id>
<url>http://mc3.skygr.nl:7071/repository/maven-releases/</url>
</repository>
<dependency>
<groupId>hd.sphinx</groupId>
<artifactId>mysql-sync-api</artifactId>
<version>1.4.0</version>
</dependency>
SyncSettings - The Settings that are used for Syncing data.
SyncProfile - The Player Data that is Saved/Loaded for the Player.
GeneratingPlayerProfileEvent - This event is called when the Player is not known by the Database and a new Entry is added to it. Provided Variables:
- Player
ProcessingLoadingPlayerDataEvent - This Event is called when the Player Data loading is intialized. Provided Variables:
- Player
- SyncSettings
CompletedLoadingPlayerDataEvent - This Event is called after the Data of the Player was loaded out of the Database. Provided Variables:
- Player
- SyncSettings
- SyncProfile
SavingPlayerDataEvent - This Event is called after the Data of the Player is saved into the Database. Provided Variables:
- Player
- SyncSettings
- SyncProfile
For any questions about the API, you can always contact me.