Ultimate Login 2
Minecraft spigot plugin for user authorization in cases:
- Need additional protection for players or administration even on online servers;
- Offline servers;
- Other unknown for me reasons.
Features
- Accounts file doesn't contain any readable information. If someone can compromise your server files, they won't even get nicknames, not even the administration, not even me.
Example of raw user account file:
Code (Text):
u8JxG/HRwVKyGwDNrfifpjfHYjj/yHGxfhu1ypkIoQQ=iyf3gqHFNI2Jcs55zUuUv5NpPQz3cDE05QGNoiGAi14=R0rMCu0qXk/NJm+JZe3wlJ7sLbyobjSRajZt5eO5m4Q=EsoXtJryKJQ28wPgFmAwoh5SXSZuIJJnQzgBqP1AcaA=00
- Protection against file modification. If someone modified accounts file, remain info still usable by plugin;
- User information saved inside file, so no need to enter password every time they join, only if suspicious activity spotted;
- If user ran of of their attempts, user gets permanently banned, until admins manually pardon them;
- Password complexity check;
- Dynamic language support.
Complexity Check
Can be turned on or off, can be modified to fit admins preferences.
Code (YAML):
password-complexity-check
: false
password-complexity-demand:
uppercase
: true
lowercase
: true
numbers
: true
non-alpha-numeric
: false
- Uppercase: A-Z
- Lowercase: a-z
- Numbers: 0-9
- Non alpha: #?!@$%^&*-
Dynamic Language
If config.yml propertly configured and languages added, plugin can automatically detect user's client language and show messages on that language. Default language is english, so if user have language that is not in config file, messages will be in english.
All instructions and how to add your own language can be found in config.yml.
Here user's language is english:
Here is russian:
Version 1 was made and used only by me and my friends, so it's never listed anywhere, but still this is version 2.
Source Code and Bug Report
Additional info and source code:
https://github.com/DrachenClon22/ultimate-login-2
If you found any bugs, feel free to submit it:
https://github.com/DrachenClon22/ultimate-login-2/issues
Important Note
Each update I try to improve password and user information storage system, but maintain backward and forward compatibility, keep in mind that when using updates, users will sometimes have to re-enter their password.
If you plan to upgrade from older version, always read the changelog carefully.
Basic commands
- /register <password> <password> - used for registration on the server, it is recommended to remember the password, because you do not have to enter it every time you logging on the server;
- /login <password> - used in cases of suspicious activities in user account, or if password has been changed by admins;
- /password change <from> <to> <to> - used for updating the user's password by user;
- /password logout - used for logging out of the system for current user.
Admin commands
- /password user <user> set <to> - sets password for specific user;
- /password user <user> delete - remove user from database;
- /password reload - reload config.yml.
Permissions
Code (YAML):
login.basic:
description
: Allows to use the basic commands
default
: true
login.*:
description
: Get access to
all UltimateLogin commands
default
: op
children:
login.basics
: true
login.set.*
: true
login.set.other
: true
login.set.admin
: true
login.delete.users
: true
login.delete.admin
: true
login.delete.users:
description
: Allows to delete passwords for users
default
: op
login.delete.admin:
description
: Allows to delete passwords for admins
default
: op
children:
login.delete.users
: true
login.set.*:
description
: Allows to use
all of the set commands
default
: op
children:
login.set.other
: true
login.set.admin
: true
login.set.admin:
description
: Allows to use
all of the set commands for players and admins
default
: op
children:
login.set.other
: true
login.set.other:
description
: Allows to use
all of the set commands for players
default
: op