Proxy Setup
Architecture
XLogin supports Velocity and BungeeCord networks with a role-based configuration. Install XLogin on every backend server and configure the proxy section.
Velocity / BungeeCord
+ XLogin.jar (proxy mode)
|
+---------+---------+
| | |
AUTH LOBBY GAME
XLogin XLogin XLogin
/login Session Session
/register auto auto
Server Roles
| Role | Purpose |
|---|---|
| AUTH | Login/register server. Players authenticate here and are redirected to the lobby. |
| LOBBY | Main hub. Session auto-login. Invalid session → sent to auth. |
| GAME | Sub-servers (skyblock, etc.). Session auto-login. Invalid session → sent to auth. |
Setup
XLogin is a single JAR that auto-detects the platform. Place the same file on both proxy and backends.
- Place
XLogin.jarin the proxy'splugins/folder. - Place
XLogin.jarinplugins/XCore/addons/on each backend server. - Configure the proxy's
config.ymlwith the same database and Redis as XCore. - Set
premium.modeto match your backend config. - Restart the proxy.
# XLogin proxy config.yml
database:
type: MYSQL
host: localhost
port: 3306
database: minecraft
username: root
password: ""
redis:
enabled: true # Recommended for instant delivery
host: localhost
port: 6379
password: ""
premium:
enabled: false
mode: "opt-in"
Redis is strongly recommended. Without it, profiles are delivered via plugin messaging which may have slight timing delays. With Redis, the profile arrives on the backend before the player connects.
Backend Configuration
Auth Server
premium:
enabled: true
proxy:
enabled: true
role: AUTH
redirect-server: "lobby"
redirect-delay: 20
Lobby Server
premium:
enabled: true
proxy:
enabled: true
role: LOBBY
auth-server: "auth"
Game Servers
premium:
enabled: true
proxy:
enabled: true
role: GAME
auth-server: "auth"Connection Flow
- Player connects to the proxy. XLogin checks the database.
- Premium player: Mojang verified → routed directly to lobby (skips auth entirely).
- Valid session: routed directly to lobby (skips auth).
- New/expired player: routed to AUTH server →
/registeror/login→ redirected to lobby. - LOBBY/GAME: session valid → silently authenticated.
- If a player reaches LOBBY/GAME without a valid session → kicked (proxy bypass protection).