Database
HuskSync persists player data and snapshots in a database of your choice. This is separate from a [[Redis]] server, which HuskSync uses for caching and inter-server messaging, which is also required to use HuskSync.
Database types
There is no automatic way of migrating between database types. Changing the database type will cause data to be lost.
| Type | Database Software |
|---|---|
MYSQL | MySQL 8.0 or newer |
MARIADB | MariaDB 5.0 or newer |
POSTGRES | PostgreSQL |
MONGO | MongoDB |
Configuring
To change the database type, navigate to your config.yml file and modify the properties under database.
Database options (config.yml)
# Database settings
database:
# Type of database to use (MYSQL, MARIADB, POSTGRES, MONGO)
type: MYSQL
# Specify credentials here for your MYSQL, MARIADB, POSTGRES OR MONGO database
credentials:
host: localhost
port: 3306
database: minecraft
username: root
password: ''
# Only change this if you're using MARIADB or POSTGRES
parameters: ?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8
# MYSQL, MARIADB, POSTGRES database Hikari connection pool properties. Don't modify this unless you know what you're doing!
connection_pool:
maximum_pool_size: 10
minimum_idle: 10
maximum_lifetime: 1800000
keepalive_time: 0
connection_timeout: 5000
# Advanced MongoDB settings. Don't modify unless you know what you're doing!
mongo_settings:
using_atlas: false
parameters: ?retryWrites=true&w=majority&authSource=HuskSync
# Names of tables to use on your database. Don't modify this unless you know what you're doing!
table_names:
users: husksync_users
user_data: husksync_user_data
Credentials
You will need to specify the credentials (hostname, port, username, password and the database). These credentials are used to connect to your database server.
If your database server account doesn't have a password (not recommended), leave the password field blank (password: ''') and the plugin will attempt to connect without a password.
Connection Pool properties
If you're using MySQL, MariaDB, or PostgreSQL as your database type, you can modify the HikariCP connection pool properties if you know what you're doing.
Please note that modifying these values can cause issues if you don't know what you're doing. The default values should be fine for most users.
MongoDB Setup
If you're using a MongoDB database, in addition to setting the database type to MONGO, you'll need to perform slightly different configuration steps.
- Under
credentialsin thedatabasesection, enter the credentials of your MongoDB Database. You shouldn't touch theconnection_poolproperties. - Under
parametersin themongo_settingssection, ensure the specified&authSource=matches the database you are using (default isHuskSync).
MongoDB Atlas setup
If you're using a MongoDB Atlas database, you'll also need to set the Atlas settings and adjust the connection parameters string.
- Set
using_atlasin themongo_settingssection totrue. - Remove
&authSource=HuskSyncfromparametersin themongo_settings.
Note that the port setting in credentials is ignored when using Atlas.