What is VeloAuth?
VeloAuth is a comprehensive authentication system for Velocity proxy that handles all player authorization before they reach your backend servers. It works seamlessly with PicoLimbo to provide a smooth login experience while protecting nickname ownership through intelligent conflict resolution.
Key Features
- Intelligent Nickname Protection - Premium nicknames are reserved unless already registered by cracked players
- Premium Auto-Login - Mojang account owners skip authentication automatically
- Secure Offline Auth - BCrypt password hashing with brute-force protection
- High Performance - Authorization cache with 24-hour premium status caching
- Conflict Resolution - Smart handling of premium/cracked nickname conflicts
- Admin Tools - Complete conflict management with /vauth conflicts
- Multi-Database - MySQL, PostgreSQL, H2, SQLite
- 7 Languages - EN, PL, DE, FR, RU, TR, SI
- LimboAuth Compatible - Seamless migration from existing setups
Requirements
- Java 21 or newer
- Velocity proxy (API 3.4.0+)
- PicoLimbo or other limbo/lobby server
- Database: MySQL, PostgreSQL, H2, or SQLite
Quick Setup
Installation
- Download VeloAuth from Modrinth / Releases
- Place the file in your Velocity plugins/ folder
- Start Velocity - the plugin will create a config.yml file
- Stop Velocity and configure your database and limbo name in plugins/VeloAuth/config.yml
- Restart Velocity
Velocity Config
Configure your
velocity.toml with PicoLimbo and backend servers:
Code (Text):
[servers]
lobby = "127.0.0.1:25566" # PicoLimbo (auth server)
survival = "127.0.0.1:25565" # Backend server
try = ["lobby", "survival"] # Order matters for lobby redirect
Important: The
try configuration controls where authenticated players are redirected. VeloAuth automatically skips the PicoLimbo server and selects the first available backend server.
Database Config
Supported: H2 (out-of-box), MySQL, PostgreSQL, SQLite
Player Commands
Code (Text):
| Command | Description | Restrictions |
|--------------------------------|-----------------------|------------------------------|
| /register <password> <confirm> | Create new account | Cannot use premium nicknames |
| /login <password> | Login to your account | Works for premium/cracked |
| /changepassword <old> <new> | Change your password | Must be logged in |
Admin Commands
Code (Text):
| Command | Permission | Description |
|-----------------------------|----------------|--------------------------------------------|
| /unregister <nickname> | veloauth.admin | Remove player account (resolves conflicts) |
| /vauth reload | veloauth.admin | Reload configuration |
| /vauth cache-reset [player] | veloauth.admin | Clear authorization cache |
| /vauth stats | veloauth.admin | Show plugin statistics |
| /vauth conflicts | veloauth.admin | List nickname conflicts |
How It Works
Authentication Flow
- Player connects to Velocity
- VeloAuth checks authorization cache
- If not cached, player is sent to PicoLimbo
- Nickname protection activates during registration
- Player types /login or /register
- VeloAuth verifies credentials with BCrypt
- Player is redirected to backend server via try configuration
Nickname Protection System
- Premium nicknames are reserved unless already registered by cracked players
- Conflict resolution when premium players use cracked-registered nicknames
- Admin tools for managing nickname conflicts
- Automatic blocking of cracked players trying premium nicknames
LimboAuth Migration
VeloAuth is
100% compatible with LimboAuth databases:
- Stop LimboAuth on your backend servers
- Install VeloAuth on Velocity
- Configure VeloAuth to use the same database as LimboAuth
- Start Velocity - all existing accounts will work automatically
Support
Need help? Found a bug? Open an issue on GitHub or join our Discord server.