Getting Started
Requirements
- Java 21 or higher
- Paper 1.21.1+ (or Folia)
- XCore (required — install it first)
Installation
- Make sure XCore is installed and running on your server.
- Download XLogin from BuiltByBit and place the JAR in
/plugins/XCore/addons/. - Start the server — XLogin will generate its config files in
/plugins/XCore/addons/XLogin/. - Edit
config.ymlandlang.ymlto your needs. - Restart or run
/xlogin reload.
Feature Overview
XLogin is organized into several major systems:
- Authentication — Login, register, change password with session management and configurable timeouts.
- Premium Auto-Login — Per-player online-mode via Netty pipeline injection. Premium players connect with their real Mojang skin, no
/loginneeded. Cracked players using a premium name are automatically rejected. - Two-Factor Authentication — TOTP support compatible with Google Authenticator, Authy, Microsoft Authenticator, etc.
- Cross-Server Sessions — Database-backed sessions shared across all servers. Login once, authenticated everywhere.
- Proxy Support — Role-based server configuration (AUTH, LOBBY, GAME) with automatic player routing for BungeeCord/Velocity networks.
- Bedrock Auto-Login — Automatic authentication for Geyser/Floodgate players.
- Email Recovery — Players can link an email and use it to recover their password via a 6-digit code sent by SMTP.
- UUID Modes — OFFLINE (default, all players use offline UUIDs) or REAL (premium players get their Mojang UUID for cosmetics on Lunar/Badlion).
- Security — IP rate limiting, temporary IP bans, IP lock, brute-force protection, password strength requirements, name validation.
- Player Restrictions — Movement, chat, interactions, inventory, vehicles, portals, and teleportation are all blocked until authenticated.