Password Log On

Bukkit Plugins
5,123 Downloads Last Updated: Mar 28, 2022 Game Version: 1.18.2   +6

Concept

The concept of this plugin is inspired by Reddit. This plugin helps to add passwords on login, as an authentication feature for offline servers. That's it. Yeah. I thought this section would be longer too. This plugin lets individual users create their own passwords. This is not a password that allows only certain players from joining. This plugin provides functionality to stop two players from using one account.

 

Disclaimer 

I think that this is a good time to say that while I created this plugin, the intended use case is for servers that prefer to be offline, and for servers that need to be offline. I in no way encourage the use of non premium accounts, and servers which primarily have non premium players are not the target audience of this plugin. (If you don't know what an offline server is, chances is that your server is online).

 

What this plugin aims to solve

This plugin aims to solve the problem of lack of authentication on offline servers. While online servers do not struggle with this problem, offline servers run a risk of having multiple players log in under the same name, potentially ruining a player experience. This plugin adds player authentication in order for them to continue playing (on log in and on server reload).

 

Password Log On 

Features:    

  • Simple and lightweight.
  • One time setup of password.
  • Reset-able password with old password.
  • Simple /pw command to setup for individual players, and just enter password into chat after!
  • Different users, different passwords. No need to share.
  • Teleport players to a customisable location in whatever dimension they are in when enter, and teleport to last log off point on successful authentication.
  • Preventive measure to stop players from dying when password is not entered.
  • Usage over multiple worlds supported!
  • Includes messages.yml.
  • Ops can be impersonated in offline servers. Only the console and people with access to files can manually reset the password (in the case where a player forgets their password).

The log on screen for a player whose last log off was in the end dimension.

 

Why Players will enter their passwords  

Without logging in, they can't do the following:

  • Cannot move far pass spawn
  • Cannot break blocks
  • Cannot place blocks
  • Cannot kill other players
  • Cannot drop items
  • Cannot pickup items
  • Hard to die
  • Cannot reorganize inventory.

Therefore, the player cannot do much without entering their password!

 

Commands  

  • /pw set (password): Sets a password for a new user.
  • /pw reset (old password) (new password): Resets password for existing user.
  • /pw setarea [overworld/nether/end] (x1) (x2) (y) (z1) (z2)

To type in password on log on, just type it into chat as if it is a message! (e.g. if my password is "a", I would type "a" into chat, and not "/a" or "/pw a". /pw set and /pw reset are the only two commands provided (Well, technically the plugin also provides /password, but it does the same thing as /pw)

In the case that a user forgets their password, only a person with access to the server files can go into the plugin's config.yml, and delete the password for the corresponding UUID. This is a purposeful design to stop impersonation in offline servers.


For /pw setarea, x1 and x2 will be the x area of the spawn platform.
z1 and z2 will be the z area of the spawn platform.
y is the level of the platform. 1 and 2 blocks above y will be set to air to prevent the player from suffocating. This command is only usable by console. You can also change the values in config.yml

 

Requirements 

The requirements are that file access to the server must not be compromised, as all the passwords will be stored in PasswordLogOn's config.yml file. The console should not be compromised as well, due to the individual player password being visible to the console as a command during initial setup or password reset.

 

bStats  

This plugin uses bStats to collect anonymous data about the server. This data helps me know how many people are using the plugin, and helps me makes decisions on maintaining the plugin. If you for any reason are uncomfortable with this. Disable bStats by going to /files/plugins/bStats/config.yml and changing the collection option to disable.

 

Closing

 

If there are any issues that you find, instead of negatively rating Password Log On, tell me about the issue on Discord/Github instead. Any suggestions? Discord/Github as well! I will not be reading the comments everyday, and I will be checking those platforms more often in comparison.

 

This is a plugin that is coded on 1.16+, and has been tested on 1.14 and 1.15. The plugin will not work below 1.14 and a back-port will not be made. As this is a 1.16+ coded plugin, I will be offering lesser support on 1.14 and 1.15. This is a Spigot based server plugin, therefore supported platforms include spigot forks like PaperMC, but not forge. A minimum of Java 11 is required. If you use Java 8, please update to Java 11 or later.

 

Individual players do not need to install this plugin on their instance of Minecraft for this to work, only server installation is needed. Just drop this plugin in your /plugins folder to install! Lastly, if you really enjoy this plugin, do consider buying me a coffee. Regardless, enjoy the plugin and I hope that it is useful!

 

Discord Link

Liberapay Link

Paypal Link

License: GPL-3.0

 

Comments

Posts Quoted: