Skip to main content
LiricHomes gives you full control over where home data lives. You can choose from four SQL engines or a flat-file YAML backend, switch between them by changing a single line in config.yml, and rely on the built-in backup system to protect your data automatically. This page explains each storage option and documents every backup command.

Supported Storage Backends

SQLite

SQLite is the default and recommended option for standalone servers. LiricHomes creates the database file at:
No database server is needed. The connection is managed internally and there are no credentials to configure. Simply leave type: SQLITE in config.yml and you’re done.

MySQL and MariaDB

For servers that share a database with other plugins or run across multiple instances (BungeeCord/Velocity networks), MySQL or MariaDB provides a centralised store. Fill in your connection details in config.yml:
LiricHomes creates the liric_homes table inside the specified database on first start. Make sure the database and user exist before starting the server:

PostgreSQL

PostgreSQL uses port 5432 by default. Everything else works the same as MySQL:

YAML (Flat-File)

YAML mode stores each player’s homes as individual files in the plugin’s data folder. It requires no database server, but it does not scale well for large servers and cannot be migrated easily. Use it only for development environments or very small servers.
YAML storage does not support the automatic backup system. If you need backup protection, switch to SQLite or a SQL backend.

Connection Pooling

For all SQL backends, LiricHomes manages a connection pool automatically. The pool-settings block in config.yml controls pool behaviour:

Backup System

LiricHomes includes a built-in backup system that creates point-in-time snapshots of your home data. Backups work with SQLite, MySQL, MariaDB, and PostgreSQL backends.

Automatic Backups

Configure automatic backups in config.yml:
With the defaults, LiricHomes maintains a rolling seven-day backup history. When a new automatic backup would exceed max-backups, the oldest backup is deleted automatically.

Backup Commands

All backup commands require the liric.adminhomes.backup permission (default: op).

Creating a Backup

This creates a named backup called pre-migration. Using descriptive names makes it easier to identify the right backup when you need to restore.

Restoring a Backup

Restoring a backup replaces all current home data. Create a fresh backup before restoring if you want to keep the current state. After restoring, it is recommended to reload or restart the server to ensure the restored data is fully in memory.

Deleting a Backup

Deletion is permanent and cannot be undone.

Migrating from EssentialsX

If you are switching from EssentialsX’s built-in home storage to LiricHomes’ own database, run the migration command after setting home-backend: PLUGIN in config.yml:
This command reads every home from EssentialsX’s data files and imports them into the LiricHomes database. The process is non-destructive — EssentialsX’s own files are not modified. Migration progress is reported in the console and in chat, showing the number of players and homes processed.
Run /adminhomes backup create before-migration before starting the migration so you have a clean rollback point if anything goes wrong.