Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.6
Platforms
Tags
Creators
Details
Licensed Apache-2.0
Published 5 months ago
Updated 5 days ago
EssentialsC MySQL Database Expansion
MySQL Network Sync expansion for EssentialsC. Synchronizes EssentialsC data across multiple servers using a MySQL Database
Features
Click to expand full feature list
Network Synchronization
- Authoritative Network Storage: Shared MySQL backend across multi-server setups
- Cross-Server Economy: Instant network balance updates and synchronization
- Network Leaderboards: Integrated
/mysql baltopcommand support - Background Processing: Fully asynchronous database operations to keep server threads smooth
Management & Tuning
- Local Mirroring: Syncs local EssentialsC balance views for offline network players
- HikariCP Connection Pooling: Robust pool management with customizable limits and connection timeouts
- Auto Server-ID Generation: Automatic diagnostic ID assignment if left unconfigured
Setup & Compatibility
Installation Steps & Requirements
Requirements
- Java: 21+
- Minecraft Version: 1.20.6+
- Dependencies: EssentialsC installed on target servers
- Database: MySQL 5.7+ or MariaDB equivalent
Installation
- Download the expansion JAR.
- Place the file inside your server's
<server_root>/pluginsdirectory. - Start or restart the server to generate default configurations.
- Configure database credentials in
/plugins/EssentialsC-MySQLExpansion/config.yml. - Restart the server or reload the expansion to establish connection.
Configuration
Click to expand default config.yml
# ---------------------------------------------------------------------------
# EssentialsC - MySQL Network Sync Expansion
# ---------------------------------------------------------------------------
# This expansion synchronizes EssentialsC data across a server network using a
# shared MySQL database. The MySQL database acts as the authoritative network
# store.
# ---------------------------------------------------------------------------
mysql:
# JDBC host of your MySQL server.
host: localhost
# JDBC port (3306 is the MySQL default).
port: 3306
# Name of the database EssentialsC will use. It must already exist.
database: essc_test_01
# Credentials used to connect.
username: root
password: 'minecraft'
# Table prefix so multiple networks can share one database safely.
table-prefix: 'essc_test_01'
# Connection pool tuning (HikariCP).
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout-ms: 30000
idle-timeout-ms: 600000
max-lifetime-ms: 1800000
# Extra JDBC properties appended to the connection URL.
properties:
useSSL: false
autoReconnect: true
characterEncoding: UTF-8
# Unique identifier for this server inside the network. Leave blank to have one
# generated automatically and persisted. It is only used for diagnostics.
server-id: 'survival-01'
# Enable verbose debug logging to the console.
debug: true
sync:
# Economy is the first implemented module.
economy:
enabled: true
# Pull the network balance into the local economy when a player joins.
pull-on-join: true
# Push the local balance to the network store when a player quits.
push-on-quit: true
# How often (in seconds) online players' balances are checked and pushed to
# the network store whenever they change. EssentialsC does not expose a
# balance-change event, so the expansion detects changes by diffing on this
# timer; a small value means other servers see earnings almost immediately
# without the player having to join them.
push-interval-seconds: 2
# Keep this server's LOCAL EssentialsC economy mirrored from the network for
# players who are not online here. This makes EssentialsC's own /balance and
# /baltop commands reflect network balances (e.g. server A earnings) for
# players who never joined this server. Disable to only sync the /mysql views.
sync-local: true
# How often (in seconds) the local<->network mirror runs (push-on-change for
# offline players and pull-down of remote changes).
mirror-interval-seconds: 5
# Number of entries shown per page by /mysql baltop.
baltop-page-size: 10


