[INACTIVE] AuthMe v0.72 - High Performance Authorization plugin - MySQL/flatfile support[740]

Discussion in 'Inactive/Unsupported Plugins' started by fabe, Jan 22, 2011.

  1. Offline

    fabe

    Hello guys,

    the last days I have made an alternative authorization plugin for Bukkit, called AuthMe.
    AuthMe prevents people, which aren't logged in, from doing stuff like placing blocks, moving, typing commands or seeing the inventory of the current player.
    The possibility to set up name spoof protection kicks players with uncommon long or short playernames before they could actually join.
    Login Sessions make it possible that you don't have to login within a given time period.

    Each command and every setting can be enabled or disabled by a easy structured config file.
    And if you don't prefer English or don't like my translations ;) you can easily edit nearly every message sent by AuthMe!

    Nearly every version gots tested for stability and lag-ness on my 50+ player server.

    In the next coming days I will add some new features, just make some suggestions!

    Features:
    • Following protections are activated, when a player is not logged in:
      • Movement protection
      • Block placement & damage protection
      • Inventory protection
      • Interaction protection (blocks usage of doors, chests)
      • Health protection
      • Commands & chat protection
    • Playername spoof protection
    • Protection against "Logged in from another location" messages
    • Login sessions
    • Editable settings & messages
    • MySQL and flatfile support
    • Custom MySQL tables/columns (useable for forums, other scripts)
    • Two data caches for best performance
    Commands:
    • Player side:
      • /register <password>
      • /login <password> -Alias: /l <password>
      • /logout
      • /changepassword <oldpassword> <newpassword>
      • /unregister <password>
    • Op and Console (without / ) side:
      • /authme reloadconfig
      • /authme reloadcache
      • /authme toggleregs
      • /authme deleteauth <playername>
    Installation:
    1. Download it.
    2. Put the downloaded jar file into your /plugins folder
    3. Run the server to generate configs.
    4. Edit the config on any way you wish.
    5. Following datasources are possible: flatfile or mysql
    6. Restart the server.
    7. If you have choosen MySQL as datasource, your table will be generated automatically, if it doesn't exist yet
    8. Done!
    Version History:

    0.72
    o Fixed issues occuring on CB #670
    o Added /logout command
    o Added the possibility to disable joining of players that aren't registered

    0.71
    o Cleaned up player cache code (performance!)
    o Changed the way of fixing the continuous player falling
    o Fixed BlockIgnite error messages
    o Fixed door/chest protection
    o It's now impossible to register/update/remove an account when updating the datasource had failed
    o Added editable messages
    o Default colors of messages are now stored in message file and can easily be changed

    Older versions (open)

    0.7
    o Compatibility with CraftBukkit version 602
    o Op commands are now included in a general /authme command
    o Possibility to reload config under runtime
    o Fixed errors on reloading the plugin
    o Prevention against "Logged in from another location" messages
    o Fixed NullPointerException Errors
    o Possibility to add NPC names to config (to add compatibilty with NPC plugins)
    o Registrations can now be toggled by Ops
    o More debug messages on MySQL errors
    o Player sessions will now be created on player disconnect
    o Possibility to allow commands for non-registered/non-loggedin players
    o Custom fields on /register when using MySQL as datasource e.g. E-Mail
    o Kick player after x seconds, if he is not logged in
    o Op-Commands are now accessable via console
    o Commented config
    o Fixed players stuck in blocks on join
    o A lot more minor bug fixes
    0.61
    o Fixed MySQL loading users wrongly and making them unregistered
    o Fixed continuously falling players on non-authenticated state
    0.6
    o Whole new cache system for online players and offline players (performance boost!)
    o New datasource: MySQL support (beta)
    o MySQL can use custom tables, colums
    o Log messages on command/login/registration/session-login
    o Non-authenticated player can't use doors, chests or get drops
    o Fixed surviving bug
    o Fixed player health protection
    o Alias for /login command: /l <password>
    o Settable interval between alerts
    o Settable kick on wrong password
    o Settings for unregistered players (allow chat, allow walk around spawn)
    o Possibility to disable cache (useful for live-editing the datasource)
    o CraftBukkitUpToDate support (soon!)
    0.5
    o Editable messages
    o Added /changepassword command
    o Added /unregister command
    o Added /resetauth command
    o Added /reloadauths command
    o Added option to disable forced registration
    0.42pre (unreleased)
    o Login/Register commands don't show up on console anymore
    o Waaay better performance with 50+ players online
    o Login sessions
    o Config settings
    0.41pre
    o Fixed incompatibility with plugins that use the onPlayerMove Event
    o Better performance
    0.40pre
    o Location of auth.db has changed
    o New Authentication Cache (Maybe fixes memory issues)
    o Fixed possible missing inventories after server restarts
    0.3
    o Compatibility with newer Bukkit versions
    o Fixed possible item duplication bug
    o Fixed command protection
    0.2
    o Fixed some error messages, when a player is leaving
    0.1
    o Release



    If you like my plugin and want support my work, fell free to donate. Thanks.
    [​IMG]

    Download AuthMe V0.72
    Help developing AuthMe via GitHub
     
    Fuppiz, tombik, sbeex and 6 others like this.
  2. Offline

    Clueless

    @ fabe
    Oh thanks it worked I didn't realize that its v 0.71 because I downloaded 0.70 a few hours ago and thought it was working fine.
     
  3. Offline

    rad1game

    Code:
    2011-04-02 23:06:42 [SEVERE] Could not pass event PLAYER_MOVE to AuthMe
    java.lang.NullPointerException
        at com.bukkit.fabe.AuthMe.PlayerCache.PlayerCache.getLastAlert(PlayerCache.java:69)
        at com.bukkit.fabe.AuthMe.PlayerCache.PlayerCache.isAlertNeeded(PlayerCache.java:77)
        at com.bukkit.fabe.AuthMe.AuthMe.checkAuth(AuthMe.java:598)
        at com.bukkit.fabe.AuthMe.Listener.AuthMePlayerListener.onPlayerMove(AuthMePlayerListener.java:195)
        at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:205)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:128)
        at net.minecraft.server.Packet10Flying.a(SourceFile:126)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    
    Update to 617 Please. 0.71 not work at this build.
     
  4. Offline

    nanashiRei

    Thanks, a lot.
     
  5. Offline

    rad1game

    Guys, say me regex for using nicks with "-"
    like rad-game ?
     
  6. Offline

    The PC Tech Guy

    I don't know what's with it not working in CB 617, it's working fine for me.

    Is there a way to disable the regex? This is because I have other plugins that can do this AND SimpleServer does this for me already.
     
  7. Offline

    rad1game

    How i can disable?
     
  8. Offline

    fabe

    The error is not because 617. Maybe you use NPC plugins and you didn't set up the name of the NPC as an unrestricted player in config.
    Read Post #85.
    Just set the RegEx up to allow every username. It doesn't need much resources or calculation time that it would be worth to disable it completly.
     
  9. Offline

    rad1game

    No, i'm not using any NPC plugin.
    Regex don't work anyway.
    Code:
    2011-04-04 21:46:07 [INFO] Disconnecting Master-chan [/127.0.0.1:52359]: Invalid player name detected!
     
  10. Offline

    fabe

    That's no AuthMe message! Maybe you use a server wrapper or sth. like that that blocks the name.
     
  11. Offline

    The PC Tech Guy

    Since I have no knowledge of RegEx whatsoever, what would be the combination? (And no, I'm not ready to learn such a complicated setup until I have to, such as for a censor plugin or the sort.)
     
  12. Offline

    fabe

    You don't have to learn RegEx because of that, a Google search would be enough to find it out. Use
    Code:
    PlayerNameRegex: '.*'
     
  13. Offline

    MediaMemphis

    Hi, can you add two things?
    • LastSeen (with mysql-support?)
    • deny register <- for a registration only by admins (permisson) or a webpage
    very great thanks!
    i love this plugin
     
  14. Offline

    tinto

    Hi, please give source code [email protected]
    add stop already game join, stop join unregistered player
    sory language russian
     
  15. Offline

    The PC Tech Guy

    Okay, just didn't know that would be it... You know, I'd think it would allow the asterisk character only. I've only heard of RegEx being complicated (and it does look complicated) from the ChatCensor plugin.
     
  16. Offline

    garfield

    schön dass man hier in der community auch deutschsprachige developer findet, da ich aber finde, das hier jeder post für jeden zugänglich sein sollte, werde ich meinen doch in englisch verfassen.

    i don't know if it has already been suggested before, but i would like to have an ingame-command to reset the password for any other account. /chenagepassword is already there for changing the pass of the account i am logged in with. but lately i had to fire up a mysql-client to delete 2 users from the authme database and /reloadcache ingame so they were able to re-register.
    being able to reset accounts ingame would be better i think, as some of my co-admins are not able to deal with mysql or sql at all.

    another thing i want to mention is a bug (imho): the structure for the authme-sql-table has no UNIQUE set for the "username" field. it might be even better, to drop any id-columns and use "username" as a primary key.

    i would have looked into your code by myself, and posted a little patch for those things here, but i haven't found any link to the source files.

    *meow* >says< the cat
    and wishes all readers a good day
     
  17. Offline

    yas

    just wanted to take the time and say thanks for this very useful plugin. been using it for a while on our server. my studying friends that dont have much cash in their pockets love it =)
     
  18. Offline

    Kossusukka

    Is this working with bukkit 617? Cuz in my server, this aint anymore using MySQL after Bukkit update. This worked on 556, but after update, it won't. In config, Datasource are still set to mysql and with this config, it worked on 556.
    AuthMe ain't givin any errors in serverconsole, it just says that it uses flatfile. So to make it short, AuthMe uses flatfile altough it is set to use mysql and it worked on 556, not on 617 and there haven't been any changes in mysql (password etc are not changed in any way).

    edit: Oh, i got it fixed. Looks like that config.yml got changed on ver 0.71, so after recreating config.yml and reconfiguring it, it began to work as it should be. :D
     
  19. Offline

    fabe

    I will try to add such lastseen timestamps in the next version. According to the second thing: There's already the possibility to toggle registrations via config or command!
    Sorry, no source codes yet. If you could describe it more clearly, I would add it in the coming versions.
    Mh, it's quite easy if you got the main structure. The . stands for every character is allowed and the * stands for any amount of character is allowed. You can replace both chars with extra information like allowed characters or the allow length...
    Ja, gibt nicht gerade viele deutsche Entwickler hier, zumindest sind mir bis jetzt kaum welche untergekommen.
    Simple use the /authme deleteauth command. ;)
    Setting up username as primary key is a good recommendation, so I will change the default tables structere in the next version.
    Thanks for using it. ;)
     
    MediaMemphis likes this.
  20. Offline

    tinto

    AuthMePlayerListener.java -> OnPlayerLogin()
    Code:
    if (!plugin.playerlist.isPlayerRegistered(playername))
           {
                event.disallow( Result.KICK_OTHER, "Text message = URL registration");
            }
    
    if(plugin.playerlist.isPlayerAuthenticated(playername))
            {
                event.disallow( Result.KICK_OTHER,  "Your playername (" + playername + ") Text  message = Already join? Connecting close");
             }
    
     
  21. Offline

    IOn Vash

    right now on the latest recommended build #670 it is no longer saving inventory for players/ keeps deleting players inventory when they log in
     
  22. Offline

    Cristof

    Some strange bug with #617
    PHP:
    06:05:40 [INFOCristof [/79.53.221.7:57323logged in with entity id 76
    06
    :05:45 [SEVEREnull
    org
    .bukkit.command.CommandExceptionUnhandled exception executing command 'login' in plugin AuthMe v0.71
            at org
    .bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
            
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:233)
            
    at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:594)
            
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:557)
            
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:551)
            
    at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            
    at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
            
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
            
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
            
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
            
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    Caused byjava.lang.NullPointerException
            at com
    .bukkit.fabe.AuthMe.AuthMe.performPlayerLogin(AuthMe.java:634)
            
    at com.bukkit.fabe.AuthMe.AuthMe.onCommand(AuthMe.java:353)
            
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 
    12 more
    06
    :05:47 [INFOCristof lost connectiondisconnect.quitting
    06
    :05:49 [INFOCristof [/79.53.221.7:57329logged in with entity id 1314
    06
    :05:49 [SEVERECould not pass event PLAYER_JOIN to AuthMe
    java
    .lang.NullPointerException
            at com
    .bukkit.fabe.AuthMe.AuthMe.performPlayerLogin(AuthMe.java:634)
            
    at com.bukkit.fabe.AuthMe.Listener.AuthMePlayerListener.onPlayerJoin(AuthMePlayerListener.java:115)
            
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:169)
            
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
            
    at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:98)
            
    at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
            
    at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:68)
            
    at net.minecraft.server.Packet1Login.a(SourceFile:46)
            
    at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
            
    at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:34)
            
    at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
            
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
            
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
            
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    >
     
  23. Offline

    lolligertyp

    I get this error:
    Code:
    2011-04-08 17:45:26 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'login' in plugin AuthMe v0.71
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:254)
        at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:596)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:559)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:553)
        at net.minecraft.server.Packet3Chat.a(SourceFile:24)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    Caused by: java.lang.NullPointerException
        at com.bukkit.fabe.AuthMe.AuthMe.performPlayerLogin(AuthMe.java:634)
        at com.bukkit.fabe.AuthMe.AuthMe.onCommand(AuthMe.java:353)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
        ... 12 more
    
    by logging in, and some players lost there items (I get mine when I try "/login password"?!)
     
  24. Offline

    Umbra

    Could you please update for #670 ? Players from my server lost all their stuff.

    Thanks
     
    Red_Pepper_rus and davedavy like this.
  25. Offline

    Schlumpf

    Yes, that yould be nice! I am using mysql and
    if I register, go off and relogin I get always by Login this Message:
    An internal error occured while attempting to perform this comand.

    And in the Server.log the error is:
    2011-04-08 15:39:35 [INFO] Schlumpf [/91.46.82.177:62753] logged in with entity id 621
    2011-04-08 15:39:35 [SEVERE] java.lang.NullPointerException
    2011-04-08 15:39:35 [SEVERE] at com.bukkit.fabe.AuthMe.InventoryCache.FlatfileCache.createCache(FlatfileCache.java:37)
    2011-04-08 15:39:35 [SEVERE] at com.bukkit.fabe.AuthMe.Listener.AuthMePlayerListener.onPlayerJoin(AuthMePlayerListener.java:130)
    2011-04-08 15:39:35 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:204)
    2011-04-08 15:39:35 [SEVERE] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    2011-04-08 15:39:35 [SEVERE] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:98)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:68)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.Packet1Login.a(SourceFile:46)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:34)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    2011-04-08 15:39:35 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    2011-04-08 15:39:41 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'login' in plugin AuthMe v0.71
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:254)
    at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:596)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:559)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:553)
    at net.minecraft.server.Packet3Chat.a(SourceFile:24)
    at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    Caused by: java.lang.NullPointerException
    at com.bukkit.fabe.AuthMe.AuthMe.performPlayerLogin(AuthMe.java:634)
    at com.bukkit.fabe.AuthMe.AuthMe.onCommand(AuthMe.java:353)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    ... 12 more
     
  26. Offline

    Gnoore

    Download offline. Please reupp
    thx
     
  27. Offline

    Netto Hikari

    Ich bin deutsch. Bzw. lebe in Deutschland. Meine Eltern sind dänisch/japanisch. ;D Aber naja. Bisher habe ich nur ein Backup-Programm für Windows geschrieben (siehe Signatur), werde mich aber auch bald an Plugins machen. Dann bist du nicht mehr allein. :p

    I am german. At least I live in germany. My parents are danish/japanese. ;D But well.. Until now, I only wrote a backup program for windows (look at my signature), but I will be writing plugins soon as well. Then, you won't be alone any more. :p

    Btw, I love your plugin... But currently, using bukkit build #670 (security fixes ftw!), it dupes my players items or deletes them entirely (the inventorys). I'd love to see a fix soon (even though I know how hard developing can be sometimes >.<). Keep up the good work!
     
    lolligertyp likes this.
  28. Offline

    ksevelyar

    Could you please add sessions persist after server restart?
     
  29. Offline

    davedavy

    +1
     
  30. Offline

    contex

  31. Offline

    lolligertyp

    Thnak you for updating, all works fine :D
     

Share This Page