MyLogin is a lightweight authentication plugin for Minecraft servers. It provides secure password-based login, strong pre-login protection, IP-based auto login.
MyLogin is a lightweight authentication and account-protection plugin for Minecraft Paper servers.
It provides password-based authentication, migration from Passky, offline-mode account protection, duplicate session protection, and administrative account management tools.
MyLogin was created as a modern alternative to Passky, allowing server owners to continue using existing player login data while maintaining compatibility with current Paper releases.
The plugin supports migration of existing Passky SHA-256 password data, allowing players to keep their existing passwords after migration.
MyLogin uses only the standard Bukkit/Paper API and does not use NMS or CraftBukkit internals.
Because of this, the plugin is expected to work on newer Paper builds, including current 26.1.x releases, but only Paper 1.21.x is officially supported.
| Command | Description |
|---|---|
/register <password> <password> |
Register a new account |
/login <password> |
Log into your account |
/changepassword <old> <new> |
Change your password |
/logout |
Log out of your current session |
| Command | Permission | Description |
|---|---|---|
/migrate |
mylogin.admin |
Migrate Passky user data |
/resetpassword <player> <newpassword> |
mylogin.admin |
Reset a player's password |
/deleteplayer <player> |
mylogin.admin |
Delete a player's account |
/mylogin reload |
mylogin.admin |
Reload configuration |
/mylogin scannamecollisions |
mylogin.admin |
Scan users.yml for username case collisions |
/mylogin checkplayer <player> |
mylogin.admin |
View player login information |
/mylogin stats |
mylogin.admin |
View MyLogin statistics |
Example:
login-timeout-seconds: 300
max-login-attempts: 5
min-password-length: 4
max-password-length: 32
ip-remember: true
ip-remember-timeout: 86400
effects:
blind: true
firework: true
security:
enforce-name-case: false
scan-name-collisions-on-startup: true
block-duplicate-sessions: true
migration:
skip-existing-users: true
Offline-mode servers treat usernames with different capitalization as different accounts.
Examples:
SkyBuilder
SKYBUILDER
sKyBuIlDeR
When enabled:
security:
enforce-name-case: true
Players must reconnect using the exact username capitalization originally registered.
Example:
Registered:
SkyBuilder
Joining:
SKYBUILDER
Result:
This name is already registered as 'SkyBuilder'.
Please reconnect using that exact name.
This helps prevent:
When enabled:
security:
block-duplicate-sessions: true
If a player is already online:
SkyBuilder
and another client attempts to connect using:
SkyBuilder
the new connection is denied and the original player remains online.
When enabled:
security:
scan-name-collisions-on-startup: true
MyLogin scans users.yml for username case collisions.
Example:
SkyBuilder
SKYBUILDER
sKyBuIlDeR
Results are written to:
plugins/MyLogin/data/name-collision-log.yml
Requirements:
MyLogin can import existing Passky accounts without requiring players to register again.
Migration files:
plugins/MyLogin/Migration/old-users.yml
plugins/MyLogin/Migration/migration-log.yml
Migration protection:
migration:
skip-existing-users: true
Existing MyLogin accounts are not overwritten by default.
Main data files:
plugins/MyLogin/data/users.yml
plugins/MyLogin/data/name-collision-log.yml
plugins/MyLogin/Migration/old-users.yml
plugins/MyLogin/Migration/migration-log.yml
MIT License