Skip to content

Storage

RexPractice can store player profiles (stats, settings, friends, kit layouts) in:

TypeConfig valueTypical use
H2 (default)h2Single server, zero setup
YAMLyamlSimple file-per-player
SQLitesqliteSingle server file DB
MySQL / MariaDBmysqlShared DB / networks
storage:
type: h2
mysql:
host: localhost
port: 3306
database: rexpractice
username: root
password: ""
pool:
maximum-pool-size: 10
BackendPath
H2plugins/RexPractice/storage/rexpractice.mv.db (H2 file)
SQLiteplugins/RexPractice/storage/rexpractice.sqlite
YAMLplugins/RexPractice/playerdata/<uuid>.yml
MySQLExternal server (storage.mysql.*)

MariaDB uses the same mysql settings and driver.

  1. Stop the server.
  2. Set storage.type.
  3. Start again.

Reload does not switch storage backends. Always restart after changing storage.type.

If you start H2 / SQLite / MySQL with an empty database and existing playerdata/*.yml files, RexPractice imports those profiles once and logs how many were imported.

There is no ongoing dual-write. After import, YAML files are left in place but no longer updated (unless you switch back to yaml).

JDBC backends (H2, SQLite, MySQL) query top entries from the database, so offline players stay on the board.

YAML mode uses an in-memory board seeded from online loaded players.