► Detailed Configuration
Below is a detailed explanation of the config.yml file. This file must be configured correctly on all servers you wish to link.
The default configuration is highly optimized for performance and stability. For most users, you only need to fill in the main database credentials (host, port, database, username, password).
MySQL Database Configuration
database:
host: localhost
port: 3306
database: minecraft
username: user
password: password
A list of JDBC properties to apply.
These are recommended, but you can change/add/remove as needed.
This is where you would enable SSL (e.g., useSSL: true)
properties:
useSSL: false
allowPublicKeyRetrieval: true
HikariCP Connection Pool Settings
These settings are optimized for resilience and performance.
It is recommended to leave these at their default values unless you are an experienced administrator.
pool-settings:
maximum-pool-size: 10
minimum-idle: 10
max-lifetime: 1800000 # 30 minutes
connection-timeout: 5000 # 5 seconds
idle-timeout: 600000 # 10 minutes
MySQL JDBC Optimizations
These are advanced settings for the MySQL driver.
Do not change these unless you know what you are doing.
optimizations:
cache-prep-stmts: true
prep-stmt-cache-size: 250
prep-stmt-cache-sql-limit: 2048
use-server-prep-stmts: true
use-local-session-state: true
rewrite-batched-statements: true
cache-result-set-metadata: true
cache-server-configuration: true
elide-set-auto-commits: true
maintain-time-stats: false
Set to true to enable verbose debugging messages in the server console.
This can be useful for diagnosing issues, but should be false for normal operation.
debug: false
Configuration Details
[] database.host: The IP address or hostname of your MySQL database server.
[] database.port: The port your MySQL database is listening on. The default is 3306.
[] database.database: The specific database name the plugin should use.
[] database.username: The username for the database connection.
[] database.password: The password for the specified database user.
[] database.properties: A list of key-value properties for the JDBC driver. This is the correct place to enable SSL (e.g., useSSL: true) or add other properties required by your database host.
[] database.pool-settings: Advanced settings for the HikariCP connection pool. It is highly recommended to leave these at their default values for optimal performance.
[] database.optimizations: Advanced performance-tuning settings for the MySQL JDBC driver. Do not change these unless you are a database administrator.
- debug: Set this to true to enable detailed logging in the server console, which is useful for troubleshooting.
► Advanced Usage: Synchronizing Server Groups
You can create separate "sync groups" by using different database details. For example, to sync a Towny server and a Towny resource world together, but keep them separate from a Creative server, you would use different database names in their respective config.yml files.
Example for Towny Servers (Towny-Main, Towny-Resource):
Code (YAML):
# MySQL Database Configuration
database:
host
: localhost
port
: 3306
database
: minecraft-database
username
: mc-data-bridge-username
password
: mc-data-bridge-password
# A list of JDBC properties to apply.
# These are recommended, but you can change/add/remove as needed.
properties:
useSSL
: false
allowPublicKeyRetrieval
: true
# HikariCP Connection Pool Settings
# These settings are optimized for resilience and performance.
# It is recommended to leave these at their default values unless you are an experienced administrator.
pool-settings:
maximum-pool-size
: 10
minimum-idle
: 10
max-lifetime
: 1800000
# 30 minutes
connection-timeout
: 5000
# 5 seconds
idle-timeout
: 600000
# 10 minutes
# MySQL JDBC Optimizations
# These are advanced settings for the MySQL driver.
# Do not change these unless you know what you are doing.
optimizations:
cache-prep-stmts
: true
prep-stmt-cache-size
: 250
prep-stmt-cache-sql-limit
: 2048
use-server-prep-stmts
: true
use-local-session-state
: true
rewrite-batched-statements
: true
cache-result-set-metadata
: true
cache-server-configuration
: true
elide-set-auto-commits
: true
maintain-time-stats
: false
# Set to true to enable verbose debugging messages in the server console.
# This can be useful for diagnosing issues, but should be false for normal operation.
debug
: false
Example for Creative Servers (Creative-Build, Creative-Plot):
Code (YAML):
database
:
host
: my_db_host
port
: 3306
database
: creative_player_data
username
: creative_user
password
: creative_password
properties
:
useSSL
: false
allowPublicKeyRetrieval
: true
debug
: false
► Commands & Permissions
The plugin does not currently feature any commands or permission nodes. All data synchronization is handled automatically through player login and quit events.
► Database Information
For server administrators who may need to interact with the database directly:
[] The plugin will automatically create a table named player_data if it does not exist.
[] The table schema is as follows:
[] uuid (VARCHAR(36) NOT NULL, PRIMARY KEY): The player's unique ID.
[] data (LONGTEXT NOT NULL): A JSON string containing all serialized player data.
[] is_locked (BOOLEAN DEFAULT 0): A flag used by the plugin to prevent data-sync race conditions.
[] last_updated (TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP): Automatically records when the player's data was last saved.