UserLogin icon

UserLogin -----

A simple, and versatile, authentication system




Fixed an event-related error with the /login and /register commands.
----------, Jan 9, 2022

Man, it's been a while since the last update again. :unsure:

This update brings a new feature, a couple of small bug fixes, (hopefully) a small performance improvement, and some minor changes.

Also, there's now an official UserLogin website! It only has a FAQ section right now, but I'll be working on adding more content in the future.

(Is this title too big?)
Changelog:

  • Added Portuguese lang file (pt_BR.yml)
  • Renamed some config value names to be more concise. Don't worry, though, previous versions of the config still work! Still, you can check out the latest version here.
  • Added an inventoryClick restriction to prevent players from interacting with their inventory before logging in.
  • Made the /login and /register commands asynchronous, which should improve performance a bit.
  • Fixed a BungeeCord issue.
  • Fixed player positions not being saved with savePosition mode on a server shutdown.
----------, Jan 8, 2022

Mostly bug fixes. (and a new feature)

Changelog:

  • Added a configuration option to re-enable vanilla player join messages. (You can check it out here)
  • Fixed compatiblity for Minecraft versions lower than 1.17. (An issue caused in the last update)
  • Fixed the block placing and breaking restrictions.
  • Fixed lang messages being overwritten on server startup.
  • Included command aliases in the command logs filter.
----------, Nov 15, 2021

