SecureLoginPVP
Author: DaCoNDe
Compatible With MultiWorlds and MySQL/SQLite!
Compatible With All Bukkit Versions!
Description
SecureLoginPVP is designed to be used in PVP servers, providing the safest current authentication system. Once you have installed SecureLoginPVP, when the players enter the server are automatically teleported to a point, keeping their true location and when the users register or login, they are teleported back to this true location. While you are not registered or login, you can not perform any action, there is a certain period of time to register or login. The password are encrypted with SHA-256 and saved in SQL or MySQL.
How to use
First Login
To configurate this plugin, you have to connect to the server. This will create a spawn point with your location as default. Now you can set the spawn point.
Commands
/!\ The arguments must be written.
- /register [password] ; This command register you to the server.
- /login [password] ; This command login you to the server
- /setpassword [password] ; this command change you own password
- /setloginspawn ; this command sets your location as default login spawn point.
Permisions: SecureLoginPVP.setspawn - /setloginuserpassword [player] [password] ; this command sets to a player a new password.
Permisions: SecureLoginPVP.setuserpassword - /deleteloginuser [player] ; this command remove the account of the user.
Permisions: SecureLoginPVP.deleteloginuser - /unlogplayer [player] ; this command set player unlogged.
Permisions: SecureLoginPVP.unlogplayer
Translations
To translate the plugin you only have to open config.yml file and translate the language configuration:
English
language: incorrectcommand: Incorrect Command loginusedkick: You have been kicked because there are other player with your name logged deleteduserkick: You have been kicked because your account has been deleted registerusing: Register using 40secondsregister: You have got 40 seconds to register! morefaster: You have to be more faster! logusing: Login using 20secondslogin: You have got 20 seconds to login! loginsuccess: You have logged successfully! Enjoy! registersuccess: You have registered successfully! Enjoy! changepasswordsuccess: You have changed your password successfully! notregistered: You didn't register, type wrongpassword: Wrong password! alreadyregistered: Your account is already registered! mustloggued: You have to be logged to use this command! mustnotloggued: You don't have to be logged to use this command! changeuserpasswordsuccess: You have changed the password from user mustbeplayer: You have to be a Player to use this command changedspawnpointsuccess: You have changed the login spawn point successfully to playernotregistered: This user hasn't registered yet playerremoved: You have removed successfully the user
Spanish
language: incorrectcommand: Comando incorrecto loginusedkick: Has sido kickeado porque hay otro usuario con su nombre logueado deleteduserkick: Has sido kickeado porque su registro ha sido eliminado registerusing: Registrate usando 40secondsregister: Tienes 40 segundos para registrarte! morefaster: Debes ser mas rapido! logusing: Logueate usando 20secondslogin: Tienes 20 segundos para loguearte! loginsuccess: Te has logueado con exito! Diviertete! registersuccess: Te has registrado con exito! Diviertete! changepasswordsuccess: Has cambiado la contraseña con exito! notregistered: No te has registrado, escribe wrongpassword: Contraseña incorrecta! alreadyregistered: Su cuenta ya esta registrada! mustloggued: Debes estar logueado para usar este comando! mustnotloggued: No debes estar logueado para poder usar este comando! changeuserpasswordsuccess: Has cambiado la contraseña del usuario mustbeplayer: Debes ser un jugador para usar este comando changedspawnpointsuccess: Has cambiado el login spawn point a playernotregistered: Este usuario no se ha registrado todavia! playerremoved: Has eliminado correctamente al usuario
Chinese(ZH)
language: incorrectcommand: 错误的命令 loginusedkick: 您已经被踢出 , 因为您的用户名已经被使用 deleteduserkick: 您已经被踢出 , 因为您的账户已经被删除 registerusing: 注册中 40secondsregister: 您有40秒的时间来完成注册 morefaster: 你需要更快! logusing: 登陆中 20secondslogin: 您有20秒的时间进行登录! loginsuccess: 登陆成功! 祝您有快乐的游戏时间! registersuccess: 注册成功! 祝您有快乐的游戏时间! changepasswordsuccess: 您已经成功的修改了您的密码! notregistered: 您还没有注册 请使用/register [密码]来进行注册 wrongpassword: 密码错误! alreadyregistered: 您的账户已经被注册! mustloggued: 你需要登录才可以使用命令! mustnotloggued: 你不能在没登陆的时候使用该命令! changeuserpasswordsuccess: 你成功的修改了用户密码 mustbeplayer: 只有玩家可以使用! changedspawnpointsuccess: 更改登陆重生点成功 playernotregistered: 该用户还未登陆 playerremoved: 你已经成功的删除该用户
Thanks to zhuzhyzhe1
Traditional Chinese(ZH-TW)
language: incorrectcommand: 錯誤的命令 loginusedkick: 您已經被踢出, 因為您的用戶名已經被使用 deleteduserkick: 您已經被踢出, 因為您的賬戶已經被刪除 registerusing: 註冊中 40secondsregister: 您有40秒的時間來完成註冊 morefaster: 你需要更快! logusing: 登陸中 20secondslogin: 您有20秒的時間進行登錄! loginsuccess: 登陸成功! 祝您有快樂的遊戲時間! registersuccess: 註冊成功! 祝您有快樂的遊戲時間! changepasswordsuccess: 您已經成功的修改了您的密碼! notregistered: 您還沒有註冊請使用/register [密碼]來進行註冊 wrongpassword: 密碼錯誤! alreadyregistered: 您的賬戶已經被註冊! mustloggued: 你需要登錄才可以使用命令! mustnotloggued: 你不能在沒登陸的時候使用該命令! changeuserpasswordsuccess: 你成功的修改了用戶密碼 mustbeplayer: 只有玩家可以使用! changedspawnpointsuccess: 更改登陸重生點成功 playernotregistered: 該用戶還未登陸 playerremoved: 你已經成功的刪除該用戶
Thanks to zhuzhyzhe1
Czech (cs-CZ)
language: incorrectcommand: Prikaz byl spatne zadan loginusedkick: Byl jsi vykopnut. Nekdo uz tento nick pouziva deleteduserkick: Byl jsi vykopnut, protoze tvuj ucet byl vymazan registerusing: Zaregistruj se pomoci 40secondsregister: Mas 40 sekund na registraci! morefaster: Musite byt rychlejsi! logusing: Prihlas se pomoci 20secondslogin: Mas 20 sekund na prihlaseni! loginsuccess: Prave jsi se uspesne prihlasil! Vitej! registersuccess: Prave jsi se uspesne zaregistroval! Vitej! changepasswordsuccess: Uspesne jsi zmenil sve heslo! notregistered: Nejsi zaregistrovan dej wrongpassword: Napsal jsi spatne heslo. Pokud ti to dal nepujde kontaktuj Administratora! alreadyregistered: Tento ucet uz nekdo pouziva! mustloggued: Musite byt prihlaseny k pouziti tohoto prikazu! mustnotloggued: Nemusite byt prihlaseni k pouziti tohoto prikazu! changeuserpasswordsuccess: Zmenili jste heslo uzivatele mustbeplayer: Pro pouziti tohoto prikazu musis byt hrac changedspawnpointsuccess: Prihlasovaci spawn byl uspesne zmenen playernotregistered: Tento uzivatel jeste neni zaregistrovan playerremoved: Prave jsi odstranil uzivatele:
Thanks to StanoMalek
Dutch
language: incorrectcommand: Ongeldig command! loginusedkick: Je hebt een kick omdat er momenteel een andere speler met deze naam op de server zit deleteduserkick: Je hebt een kick omdat je account is verwijderd registerusing: Je moet je registreren 40secondsregister: Je hebt 40 seconden om jezelf te registreren! morefaster: Jammer! Probeer het de volgende iets sneller logusing: Je moet inloggen 20secondslogin: Je hebt 20 seconden om jezelf in te loggen! loginsuccess: Je bent succesvol ingelogd! Een fijne dag toegewenst, [servername] registersuccess: Je hebt jezelf succesvol geregistreerd! Een fijne dag toegewenst, [servername] changepasswordsuccess: Wachtwoord is succesvol veranderd! notregistered: Je hebt je niet geregistreerd, type wrongpassword: Fout wachtwoord! alreadyregistered: Dit account bestaat al! mustloggued: Oeps! Je moet ingelogd zijn om dit command te gebruiken! mustnotloggued: Je hoeft niet ingelogd te zijn om dit command te gebruiken! changeuserpasswordsuccess: Je hebt het wachtwoord verandert van mustbeplayer: Je moet een in game speler zijn om dit command te kunnen gebruiken! changedspawnpointsuccess: Je hebt de loginspawn veranderd naar playernotregistered: Deze gebruiker heeft zich nog niet geregistreerd playerremoved: Je hebt de volgende gebruiker succesvol verwijderd
Thanks to Kyl0flip
Portuguese
language: incorrectcommand: Comando Incorreto loginusedkick: Foste expulso porque ja existe um jogador ligado com o mesmo nome que o teu deleteduserkick: Foste expulso porque a tua conta foi eliminada registerusing: Resgista-te usando 40secondsregister: Tens 40 segundos para te registares! morefaster: Tens que ser mais rapido! logusing: Faz login usando 20secondslogin: Tens 20 segundos para te ligares! loginsuccess: Login efetuado com sucesso! registersuccess: Registo efetuado com sucesso! changepasswordsuccess: Mudaste a tua palavra-passe con sucesso! notregistered: Nao te registaste, escreve wrongpassword: Palavra-passe errada! alreadyregistered: A tua conta ja se encontra registada! mustloggued: Tens que fazer login para utilizar este comando! mustnotloggued: Nao tens que ter o login feito para utilizares este comando! changeuserpasswordsuccess: Mudaste a palavra-passe do utilizador mustbeplayer: Tens que ser um jogador para utilizares este comando changedspawnpointsuccess: Mudaste o ponto de spawn com sucesso para playernotregistered: Este jogador ainda nao se registou playerremoved: Removeste com sucesso o utilizador
Thanks to iPedro2
Can I reprint this plugin to Chinese BBS?
@StillSwingin
If anyone has problem with players getting stuck in portals - check this out - http://dev.bukkit.org/bukkit-plugins/portalunstuck/ (once it is approved)
happens the same to me i got to manage to get the esc screen and go to the console an tp myself or gamemode in your , but its good you bring that up so the plugin creator can fix that xD
Well the plugin is really okay but I've got a problem, when I disconnect being in creative mode, and I login later, I am not able to write the required command or even open the ESC menu.
Is there any solution?
Hi, thanks you for your suggestions and your feedback. I will add it to next version list of posible features.
Thanks. DaCoNDe.
@Zaltora
Hi, I like this plugin, it is very cool but i have 2 problem to report with new player. These options need to be integrate in this plugin:
-This plugin need a new config for teleport the player (or not) at the spawn point of the world after successfull register (work with essential ?). This option is cool for create "buffer" area for new player like people who login. When people are new, they stay at the login spawn after register but i have already a spawn for new player on the map.
-The plugin need do not erase inventory of players if they are new and need register. I use essentials for begin on my server with few elements. It is work when we come on the server. But after a register, all items are deleted.
These 2 suggestion is only for new players who need to register, rest of this plugin work wery well. good job. I don't no if suggestion can be made here so i post here :) . sorry for my faults.
still command to purgue players not active
Best Plugin !!
Thaaaank u Veeerrry Muuuch
@Hugo74
This guys sucks at tracking his plugin. What kind of server(bukkit, forge)? And how are you restarting the server? Is your server up to date?
MelkorCraft Creative and Survival server. www.melkorcraft.enjin.com Connect with 198.245.68.48
hello , i have a problem, when i Reboot my serv , the plugin doesn't ask me to login and we can move, break blocks etc .... and only whand i diconnect/reconnect he ask me to login !
This is awesome!
Also works well with 1.6.4!
THX!
@DarkValaMorgoth
Looks to be something in the bukkit build. I rolled back one build and it works fine now.
2013-09-06 22:00:33 [INFO] DarkValaMorgoth lost connection: disconnect.quitting 2013-09-06 22:00:33 [SEVERE] com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed by the driver. 2013-09-06 22:00:33 [SEVERE] at sun.reflect.GeneratedConstructorAccessor231.newInstance(Unknown Source) 2013-09-06 22:00:33 [SEVERE] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 2013-09-06 22:00:33 [SEVERE] at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.Util.getInstance(Util.java:382) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1213) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1200) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4203) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4169) 2013-09-06 22:00:33 [SEVERE] at lib.PatPeter.SQLibrary.Database.prepare(Database.java:258) 2013-09-06 22:00:33 [SEVERE] at me.DaCoNDe.SecureLoginPVP.SQLFile.isPlayerLogged(SQLFile.java:79) 2013-09-06 22:00:33 [SEVERE] at me.DaCoNDe.SecureLoginPVP.LoginPlayerListener.OnPlayerDisconnectServer(LoginPlayerListener.java:80) 2013-09-06 22:00:33 [SEVERE] at sun.reflect.GeneratedMethodAccessor248.invoke(Unknown Source) 2013-09-06 22:00:33 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 2013-09-06 22:00:33 [SEVERE] at java.lang.reflect.Method.invoke(Method.java:601) 2013-09-06 22:00:33 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) 2013-09-06 22:00:33 [SEVERE] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 2013-09-06 22:00:33 [SEVERE] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) 2013-09-06 22:00:33 [SEVERE] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.PlayerList.disconnect(PlayerList.java:258) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:688) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.NetworkManager.b(NetworkManager.java:302) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:116) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.DedicatedServerConnection.b(SourceFile:30) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:590) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582) 2013-09-06 22:00:33 [SEVERE] Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 33,577,949 milliseconds ago. The last packet sent successfully to the server was 7 milliseconds ago. 2013-09-06 22:00:33 [SEVERE] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 2013-09-06 22:00:33 [SEVERE] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 2013-09-06 22:00:33 [SEVERE] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 2013-09-06 22:00:33 [SEVERE] at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2273) 2013-09-06 22:00:33 [SEVERE] at me.DaCoNDe.SecureLoginPVP.SQLFile.isPlayerLogged(SQLFile.java:79) 2013-09-06 22:00:33 [SEVERE] at me.DaCoNDe.SecureLoginPVP.LoginPlayerListener.OnPlayerJoinServer(LoginPlayerListener.java:48) 2013-09-06 22:00:33 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2013-09-06 22:00:33 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 2013-09-06 22:00:33 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 2013-09-06 22:00:33 [SEVERE] at java.lang.reflect.Method.invoke(Method.java:601) 2013-09-06 22:00:33 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) 2013-09-06 22:00:33 [SEVERE] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 2013-09-06 22:00:33 [SEVERE] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) 2013-09-06 22:00:33 [SEVERE] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.PlayerList.c(PlayerList.java:206) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.PlayerList.a(PlayerList.java:102) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.PendingConnection.e(PendingConnection.java:133) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.PendingConnection.d(PendingConnection.java:43) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:41) 2013-09-06 22:00:33 [SEVERE] at net.minecraft.server.v1_6_R2.DedicatedServerConnection.b(SourceFile:29) 2013-09-06 22:00:33 [SEVERE] ... 5 more 2013-09-06 22:00:33 [SEVERE] Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2529) 2013-09-06 22:00:33 [SEVERE] at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979) 2013-09-06 22:00:33 [SEVERE] ... 28 more 2013-09-06 22:00:54 [SEVERE] Reached end of stream for /108.30.15.119 2013-09-06 22:01:29 [SEVERE] Reached end of stream for /94.231.106.109 2013-09-06 22:01:29 [INFO] /94.231.106.109:60639 lost connection 2013-09-06 22:01:32 [SEVERE] Reached end of stream for /176.58.114.202 2013-09-06 22:01:32 [INFO] /176.58.114.202:58864 lost connection 2013-09-06 22:01:33 [SEVERE] Reached end of stream for /37.59.35.201 2013-09-06 22:01:57 [SEVERE] Reached end of stream for /76.226.120.67 2013-09-06 22:02:00 [INFO] DarkValaMorgoth[/76.226.120.67:61188] logged in with entity id 345559 at ([Server1] -391.49921487405663, 6.0, 252.72912021909218) 2013-09-06 22:02:00 [INFO] [VanishNoPacket] DarkValaMorgoth disappeared. 2013-09-06 22:02:00 [SEVERE] com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed by the driver. 2013-09-06 22:02:00 [SEVERE] at sun.reflect.GeneratedConstructorAccessor231.newInstance(Unknown Source) 2013-09-06 22:02:00 [SEVERE] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 2013-09-06 22:02:00 [SEVERE] at java.lang.reflect.Constructor.newInstance(Construc
this plugin is no longer working for the most recent bukkit build..... tells players to register even after they have...
Is there a way to un-encrypt the passwords in the mysql file? I would like to transfer my password data into another plugin.
@DarkValaMorgoth
I believe my memory leak is being caused by this plugin.
Will you be updating this to 1.6.2 I use your plugin and I want it updated so I don't lose my players passwords if I end up switching. I already use it on 1.6.2 and it seems to work fine but I have noticed some slow (compared to before) operations on it's behalf.
@bor691
Hi,
this plugin uses SHA-256 to hash passwords. In PHP there is a function called "SHA()" that convert his argument to SHA hash.
hi , what is the format used to hash passwords ? i want to make registration from a website and i need to be able to create passwords in php to import in mysql
thank you for the dutch translation
Sest génial se plugin