Repository navigation
Databases
Arkonix Game Studio edited this page Nov 12, 2026
·
2 revisions
Supported engines, settings and live migration.
UniversalProtect supports four engines. Set the engine with database.type in config.yml.
| Type | Best for | Notes |
|---|---|---|
duckdb |
Default, local storage | Fast for large queries, single file database.duckdb
|
sqlite |
Small local servers | File database.db. Existing installations keep using it automatically |
mysql |
Networks, several servers | Needs host, port, user and password |
clickhouse |
Very large amounts of data | Deletes and updates run as synchronous mutations |
database:
type: duckdb
sqlite:
file: database.db
duckdb:
file: database.duckdb
mysql:
host: localhost
port: 3306
database: universalprotect
username: root
password: ''
parameters: useSSL=false&allowPublicKeyRetrieval=true
clickhouse:
host: localhost
port: 8123
database: universalprotect
username: default
password: ''
ssl: falseNote: For MySQL and ClickHouse the database itself must already exist. The plugin creates the tables.
Run in the console only:
/up migrate-db <sqlite|mysql|duckdb|clickhouse> [--full-validation]
- Data is copied in chunks of 10,000 rows. The server keeps running and new entries are carried along.
- Row counts and the highest ID are validated. With
--full-validationevery row is compared as well. - On success the plugin switches to the new database atomically and saves
database.typeinconfig.yml. - If anything fails, the old database stays active.
/up migrate-db mysql --full-validation
Tip: Back up the old database file before migrating.
/up purge #optimize compacts the database after deleting data. See Purge.
| Situation | Recommendation |
|---|---|
| Single server, any size | DuckDB |
| Tiny server, maximum compatibility | SQLite |
| Several servers sharing one log | MySQL |
| Hundreds of millions of rows | ClickHouse |
/up compact summarises old block entries to save space, see Purge. Crash recovery for interrupted rollbacks uses a journal table and is not available with ClickHouse.
Related pages: Configuration · Purge · Troubleshooting
UniversalProtect · Minecraft 26.3 · Paper · Java 25 · API v13
Getting started
Using the plugin
- Commands
- Inspector
- Parameters and Tags
- Actions
- Lookup Examples
- Rollback and Restore
- Investigation and Alerts
- Purge
Administration
Developers
Help