Mainly, fixed some bugs when loading the plugin in most server systems. (Turns out rewriting the plugin wasn't such a great idea)

Also, added the login commands feature, allowing the execution of custom commands when a player logs in. Useful for doing extra stuff on login, apart from teleporting and sending welcome messages.
----------, Oct 11, 2021

Hi everyone! It's been a while again. Sorry, I've been pretty inactive these last months. Good news is that I'm using a new development workflow that will make bug fixes and feature additions much more quick! As usual, feel free to report any issues on the plugin's GitHub repo, or in the support Discord server.

So, what's new?

  • /changepassword command: Pretty much that, players will be able to change their password. (Of course, as long as they remember their current one)
  • Max password attempts: It's now possible to kick players if they enter their password incorrectly a certain amount of times. (Remember that one iPhone lock screen feature? Yeah, that, but it kicks the player instead)
  • Official support for Minecraft 1.17: Actually, I think the plugin already worked in the previous version, although a warning appeared when loaded. All of that stuff has been fixed, you can now use the plugin normally in the most recent Minecraft version.
  • A couple of bug fixes here and there.

Additionally, I've removed the MongoDB and PostgreSQL drivers embedded into the plugin to reduce file size. Since pretty much no one uses those databases, maybe it's better to keep those as an opt-in feature.

Ah, there's also a change in the UserLogin API for developers. From now on, you'll have to use UserLoginAPI.INSTANCE to access the API's methods. This is due to the fact that I've rewritten the plugin in Kotlin recently (it's great!), and some stuff works differently with it. Don't worry though, the rest of the API remains unchanged and will still work the same as before.


Well, that's all for now. Be sure I'll be providing support for the plugin more actively from now on, so be sure to keep those bug reports coming! (I mean, maybe there aren't anymore bugs, but you know, just in case)

Anyways, thanks everyone for the support! Remember to stay home, and I hope to see you all later!
----------, Oct 8, 2021

Fixed a bug that caused the repeating welcome message to continue even after logging in.
----------, Feb 19, 2021

Mostly fixed a couple of bugs, and it's now possible to disable login broadcast messages.

Changelog:

- Added loginBroadcast to the configuration, which enables/disables login message broadcasting.
- Enabled auto-reconnect for MySQL connections.
- Some other bug fixes.
----------, Feb 17, 2021

Pretty much added password validation with regular expressions.

Changelog:

- Added a regex configuration in the password section to specify a regex that passwords must match.
- Added a new locale message for invalid passwords.
- Fixed a bug with the chat restriction that prevented it from working properly
----------, Feb 16, 2021

So there's been quite a few changes here. First, login and register commands are no longer logged, to prevent passwords from getting leaked via the console.

Also, there's now a configurable max password length, which will be used as the max VARCHAR length for the password column in SQL databases. The default value is 128.

As a side note, the max length of existing password columns (SQL) will be automatically updated.

Also, 2 new restrictions were added for attacking and receiving damage.

Anyways, here's the full changelog.

Changelog:

- Added a configurable max password length, which will be used when defining the data type for the password column in SQL databases.
- Added 2 new restrictions for attacking and receiving damage.
- Added log filtering to prevent login and register commands from being logged.
- Fixed various bugs.
- Changed the chart ID of a bStats graph.
----------, Feb 12, 2021

Okay this one does need a changelog

Changelog:

- Fixed an events-related error in Tuinity servers.
- The plugin will now remove the 'username' column in the MySQL database table if present, to improve backwards compatibility.
----------, Feb 11, 2021

Fixed a bug related to backwards compatibility in yaml storage
----------, Feb 11, 2021

Fixed a bug that prevented bStats from starting.
----------, Feb 11, 2021

Fixed a bug that caused the plugin to try to load FastLogin even if the latter wasn't enabled.
----------, Feb 10, 2021

Mostly bug fixes 8)

Also, the movement restriction configuration has been changed a little, but the plugin is still compatible with the previous version. Added a new restriction for placing blocks, too.

Changelog:

- Fixed a bug that logged off every player when using the reload command.
- Added backwards compatibility for the YAML database

- Added blockPlacing restriction.
- Made the movement restriction config into its own section.
- Removed comments for most restrictions in the default config, as it was mostly a waste of space.​
----------, Feb 10, 2021

Finally!

It's now possible for premium players to bypass authentication by using FastLogin along with this plugin. With the /premium command, premium players will be able to auto-log in without the need for a password.

Important: At least in my testing server, the current FastLogin version on the SpigotMC page showed a couple of bugs. For this reason, I recommend using the latest FastLogin development build (Currently #964) instead.

Full Changelog:

- Added support for FastLogin, enabling premium players to be logged in automatically.
- Nothing else, really. 8)
----------, Feb 9, 2021

Password encryption is now forced, it can't be toggled off anymore. This was done due to the insecurity of storing passwords without any kind of security, which might have caused password leaks.

The encryption algorythm has been changed, too. The plugin now uses Bcrypt to hash passwords.

No config changes are required for this update, the plugin will automatically encrypt previous passwords as players log in.

Also, a new optional configuration was added to the passwords section, called extraSalt, for incrementing the amount of salt rounds of the hashing algorythm.
----------, Feb 9, 2021

Fixed a bug where databases wouldn't disconnect properly.
----------, Feb 9, 2021

Hello there!

Sorry, I kinda had forgotten about the plugin. Surprisingly, it already has almost 20,000 downloads! That's really impresive if you ask me.

I've been pretty busy these last days working on the plugin. Made lots of rewrites and some bug fixes. There's not much new stuff, but I added support for 3 more databases. Also, turns out the MySQL implementation can also support MariaDB, so I guess that counts as 4 instead 8)

I have removed the join titles feature too. Since this plugin is just for authentication, I decided this should probably be handled by another plugin.

Important: Some configuration values and sections were changed, mostly those related to database configuration. You can always check the latest config.yml here. I recommend you check it, and update any necessary configurations.

Anyways, here's the complete changelog. I'll be working more on this plugin from now on! Stay tuned for new updates.

Changelog:

- Added support for PostgreSQL, SQLite, MongoDB and MariaDB databases.
- Data is now saved instantaneously instead of at an interval.
- Edited some default config.yml values
- Language files now use lower_underscore_case for their keys. Worry not! The plugin will automatically update any old keys with their new counterparts.
- The unregister command now works with any database type.
----------, Feb 8, 2021

Changelog:

- Fixed a couple of bugs with the welcome title.
- Added a new command to reset a user's password! (/ul unregister <player>)
- New entries on language files
----------, Oct 14, 2020

Fixed a bug on certain OS systems that bugged the lang file generation (Mostly happened on Linux)
----------, Sep 22, 2020

Changelog:

- It is now possible to repeat the welcome message in case players don't see it in time, with the "repeatingWelcomeMsg" value in config.yml.
- Now, the aliases for all commands are configurable! Check the new section in config.yml, called "commandAliases".
- It is now possible to send a message every set interval to a player to tell them of the moving restriction, and to log in to move.
- Welcome titles are now compatible with every Minecraft version!
- Command descriptions are now customizable.
- YAML data will now be saved to the MySQL database if it is the first time connecting to the database.
- Miscellaneous bug fixes.
----------, Sep 17, 2020

Fixed some bugs about the messages.yml file, the join title messages should now be created properly.
----------, Sep 11, 2020

Fixed some bugs about the messages.yml file, the join title messages should now be created properly.
----------, Sep 11, 2020

Quick patch to fix a bug with the /login and /register commands! Sorry for any inconveniences.
----------, Sep 8, 2020

Changelog:

- Added update checking, you'll get notified of any new versions!
- Fixed some MySQL bugs
- Added a new option to the MySQL configuration, useSSL.
- It is now possible to send a title message to players when they join!
----------, Sep 8, 2020

Changelog:

- New feature: IP records (Disabled by default): If enabled, players will automatically log in if they enter within the next 30 seconds (At least by default) with the same IP address as last time, to make the login system quicker.
- Also, the plugin version now appears on the "UserLogin enabled!" message.
----------, Aug 30, 2020

Yay, another update :D
Changelog:

- The plugin should now properly work with (almost) every Minecraft version.
- Added log and reg aliases for the login and register commands.
----------, Aug 30, 2020

Bugs fixed:

- The locations.yml and playerData.yml files will now be create properly.
- The commands restriction works properly now
----------, Aug 28, 2020

Added a new restriction! Add "blockBreak: true" the restrictions section of your config.yml to enable it. It will prevent non-logged in players from breaking blocks.
----------, Aug 22, 2020

Update 2.3.0

So, this update doesn't bring much to the functionality of the plugin itself, but now the plugin has an official API for developers, which includes some custom events and methods that will be useful to further modify the behavior of this plugin.

The API also has JavaDocs, so I hope those make using this easier for developers.
----------, Aug 21, 2020

Not much here, either. Just added 2 graphs for bStats (Don't worry about that), and made an improvement to the teleport system that will hopefully make the plugin less error-prone.
----------, Aug 20, 2020

Fixed some very important bugs with the MySQL database system, a bug related to saving data. I recommend updating as soon as possible just to be sure.

Also, added bStats ; )
----------, Aug 19, 2020

Not much in this update, just made some MySQL-related messages configurable, and added nullity annotations in the code.
----------, Aug 19, 2020

Just a small update, now it is possible to configure the database and table in config.yml for MySQL purposes, as suggested by Vrunk in the plugin discussion.
----------, Aug 18, 2020

So finally, I added support for BungeeCord servers! It is now possible to send a player to a certain server in the network, which can be specified in the config.yml file. For this reason, I recommend you review the changes made to the default config, to stay up-to-date with the changes.

Changelog:

- It is now possible to configure the plugin to send the player to another server in a BungeeCord network when they log in.
- Reorganized the config.yml sections.
- General code optimization
----------, Aug 18, 2020

More content in this update! Added some important functionalities that will hopefully make this plugin better for BungeeCord servers, and a handy feature for survival-only servers.

Changelog:

- Added a new mode: "SAVE-POSITION". In this mode, the locations of players will be stored when they disconnect from the server, and they will be teleported back there the next time they log in.
- Added multi-language support: Now, you will be able to create your own language files and specify which one you want the plugin to use, instead of using a messages.yml file. (The plugin comes with english and spanish language files by default)
- Most importantly, added MySQL support! This can be enabled in config.yml, and all data will be stored in the database of your choice. This feature might still need some tweaks here and there, so be sure to inform me of any bugs!
- Added a new command: /ul sql. It will show the current status of the MySQL connection, whether it is connected, disconnected, or disabled.
- Fixed a teleport bug that caused players to fall into the void in rare ocassions.
[I recommend you check the updated config.yml file in the plugin's description to copy new values that will be missing from your own configuration]

----------, Aug 17, 2020

Update 2.0!

So, it's been a while since I last updated this plugin, sorry for that. However, I took my time to rewrite all the code, because the previous version was a complete mess. Don't worry, it still has all of the previous features, although the code has completely changed, and is now a lot more optimized. Also, there have been some minor changes, but mostly on the configuration files, as I have completely restructured them. Also, all commands are now grouped into sub-commands of " /ul <command>" I hope all of this will make the plugin easier to use.

[I recommend you delete your current configuration files, as they will probably not work with this version. This includes playerData.yml]


Changelog:

- Completely rewrote the code from scratch
- Passwords are now encrypted in a totally different way
- Since the code is much cleaner, the plugin is now more stable and less prone to errors and bugs.
- Restructured all configuration (YAML) files completely, and added comments to config.yml to explain properly each option.
- The source code for the plugin is now available here.
----------, Aug 10, 2020

Changelog:

- Added support for hex color codes in messages.yml (1.16 only)
----------, Jul 11, 2020

Changelog:

- Bug fixes: Fixed some messages appearing on the wrong time, and some operator-related bugs.
----------, Jun 30, 2020

Changelog:

- New feature: If enabled, players will not be able to move before they log in.
- New feature: In config.yml, there is now a list of commands that will be disabled for non-logged in players.
- New feature: It is now possible to block chat messages from non-logged in players
- Reorganized config.yml and messages.yml values. [I recommend deleting your current config.yml and messages.yml to reset it with the new changes]
- Messages.yml is now even more configurable, as it is now possible to change the position of variables inside of them. (E.g. "{player}", "{min}")
- It is now possible to configure wether you want players to be teleported to the loginSpawn on join or not.
- General bug fixes

New config.yml values:

- loginTeleportOnJoin: Determines wether to teleport a player to loginSpawn on join or not.
- loginDisabledCommands: The list of commands disabled for non-logged in players.
- disableMovement: Determines wether to restrict movement for non-logged in players or not.
- disableChatBeforeLogin: Determines wether to block chat messages from non-logged in players.
----------, Jun 30, 2020

Changelog:

- Disabled players' names appearing as tab-completion for any command.
----------, Jun 29, 2020

Changelog:

- Fixed a bug when using /register.
----------, Jun 28, 2020

Changelog:

- Fixed a major bug that caused players to be kicked even when they were logged in, if the login world was the same as the lobby world.
- Fixed a bug that caused an error if the lobbySpawn or loginSpawn coordinates were not set in some cases.


New playerData.yml values:

- playerUUID.isLoggedIn: Ignore this value, it just tells the plugin wether to kick a player after the time out period passes or not.
----------, Jun 27, 2020

Changelog:

- Fixed a major bug that caused players to be kicked even when they were logged in, if the login world was the same as the lobby world.
- Fixed a bug that caused an error if the lobbySpawn or loginSpawn coordinates were not set in some cases.


New "playerData.yml" values:

- playerUUID.isLoggedIn: Ignore this value, it just tells the plugin wether to kick a player after the time out period passes or not.
----------, Jun 27, 2020

Changelog:

- New feature: Minimum characters: You are now able to configurate how many characters passwords must have as a minimum, to prevent players from making them too short.
- Many config.yml values have been rearranged for better organization.

- Minor bug fixes

New config.yml values:

- passwords.minimumCharacters: The amount of characters a new player's password must have as a minimum. (4 by default)
----------, Jun 27, 2020

Changelog:

- New "password encryption" functionality!: If enabled, all passwords will be stored in an encrypted format, so that not even operators can see other players' passwords.
- Teleporting to lobby, now togglable: Now, it is possible to define if you want players to teleport to the lobby coordinates when they log in or register.

- Minor bug fixes


New config.yml values:

- encryptPasswords: Enable or disable password encryption.
- lobbyTeleportOnLogin: Enable or disable teleporting players to the lobby coordinates when they log in or register.
----------, Jun 26, 2020

Resource Information
Author:
----------
Total Downloads: 275,748
First Release: Jun 25, 2020
Last Update: Jan 9, 2022
Category: ---------------
All-Time Rating:
54 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings