Skip to main content

Which one you need

SQLite

One server. Zero configuration, one file next to the config. This is the default and it is the right answer for most people.

MySQL / MariaDB

Several backends. Needed so an account created on one server is known on the others. Without it, players re-register on every server.
Running a proxy does not by itself mean you need MySQL. The proxy never reads or writes the database — accounts live on the backends. One backend behind a proxy is perfectly happy with SQLite.

SQLite

The file is created inside plugins/rLogin/. Back it up like any other world data; it is the only copy of your accounts.

MySQL

1

Create the database and a user

2

Point every backend at it

The same block, identical on each server. They share the tables; nothing else needs to be synchronised.
3

Restart and check the console

All backends sharing a database must also agree on uuid-type. If one issues real UUIDs and another offline ones, the same player is two different accounts depending on where they land.

Tables

rLogin creates and migrates its own tables on startup. You never need to touch them, but for the curious: Expired sessions are purged automatically every 30 minutes.
Passwords are stored as bcrypt hashes, cost 10 by default. They are never written in plain text, not to the database and not to the log — see Security.

Moving from SQLite to MySQL

There is no built-in converter. The straightforward path is to export the accounts table from SQLite and import it into MySQL with any standard tool — the schema is identical on both.

Importing from another plugin?

/rlogin migrate reads AuthMe databases directly, hashes included.