Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Links
Tags
Creators
Details
Licensed MIT
Published 4 months ago
Updated 4 months ago
⦠LunnaraLogin ā¦
Authentication plugin for Lunnara Network
Spigot Ā· Paper Ā· Purpur Ā· All Forks Ā· 1.21.x Ā· Secure BCrypt Ā· MiniMessage Styled
Supported Platforms
| Platform | Status |
|---|---|
| Paper 1.21.x | ā Fully supported (native Adventure) |
| Spigot 1.21.x | ā Fully supported (shaded Adventure) |
| Purpur 1.21.x | ā Fully supported |
| Pufferfish 1.21.x | ā Fully supported |
| Any Spigot/Paper fork | ā Should work out of the box |
Requires Java 21 or higher.
Features
- BCrypt Password Hashing ā Passwords are securely salted & hashed, never stored in plain text
- MiniMessage Support ā All messages fully customizable with gradients, colors & formatting
- Full Lockdown ā Players can't move, chat, interact, build, or take damage until authenticated
- Blindness Effect ā Optional blindness + slowness applied before login
- Auto Kick ā Players who don't authenticate within the timeout get kicked
- Login Reminders ā Periodic messages reminding players to
/loginor/register - JSON Storage ā Per-player data files, no database needed
- Async Operations ā Password hashing runs off the main thread, zero lag
Commands
Player Commands
| Command | Aliases | Description |
|---|---|---|
/register <password> <password> |
/reg |
Register a new account (first join) |
/login <password> |
/l |
Log in to your account |
/changepass <old> <new> |
/changepassword |
Change your own password |
Admin Commands
All admin commands use /lunaralogin (aliases: /ll, /llogin)
| Command | Permission | Description |
|---|---|---|
/ll changepass <player> <newpass> |
lunaralogin.admin.changepass |
Force-change a player's password |
/ll delacc <player> |
lunaralogin.admin.delacc |
Delete a player's account (kicks if online) |
/ll forcelogin <player> |
lunaralogin.admin.forcelogin |
Force-login an online player without a password |
/ll status <player> |
lunaralogin.admin.status |
Check if a player is registered / logged in |
/ll reload |
lunaralogin.admin.reload |
Reload config & messages |
Permissions
| Permission | Default | Description |
|---|---|---|
lunaralogin.admin |
OP | Access to admin help |
lunaralogin.admin.changepass |
OP | Change another player's password |
lunaralogin.admin.delacc |
OP | Delete a player's account |
lunaralogin.admin.forcelogin |
OP | Force-login a player |
lunaralogin.admin.status |
OP | View player auth status |
lunaralogin.admin.reload |
OP | Reload configuration |
Configuration
config.yml
| Option | Default | Description |
|---|---|---|
session-timeout |
60 |
Session duration in minutes |
login-timeout |
120 |
Seconds before unauthenticated players are kicked |
max-login-attempts |
5 |
Failed login attempts before kick |
min-password-length |
6 |
Minimum password length |
max-password-length |
32 |
Maximum password length |
allow-movement-before-auth |
false |
Allow movement before logging in |
blind-before-auth |
true |
Apply blindness + slowness before auth |
reminder-interval |
5 |
Seconds between login/register reminders |
allowed-commands |
/login, /register, /l, /reg |
Commands usable before authenticating |
messages.yml
All messages use MiniMessage formatting. Supports gradients, hex colors, bold, etc.
Example from the default config:
login-success: "<color:#ff7ae6>ā <color:#ffffff>Logged in successfully! <color:#aaaaaa>Welcome back."
Installation
- Build the plugin:
cd LunnaraLogin && ./gradlew build - Copy
build/libs/LunnaraLogin-1.0.0.jarto your server'splugins/folder - Start the server ā config files will be generated
- Edit
config.ymlandmessages.ymlto your liking - Run
/ll reloadto apply changes
How It Works
- First join ā Player is frozen & blinded, prompted to
/register <password> <password> - Return visit ā Player is frozen & blinded, prompted to
/login <password> - On success ā Effects removed, full server access granted
- Too slow? ā Kicked after
login-timeoutseconds - Wrong password? ā Kicked after
max-login-attemptsfailed tries
Player data is stored in plugins/LunnaraLogin/playerdata/<uuid>.json.
Lunnara Network Ā· Spigot / Paper / Purpur Ā· 1.21.x Ā· Java 21


