EssentialsX MySQL Sync
Real-time cross-server synchronization for EssentialsX data
Seamlessly synchronize your EssentialsX player data across multiple servers using MySQL. Perfect for BungeeCord/Velocity networks where you want players to maintain their balance, homes, mail, and other data when switching between servers.
Key Features
- Real-time Synchronization - Data syncs instantly in real-time or when players switch servers
- Cross-Server Balance - Economy data follows players between servers
- All EssentialsX Data - Homes, mail, kits, punishments, and more
- Console Command Support - Detects admin commands from console/other plugins
- Automatic Detection - Monitors balance changes every 10 seconds
- BungeeCord/Velocity Ready - Designed for proxy networks
- High Performance - Async operations with HikariCP connection pooling
- Configurable Sync - Enable/disable specific data types
- Debug Logging - Detailed sync tracking for troubleshooting
- MySQL Storage - Reliable database backend with automatic table creation
What Gets Synced
Spoiler: Synchronized Data Types
- Economy Data: Player balance and transaction history
- Homes & Warps: All set home locations and warp points
- Communication: Mail messages, nicknames, social spy status
- Kit Cooldowns: When players can use kits again
- Punishment Data: Jail status, mute status, ban data
- Player States: God mode, fly mode, teleport permissions
- Locations: Last known location, bed spawn points
- User Preferences: Personal toggles and command settings
⚙️ Requirements
- Minecraft 1.20.4+ (Paper/Spigot)
- EssentialsX (any modern version)
- MySQL 5.7+ or MariaDB
- Java 17+
Code (Text):
Commands:
/exmysql reload - Reload plugin configuration
/exmysql status - Check database connection status
/exmysql sync <player|all> - Manually sync player data
/exmysql delete <player> - Remove player data from database
/exmysql info <player> - Show player sync information
Permission:
exmysql.admin - Access to all commands (default: OP)
Spoiler: config.yml
mysql:
host: localhost
port: 3306
database: essentialsx
username: root
password: password
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
sync:
enabled: true
sync-on-join: true
sync-on-quit: true
sync-interval: 30
auto-save-players: true
data:
sync-balance: true
sync-homes: true
sync-warps: true
sync-mail: true
sync-kits: true
sync-nickname: true
sync-last-location: true
sync-jail: true
sync-mute: true
sync-god-mode: true
sync-fly-mode: true
sync-teleport-enabled: true
sync-social-spy: true
debug:
enabled: false
log-queries: false
Code (Text):
mysql:
host: localhost
port: 3306
database: essentialsx
username: root
password: password
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 30000
idle-timeout: 600000
max-lifetime: 1800000
sync:
enabled: true
sync-on-join: true
sync-on-quit: true
sync-interval: 30
auto-save-players: true
data:
sync-balance: true
sync-homes: true
sync-warps: true
sync-mail: true
sync-kits: true
sync-nickname: true
sync-last-location: true
sync-jail: true
sync-mute: true
sync-god-mode: true
sync-fly-mode: true
sync-teleport-enabled: true
sync-social-spy: true
debug:
enabled: false
log-queries: false
How It Works
- Player joins Server A → Plugin loads their data from MySQL
- Player earns money/sets homes on Server A
- Balance changes are detected automatically (every 10 seconds)
- Data is saved to MySQL in real-time
- Player switches to Server B → Updated data is loaded instantly
- Player now has same balance, homes, etc. on Server B
️ Installation
- Download and place the plugin in your plugins folder on ALL servers
- Configure MySQL connection details in config.yml
- Ensure BungeeCord/Velocity mode is enabled in spigot.yml (config if paper) for UUID consistency
- Restart all servers
- Plugin will automatically create required database tables
Perfect For
- Multi-server networks (Hub + Game servers)
- BungeeCord/Velocity proxy setups
- Survival + Creative server combinations
- Minigame networks with lobby servers
- Any setup requiring cross-server player data (Similar to DonutSMP)
Advanced Features
- Smart Detection: Catches console commands, plugin changes, and manual edits
- Periodic Monitoring: Scans for changes every 10 seconds as backup
- Event-Driven Sync: Instant sync on balance updates and server switches
- Connection Pooling: Efficient database connections with HikariCP
- Async Processing: Zero impact on server performance
- Error Recovery: Automatic reconnection and retry logic
- Comprehensive Logging: Debug mode for detailed sync tracking
Support
Having issues? Need help with setup? Post in the discussion section and I'll help you get everything working perfectly!
- Detailed documentation included
- Example configurations provided
- Debug mode for troubleshooting
- Active developer support
⭐ Rate 5 stars if this plugin helped your server! ⭐
Tested with EssentialsX 2.21+ | Paper/Spigot 1.20.4+ | MySQL 8.0+ | Java 17+
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.20, 1.20.6, 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
EssentialsXMySQL - Sync EssentialsX Userdata Across Your Server is a free Minecraft Java mod. Compatible with Minecraft 1.20, 1.20.6, 1.21. Downloaded 168 times (via Spigot). Download it and open it directly in the game.