SimpleLogin icon

SimpleLogin -----

Universal Authentication for Paper & Velocity with Premium Auto-Join



SimpleLogin
Universal Authentication Plugin for Paper & Velocity

Overview
SimpleLogin provides a seamless hybrid authentication system that automatically detects premium (official Mojang) accounts while requiring cracked/offline players to register with a password. One single JAR works across both Paper and Velocity — no separate downloads needed.

Key Features
  • Automatic Premium Detection — Official Mojang accounts are recognized automatically via Mojang API and logged in instantly. No /register or /login required.
  • Cracked Account Protection — Offline players must register with a secure BCrypt-hashed password. Sessions are validated by UUID + IP to prevent impersonation.
  • Universal JAR — Deploy the same file on both Paper (backend) and Velocity (proxy). Automatic platform detection.
  • Velocity Limbo Support — Full LimboAPI integration keeps unauthenticated players in a secure limbo state with /login and /register commands.
  • Multi-Database Support — SQLite (zero config, file-based) and MySQL/MariaDB (cross-server sync) with HikariCP connection pooling.
  • Database Auto-Backup — /sl backup, /sl backup list, /sl backup restore with tab completion for .db/.sql files.
  • Auto-Install LimboAPI — Detects missing LimboAPI on startup and downloads the latest compatible version automatically.
  • Full i18n — All player-facing messages are configurable per-language (English/Spanish included). Console logs in English.
  • Anti-Bot Protection — Per-IP connection rate limiting, max accounts per IP, IP binding, and login attempt cooldowns.
  • Advanced Session Validation — UUID-based session checks prevent cracked players from stealing premium sessions. Supports deferred session handling for race-condition-free authentication.
  • Admin Commands — /sl unregister, /sl forcepremium, /sl setspawn, /sl resetip, /sl setip, /sl status, /sl resetpassword, /sl info, /sl reload, /sl backup

How It Works
  1. Player connects to Velocity proxy
  2. SimpleLogin queries Mojang API to detect if the account is premium
  3. Premium accounts are forced into online-mode with their real Mojang UUID
  4. Cracked accounts enter limbo and must /register then /login
  5. Sessions persist for 24 hours (configurable) with UUID-based validation
  6. Reconnections are automatically authenticated if session is still valid

Installation
  1. Drop SimpleLogin.jar into your Velocity plugins/ folder
  2. Drop the same JAR into your Paper backend plugins/ folder
  3. Start both servers — config.yml is generated automatically
  4. (Optional) LimboAPI will be auto-downloaded on first startup
  5. Configure database, language, and other settings in config.yml
  6. Run /velocity reload or restart

Commands
Command Description Permission
/register <pass> <confirm> Create a cracked account simplelogin.register
/login <pass> Authenticate with password simplelogin.login
/premium [confirm] Enable premium auto-login simplelogin.premium
/sl Admin help menu simplelogin.admin
/sl unregister <player> Reset a player's account simplelogin.admin
/sl forcepremium <player> Toggle premium mode simplelogin.admin
/sl setspawn <main|auth> Set spawn locations simplelogin.admin
/sl resetip <player> Release bound IP simplelogin.admin
/sl setip <player> Update bound IP simplelogin.admin
/sl status <player> Show account status simplelogin.admin
/sl resetpassword <player> Generate temp password simplelogin.admin
/sl backup Create database backup simplelogin.admin
/sl backup list List available backups simplelogin.admin
/sl backup restore <file> Restore from backup simplelogin.admin
/sl info Show plugin diagnostics simplelogin.admin
/sl reload Reload configuration simplelogin.admin
/changepassword <old> <new> Change your password (all players)
/logout End your session (all players)


Permissions
Permission Default Description
simplelogin.admin OP Access to all /sl admin commands
simplelogin.premium true Use /premium command
simplelogin.register true Use /register command
simplelogin.login true Use /login command


Configuration
All settings are in plugins/simplelogin/config.yml:
  • database — SQLite, MySQL, or MariaDB with connection pooling
  • servers — Main and auth server names for spawn routing
  • auth — Password length, session duration, login limits, max accounts per IP
  • security — IP binding, anti-bot rate limiting
  • limbo — Enable/disable limbo mode
  • language — en or es (custom messages in messages/ folder)

Requirements
  • Java 17 or higher
  • Paper 1.20.4+ (backend)
  • Velocity 3.3.0+ (proxy)
  • LimboAPI (optional, auto-downloaded)

  • Set online-mode = false in velocity.toml — SimpleLogin handles per-player mode dynamically
  • Backend servers should have online-mode = false in server.properties
  • SimpleLogin uses forceOnlineMode/forceOfflineMode per connection, no multi-proxy setup needed

  • English (en.yml)
  • Spanish (es.yml)
  • Custom — copy en.yml and translate, then set language: <yourfile> in config.yml
Resource Information
Author:
----------
Total Downloads: 45
First Release: May 7, 2026
Last Update: Jun 10, 2026
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings