LoginMe
A simple Spigot plugin that requires players to log in before playing.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
LoginMe
``` ██╗ ██████╗ ██████╗ ██╗███╗ ██╗███╗ ███╗███████╗ ██║ ██╔═══██╗██╔════╝ ██║████╗ ██║████╗ ████║██╔════╝ ██║ ██║ ██║██║ ███╗██║██╔██╗ ██║██╔████╔██║█████╗ ██║ ██║ ██║██║ ██║██║██║╚██╗██║██║╚██╔╝██║██╔══╝ ███████╗╚██████╔╝╚██████╔╝██║██║ ╚████║██║ ╚═╝ ██║███████╗ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚══════╝ ```
LoginMe
A lightweight authentication plugin for cracked/offline-mode Minecraft servers. Supports Bukkit, Spigot, Paper, Purpur, Folia, BungeeCord, Waterfall, and Velocity — all in a single JAR.
---
Features
- Register and login system with `/register` and `/login` - Passwords hashed with Session sharing per player — never stored in plaintext - Offline session cache — players don't need to re-login after briefly disconnecting - Full movement, chat, and command restrictions until authenticated - Blindness effect applied to unauthenticated players - Login timeout on proxy (auto-kick if not logged in within X seconds) - Session sharing — login once at the proxy, stays logged in across all backend servers - No external database required — uses a simple flat file (`players.dat`)
---
Compatibility
| Platform | Supported | |---|---| | Bukkit / Spigot | ✅ | | Paper / Purpur | ✅ | | Folia | ✅ | | BungeeCord / Waterfall | ✅ | | Velocity | ✅ |
Minecraft version: 1.21.1+
---
Installation
Standalone (Paper/Spigot only, no proxy): Drop `LoginMe.jar` into your server's `plugins/` folder and restart.
both Drop `LoginMe.jar` into both the proxy `plugins/` folder and every backend server's `plugins/` folder. The proxy handles authentication and shares the session to backend servers automatically.
---
Commands
| Command | Description | |---|---| | `/login <password>` | Login to your account | | `/register <password> <confirm>` | Create an account | | `/reg <password> <confirm>` | Alias for `/register` |
---
Configuration
Located at `plugins/LoginMe/config.yml`:
```yaml prefix: "&7[&bLoginMe&7] "
How long to keep a session after a player disconnects
Supports: s (seconds), m (minutes), h (hours), d (days)
offline-cache-duration: "5m"
Proxy only: kick player if not logged in within this time after joining
login-timeout: "60s"
messages: login-success: "&aLogin successful!" already-logged-in: "&cYou are already logged in!" not-registered: "&cYou are not registered! Use /register <password> <confirm>" login-usage: "&cUsage: /login <password>" wrong-password: "&cWrong password!" register-success: "&aRegister successful!" already-registered: "&cYou are already registered! Use /login <password>" register-usage: "&cUsage: /register <password> <confirm>" password-mismatch: "&cPasswords do not match!" please-login: "&ePlease login with /login <password>" please-register: "&ePlease register with /register <password> <confirm>" must-login-first: "&cYou must login first!" must-login-chat: "&cYou must login first to chat!" login-timeout: "&cLogin timeout! Please reconnect and login."
titles: login-success: "&aLogin Successful!" login-success-subtitle: "&7Welcome back!" register-success: "&aRegister Successful!" register-success-subtitle: "&7Please login with /login <password>" ```
All messages support `&` color codes.
---
Data Storage
Player data is stored in `plugins/LoginMe/players.dat`. Each entry contains the player's UUID alongside a randomly generated salt and SHA-256 hash of their password. The file is human-readable but should not be edited manually.