LoginSecurity

LoginSecurity
LoginSecurity is a lightweight password authorization plugin. You can optionally set a password each time you enter the server, adding a double layer of security to your account. The password is stored inside the configuration file, nobody else except the server owner can access or modify it.
How does it work?
Install the pluign to your /plugins/ directory, then start your server.
Type /register <password>, your account is now locked with a password.
For each time you login, make sure to use /login <password>.
Features
- Register your account optional or required (change in config)
- 5 Useful commands to mangage your password
- Advanced administrative control
- Advanced documentation via wiki
- Secure password storage using BCrypt
- Secure sessions storing to improve user experience
- Customizable time-out
- Map captcha upon registration (user friendly)
- Conversion from AuthMe and xAuth (check wiki for more info)
- Premium support through AutoIn
- Automatic update with changelog overview
- Username filtering (length and characters)
- Highly detailed configuration
- Automatically updated translation manager (user-submitted)
- Prevents being kicked by orther players loging in with your name
Session login allows the user to log in right after they logged out and not have to type in their password again. (1 minute time limit of being logged out, stores IP during that time to keep everything safe)
Commands
/lac - Admin command, rmpass and reload
/register <password> - Set your password
/login <password> - Login with your password
/changepass <old> <new> - change your password
/logout - Logout
Permissions
- loginsecurity.admin - allows admin command
- loginsecurity.update - shows update notifications
Video
Thanks to ServerMiner for making this informative tutorial
Orther tutorials: German (by MineCraftler4Live)
Planned
- Add translation interface for easier language selection
- Suggestions?
Known Bugs
- Players can mount/dismount and ride on vehicles while not logged in
Disclaimer
By default, LoginSecurity will check for updates from bukkitdev every 3 hours.
This feature can be disabled by setting "update-checker" to "false"
Anyone with the permission node ls.admin will be notified of updates, and it also able to download them via /lac update.
Which again can be disabled by disabling the update-checker
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
The Metrics version Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
Additionally, when the language setting is changed, information is retrieved from lang.lenis0012.com to aquire up to date translations.
Links
- v3.0.2 - Download (18 - 1.15)
- Source code (GitHub)
- https://github.com/lenis0012/LoginSecurity-2/wiki (Wiki)
- https://github.com/lenis0012/Translations/wiki/Contribute (Translation Contribution)
Donate
If you want to support me working on this project, please donate.
It helps me alot to keep my projects up.
Donate at the top right corner
-
View User Profile
-
Send Message
Posted May 5, 2013Suggestion
Please add a Perm to Exempt A group or Specific player from having to login, Would be very useful to me.
-
View User Profile
-
Send Message
Posted May 5, 2013Uplaoded v2.0.3
waiting for approval
-
View User Profile
-
Send Message
Posted May 5, 2013@BadDog8891
you can't
-
View User Profile
-
Send Message
Posted May 3, 2013@lenis0012
Then how do I recover or remove their password?
-
View User Profile
-
Send Message
Posted May 3, 2013@BadDog8891
You can no longer acces the passwords.
Some people touched it not knowing what they are doign and corrupted data files.
I remvoed YAML support in 2.0
-
View User Profile
-
Send Message
Posted May 3, 2013Someone in my server forgot their password, how can I reset or remove their password? When I open up the user.db file its blank, before I updated it I was able to open that file and remove peoples password.. Also it was named data.yml before i updated it.
-
View User Profile
-
Send Message
Posted May 3, 2013I don't understand. Can you say it better. Are you Netherlands?
-
View User Profile
-
Send Message
Posted May 2, 2013SUGGESTION: allow custom messages.
-
View User Profile
-
Send Message
Posted May 2, 2013@Minecrafter12341
Use Jenkins dev build from our jenkins server (wich is down atm)
-
View User Profile
-
Send Message
Posted May 2, 2013I have register a password. But when i want to login with that password. He said that the password is incorrectly. How can i fix this problem? This is the error:
22:45:10 [INFO] Levi_SkilZz issued server command: /login 2 22:45:10 [SEVERE] Failed to get user password java.sql.SQLException: Before start of result set at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841) at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:565 6) at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5576) at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5616) at com.lenis0012.bukkit.ls.data.MySQL.getPassword(MySQL.java:122) at com.lenis0012.bukkit.ls.encryption.PasswordManager.checkPass(Password Manager.java:10) at com.lenis0012.bukkit.ls.commands.LoginCommand.onCommand(LoginCommand. java:38) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18 9) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchCommand(CraftServe r.java:523) at net.minecraft.server.v1_5_R3.PlayerConnection.handleCommand(PlayerCon nection.java:965) at net.minecraft.server.v1_5_R3.PlayerConnection.chat(PlayerConnection.j ava:883) at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java :840) at net.minecraft.server.v1_5_R3.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_5_R3.NetworkManager.b(NetworkManager.java:292 ) at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java :109) at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35) at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:3 0) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5 81) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2 26) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4 77) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java :410) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5 73) 22:45:10 [SEVERE] Failed to get user encryption type java.sql.SQLException: Before start of result set at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2672) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2813) at com.lenis0012.bukkit.ls.data.MySQL.getEncryptionTypeId(MySQL.java:135 ) at com.lenis0012.bukkit.ls.encryption.PasswordManager.checkPass(Password Manager.java:11) at com.lenis0012.bukkit.ls.commands.LoginCommand.onCommand(LoginCommand. java:38) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18 9) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchCommand(CraftServe r.java:523) at net.minecraft.server.v1_5_R3.PlayerConnection.handleCommand(PlayerCon nection.java:965) at net.minecraft.server.v1_5_R3.PlayerConnection.chat(PlayerConnection.j ava:883) at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java :840) at net.minecraft.server.v1_5_R3.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_5_R3.NetworkManager.b(NetworkManager.java:292 ) at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java :109) at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35) at net.minecraft.server.v1_5_R3.DedicatedServerConnection.b(SourceFile:3 0) at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:5 81) at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:2 26) at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:4 77) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java :410) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5 73) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:5 73)
-
View User Profile
-
Send Message
Posted May 2, 2013Since I'm quite new to this, I understand that my questions are retarded. I have an sql buddy server on localhost and when I try to add the plugin so that it would store the data on the sql server instead of the location in the plugins folder, I lose all the data. Is there any way to import the .db file into the sql database? Also are we forced to use the MD5 encryption now? People on my server are children and they keep forgetting their passwords and so on. Also the Dev version website isn't working for me.
-
View User Profile
-
Send Message
Posted May 2, 2013@xNova13
The mesages to force login/register and timeout should have been fixed on #13 from Jenkins.
Try this build and tell me if its fixed
-
View User Profile
-
Send Message
Posted May 2, 2013@xNova13
Turn off the messager API in the config:
messager-api: false
This API will be used in the future to make an AutoLogin client mod
-
View User Profile
-
Send Message
Posted May 1, 2013Great! Nice job, Lenis. Only 1 little tiny thing, it doesn't prompt people whether to use /login or /register, other than that it works just fine.
-
View User Profile
-
Send Message
Posted May 1, 2013@Impulz59
no problem
-
View User Profile
-
Send Message
Posted May 1, 2013It works, thanks !
-
View User Profile
-
Send Message
Posted May 1, 2013@Impulz59
Try dev build #12 from ci.dj-tcraft.nl/job/LoginSecurity (our jenkins server)
-
View User Profile
-
Send Message
Posted May 1, 2013After register, login and a reboot of the server, i have this error :
14:45:14 [INFO] Impulz59 issued server command: /login mypassword 14:45:14 [SEVERE] Failed to get user password
java.sql.SQLException: Before start of result set at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841) at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5656) at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5576) at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5616) at com.lenis0012.bukkit.ls.data.MySQL.getPassword(MySQL.java:122) at com.lenis0012.bukkit.ls.encryption.PasswordManager.checkPass(PasswordManager.java:10) at com.lenis0012.bukkit.ls.commands.LoginCommand.onCommand(LoginCommand.java:38) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.dispatchCommand(CraftServer.java:523) at net.minecraft.server.v1_5_R2.PlayerConnection.handleCommand(PlayerConnection.java:966) at net.minecraft.server.v1_5_R2.PlayerConnection.chat(PlayerConnection.java:884) at net.minecraft.server.v1_5_R2.PlayerConnection.a(PlayerConnection.java:841) at net.minecraft.server.v1_5_R2.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_5_R2.NetworkManager.b(NetworkManager.java:292) at net.minecraft.server.v1_5_R2.PlayerConnection.d(PlayerConnection.java:110) at net.minecraft.server.v1_5_R2.ServerConnection.b(SourceFile:35) at net.minecraft.server.v1_5_R2.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:580) at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:225) at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:476) at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:409) at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
14:45:14 [SEVERE] Failed to get user encryption type
java.sql.SQLException: Before start of result set at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2672) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2813) at com.lenis0012.bukkit.ls.data.MySQL.getEncryptionTypeId(MySQL.java:135) at com.lenis0012.bukkit.ls.encryption.PasswordManager.checkPass(PasswordManager.java:11) at com.lenis0012.bukkit.ls.commands.LoginCommand.onCommand(LoginCommand.java:38) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.dispatchCommand(CraftServer.java:523) at net.minecraft.server.v1_5_R2.PlayerConnection.handleCommand(PlayerConnection.java:966) at net.minecraft.server.v1_5_R2.PlayerConnection.chat(PlayerConnection.java:884) at net.minecraft.server.v1_5_R2.PlayerConnection.a(PlayerConnection.java:841) at net.minecraft.server.v1_5_R2.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_5_R2.NetworkManager.b(NetworkManager.java:292) at net.minecraft.server.v1_5_R2.PlayerConnection.d(PlayerConnection.java:110) at net.minecraft.server.v1_5_R2.ServerConnection.b(SourceFile:35) at net.minecraft.server.v1_5_R2.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:580) at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:225) at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:476) at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:409) at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
What can I do? my server is in maintenance because of that..
-
View User Profile
-
Send Message
Posted May 1, 2013@xNova13
Uploaded v2.0.2
-
View User Profile
-
Send Message
Posted Apr 30, 2013Players can still execute commands even without logging in. This needs to be fixed ASAP.