Skip to main content
The proxy’s config is short on purpose. rLogin is configured on the backend — passwords, 2FA, sessions, spawns, languages and UUID handling all live in plugins/rLogin/config.yml there. None of it belongs on a proxy. The proxy is a connector. It does exactly two jobs:

Verifies premium accounts

Behind a proxy it is the only place that can. Always on; nothing to configure.

Routes the login

Makes sure a player logs in once, on a server that can ask, and is never asked again while switching servers.
No database settings here. Accounts live on the backends. If you run more than one backend, point them all at the same MySQL so an account made on one is known on the others. The proxy never reads or writes it.
velocity.toml needs online-mode = false for auth-mode: auto or offline. With it on, rLogin refuses every connection and prints a banner explaining why. See what online-mode has to be.
The file is plugins/rlogin/config.yml on the proxy.

auth-mode

Who this network is for. Must match what your backends have, or the proxy and the backends disagree about who gets in.

login-servers

Turning enforce off means a player can reach a server before logging in. Only do it if you route the first server yourself.

after-login

What happens once a backend reports that the player has logged in.
Leave them where they are. Right for networks that log players in on the lobby they were going to anyway.
never-return-to lists servers previous should never send anyone back to. Your login servers are already excluded; add anything else that makes no sense to return to, like a queue or a limbo server.

timing

A working example

An auth server that players should not stay on, and two lobbies:

Requirements on the proxy side

1

velocity.toml

online-mode = false, and Modern Forwarding configured as usual.This is not a typo. rLogin verifies each connection individually up here and forces that player online or offline; with online-mode = true Velocity has already dropped everyone without an account before rLogin sees them. Under auth-mode: online the reverse applies — set it to true and let Velocity do the work.
2

Each backend

online-mode: false in server.properties, with the forwarding secret in place. This is standard Velocity setup, not an rLogin requirement.
3

The same jar on every backend

Including the auth server. The proxy has no accounts of its own.
PacketEvents is not needed on any backend in this setup. The proxy already did the verifying.