DUXPLIMA Documentation

Database

SQLite, MySQL and the Redis layer that keeps several servers in step.

NPC data — owner, location, entity type, skin, glow, hidden state — is stored through ORMLite, with SQLite and MySQL as the two drivers.

database:
  driver: "SQLITE"
  host: "localhost"
  database: "database"
  username: ""
  password: ""
  port: 3306
  use-ssl: false

SQLite

The default. database is the file name, written under the plugin's folder. Nothing else in the block is read. Right for a single server.

MySQL

Set driver: "MYSQL" and fill in host, port, database, username, password. use-ssl follows whatever your server requires — leave it false for a database on the same host.

More than one server

Sharing one MySQL database between servers is not enough on its own: each server holds NPCs in memory, and a change made on one is invisible to the others until a restart. Turn on the multi-server block as well:

multi-server:
  enabled: true
  redis-host: "127.0.0.1"

Redis carries the change notifications; MySQL holds the data. Both are needed.

Saving

Data is written as it changes and on shutdown. /uxmhelpernpc save forces a flush, which is worth running before a hard restart or a backup snapshot.

Back up before switching drivers

Changing driver points the plugin at a different, empty store. It does not migrate your NPCs from the old one. Export first, or expect every NPC to be gone on the next start.