Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
RealLogin
Login plugin with PIN & GUI interaction
A lightweight login plugin where players type a PIN on a keypad instead of a password in chat.
What is RealLogin?
RealLogin asks every player for a PIN when they join. New players pick a PIN on a keypad GUI, and returning players click their PIN in to log in. Until they do, they can't move, chat or use commands, and closing the keypad just opens it again.
Features
- PIN keypad GUI for registering and logging in, with number heads or plain panes
- PINs are stored hashed (salted PBKDF2), never as plain text
- Sessions: a player who rejoins shortly after logging in doesn't need to type the PIN again
- PIN reset: players can reset their own PIN, and admins can delete anyone's
- Admin bypass to let a waiting player in without their PIN
- Login history: the date and IP of each join, shown with
/rl info - Login and after-login locations to teleport players to
- Hide inventories until the player logs in (optional)
- BungeeCord: send players to a lobby server after they log in (optional)
- On 1.21.6+, a settings editor and confirmations in native dialogs. The keypad always stays an inventory, so a PIN is never shown in a text box as it's typed
- SQLite (default) or MySQL storage
- RealPermissions support
- Fully configurable and translatable YAML config
Before Logging In
While a player hasn't entered their PIN:
- They can't move, interact, drop items, chat or run commands.
- They can't be hurt while the keypad is open.
- Closing the keypad opens it again. The door button kicks them from the server instead.
- If
Hide-Inventoriesis on, their inventory is emptied and given back when they log in or leave.
Sessions
After a player logs in, they have a session for Max-Session-Time seconds (120 by default). If they rejoin before it runs out, they skip the keypad. The countdown starts when they log in, not when they leave.
Sessions are kept in memory, so a restart ends them. /rl logout ends your own session and shows the keypad again. Set Max-Session-Time to 0 to turn sessions off.
Updating from an older version
PINs saved by older versions in players.yml are moved to the database, hashed, the next time each player joins.
Photos
Getting Started
- Join the server. The register keypad opens.
- Click the numbers of your PIN (at least 2 digits, and no more than
Max-Pin-Length, 4 by default). To remove the last digit, press the drop key on any number or right-click the emerald. - Click the emerald to confirm.
- Next time you join, click your PIN in. You're logged in as soon as it's right. The lava bucket removes the last digit.
- (Optional) Stand where players should wait and run
/rl settplogin, then stand where they should go after logging in and run/rl settpafterlogin.
Commands
Base commands: /reallogin, /rl
| Command | Description | Permission |
|---|---|---|
/rl |
Shows the plugin version and build | None |
/rl logout |
Ends your session and asks for your PIN again | None |
/rl resetpin |
Deletes your PIN so you can choose a new one straight away | reallogin.resetpin |
/rl reload |
Reloads the config | reallogin.admin |
/rl settings |
Opens the settings editor (needs 1.21.6+) | reallogin.admin |
/rl info <player> |
Shows a player's locale, session, login count, latest logins and last 10 IPs | reallogin.admin |
/rl bypass <player> |
Logs in an online player who is waiting at the keypad | reallogin.admin |
/rl deletepin <player> |
Deletes a player's PIN; they register a new one when they next join | reallogin.admin |
/rl settplogin / /rl settpafterlogin |
Sets the login or after-login location to where you stand | reallogin.admin |
/rl tplogin / /rl tpafterlogin |
Teleports you to that location | reallogin.admin |
/rl deltplogin / /rl deltpafterlogin |
Deletes that location | reallogin.admin |
Permissions
| Permission | Description |
|---|---|
reallogin.admin |
All admin commands |
reallogin.resetpin |
Can reset their own PIN with /rl resetpin |
Requirements
- Spigot, Paper or a fork, 1.13 to 26.x
- Java 16+
- Optional: RealPermissions
Installation
- Put the jar in your
pluginsfolder. - Restart the server.
- To use MySQL, set the connection details in
plugins/RealLogin/sql.ymland restart. - Edit
plugins/RealLogin/config.ymland run/rl reload, or use/rl settingson 1.21.6+.
Need help or found a bug?
Please don't use the comments for bug reports. Get in touch through:
This plugin uses bStats to collect anonymous usage statistics. You can turn this off in plugins/bStats/config.yml.


