LoginMe

A simple Spigot plugin that requires players to log in before playing.

2,83k

Quick challenge

How far can you run before the mobs catch you?

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.

ADS