
██╗ ██████╗ ██████╗ ██╗███╗ ██╗███╗ ███╗███████╗
██║ ██╔═══██╗██╔════╝ ██║████╗ ██║████╗ ████║██╔════╝
██║ ██║ ██║██║ ███╗██║██╔██╗ ██║██╔████╔██║█████╗
██║ ██║ ██║██║ ██║██║██║╚██╗██║██║╚██╔╝██║██╔══╝
███████╗╚██████╔╝╚██████╔╝██║██║ ╚████║██║ ╚═╝ ██║███████╗
╚══════╝ ╚═════╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚══════╝
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
/registerand/login - Passwords hashed with SHA-256 + random salt 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.
With proxy (BungeeCord / Velocity):
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:
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.
