Essentials MySQL Storage Extension

SpigotVIP Essentials MySQL Storage Extension 1.25.0

Essentials MySQL Storage Extension
Native Minecraft Version:1.13Tested 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
Source Code:https://github.com/brunyman/Essentials-MySQL-Storage-Extension/issues
A bukkit/spigot plugin that is an extension to Essentials and adds MySQL Database storage for users data files, works with Essentials, EssentialsX or Spigot-Essentials plugins. Tired of having 200k+ user files? Then this plugin stores everything in a database and allows you to get rid of that Essentials/userdata folder, will make life easier when running server backups or even opening the userdata folder. It will even allow you to sync Essentials user data across servers.

Please note! All this plugin does is copy the Essentials players data on the database and back, if you sync more servers and servers are different like different worlds or kits Essentials will remove data that is invalid. For example, if you copy user data from server A where the user saved his home in a world that does not exist in server B Essentials will remove that sethome location. This plugin does not change how essentials work you can test out without this plugin by manually copy the data file to the other server.

Do you want to save players data (Inventory, Enderchest, Money, Health, Exp and more...) on MySQL database? Or sync players data across servers?
Then check out my other plugin:
[IMG]
MySQL Player Data Bridge

Features

  • Online and Offline UUID support! Does no work on non UUID servers, so will will work on 1.7.10 and up.
  • Add MySQL storage for Essentials userdata files.
  • Option to remove inactive users from the database.
  • Saves all data that is stored in the user data files. (Ex. homes, money, mails... everything)
  • Allows you to sync essentials data across servers.
  • Support for QuickShop or QuickShop Reremake plugin for offline sales.
  • Support for ChestShop plugin for offline sales and buy orders.
  • Support for AuctionHouse plugin for offline auctions.
  • Support for PlayerShopGUI+ plugin for offline sales.
  • Support for ShopChest plugin for offline sales and buy orders.
  • Option to delete the entire Essentials/userdata folder on server shutdown or restart.
  • Option to delete user data files when players leave the server and data is saved on database.
  • Command to import all users data files to the database.
  • Command to export all users from the database back into essentials userdata files. So you can remove the plugin anytime without data loss.
  • Command to get Balance Top from the database data.
  • Ability to filter the players data file and remove data that you don't what to save.
  • Very configurable, check the config sample below.
  • Light, will use little resources and tasks run async to not impact the server performance or TPS.

How does it work?
When the player leaves the server his essentials data file is saved on the database. Then when he joins the server his essentials data file is deployed from the database to the Essentials/userdata folder and hook into Essentials to load it. This plugin does not change the way Essentials work, but manipulates the user data files to save them on the database.


Dependencies
*These are all required dependency's.
*Only 1 of the 3 Essentials plugins listed above you must have installed. DO NOT INSTALL all of them.



Install instructions
  1. Place the plugin in the server plugins folder, and make sure you have Essentials installed.
  2. Start the server to generate the config, then stop the server.
  3. Open the config and set up the database connection details and configure the plugin. You need to create the database, then the plugin will create the tables on it's own.
  4. Start the Server. Check the server log and make sure everything is ok. Done, enjoy.


Permissions
EMS.admin
- Unlock access to the import/export data command. Default to op.
EMS.baltop - Unlock access to the /ems baltop command. Default to op.


Commands
/ems
and /ems help - Display the help menu.
/ems baltop - EMS.baltop - Get Money Top 10 from the database.
/ems reload - EMS.admin - Reload plugin config.
/ems import - EMS.admin - Import all users files from the Essentials/userdata folder to the database. Will skip users already in the database or broken data files.
/ems export - EMS.admin - Export all users from the database back into essentials userdata files. Will not remove the users from the database. Make sure you disable removal of essentials userdata folder or files before export.
/ems saveAndKick - EMS.admin - Kick all players and save their data.
/ems remove <name> - EMS.admin - Delete a specific user from the database.


Config sample
Spoiler: config.yml


Useful Info

[Essentials] Version mismatch! Please update EssentialsMysqlStorage to the same version.

Please ignore this log warning message. The reason Essentials posts this message is because this plugin hooks into essentials to sync data. Essentials thinks this is a module like EssentialsChat and posts that warning message to let you know it does not match the Essentials core version. This does nothing else.

Replace essentials /baltop with /ems baltop
You first need to disable essentials /baltop command, go to essentials config file and add the baltop command to the disabled commands like this:
disabled-commands:
- baltop
Then make a command alias for /ems baltop to /baltop , to do so go to the main server folder and add this to the commands.yml config file:
aliases:
baltop:
- ems baltop

Kit cooldown lost issues?
If you are still using old Essentials or Spigot-Essentials I recommend that you will update to EssentialsX as this is the updated and future of Essentials, it has fixes and is updated to work with latest spigot versions. If your kit cooldowns are not working after server restart update to EssentialsX but make sure it's the right version for your minecraft server version.

Issues with players not having the same UUID's when changing servers?
You need to make sure that all players have the same UUID's on all servers, this is important as player's data is stored based on their UUID and not their name. To have the same UUID's 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 UUID from bungeecord and all servers will get the same UUID's. Make sure you have bungeecord: true on all spigot servers.

Issues with data save when you kick all players before server restart/shutdown?
Kicking all players before a server shutdown/restart can cause issues because when the plugin is disabling the server cancels all async tasks it is running. Normally when a player disconnects or is kicked his data is saved async to not lag the server, but when you kick all players right before stopping the server this becomes a problem as if data save is not complete for all players when you do /stop the server will cancel them! If you don't kick players before the shutdown the plugin will save their data on the main thread so the server will wait for all data to be saved before shutdown. If you still need to kick all players before shutdown then use the command /ems saveAndKick it will save all data and kick all players for you in a safe way.

Found a problem or got a suggestion?
I'm happy to add new features and fix any issue you may find, just post it in plugins forum, the button Discussion.

Future updates.
In case the plugin will need to be updated I will do it as fast as we get the new Minecraft version to keep the plugin running on all new versions.


Agreement
This plugin works as it is stated in the description.
If you are unsure if this plugin is for you, don't make a blind purchase!
Leave a comment or send me a pm to state your questions/concerns before buying!
By purchasing this plugin, you agree to the following terms:
  • All purchases are final.
  • You will not -Redacted- this plugin or any of its source code to anyone publicly or privately.
  • Absolutely no refunds.
  • You will not attempt to modify the this plugin source code without direct permission from me.


If you like this resource and want to say thank you with a donation please use this PayPal button. Thanks!
[IMG]

Similar resources

Essentials MySQL Storage Extension Dekomori
[1.7.10 - 1.18.1] Adds MySQL database storage to the popular Essentials plugin.
5.00 star(s) 1 ratings
Downloads
890
Updated
Essentials MySQL Storage Extension CommunistPandaX
5.00 star(s) 4 ratings
Downloads
530
Updated
Essentials MySQL Storage Extension Blurs
2.00 star(s) 1 ratings
Downloads
392
Updated
BlackSpigot General Chat
Rules Help Users
    C @ CatatonicWade: @vr4u I do, wanna trade?
    Top