[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

    fullwall

    Tornament likes this.
  3. Offline

    Cyrano

    nice ;)
    ty
     
    Tornament likes this.
  4. Offline

    The PC Tech Guy

    This guy hasn't been seen since almost a month. Maybe you could take over this one (by making your own)? AnjoCaido came close, but his really only benefits his GroupManager plugin. Otherwise, thanks for "unofficial" update! [​IMG]
     
  5. Offline

    ksevelyar

  6. Offline

    fabe

    Sorry guys, i was offline for a month due to a change of my internet provider (yes, in Germany this takes weeks!).
    I already updated the plugin, just have to test it for some hours. If everything works fine, I porperbly will release it in the next hours.
    Even is there still any usage for this? I think a lot of like-wise plugins were released in the last days...

    Edit: Finally, it's uploaded...
     
  7. Offline

    xeology

    You have a memory leak. Java is giving me outofmemory issues running this and only this plugin, sorry I cannot give you a log, tightvnc doesnt like copy and paste on ubuntu apparently. Running CB 522
     
  8. Offline

    fabe

    Are you sure? I tested the plugin on my minecraft server with 60 players online, running also on Ubuntu. I let java use 1800MB RAM. Maybe u should reserve more memory for java, if possible.

    The only curious thing I found is, that the server starts lagging for ca. 10sec in a 5-10min intervall since I updated to CB 520. I disabled AuthMe and the lagg was still there, so I think the plugin is not responsible for that lag issue.
     
  9. Offline

    xeology

    I run my server on 2800 mb of ram. Without the plugin the actuall usage hovers around 500mb with 2 people on, I enable it and java is screaming at me trying to pull my entire 5.9gb of ram. With ONLY this plugin.
    [MERGETIME="1299958779"][/MERGETIME]
    And authme just keeps shooting errors.
     
  10. Offline

    kyle hickson

    omg thank you so much for updating
     
  11. Offline

    TaylorArcher

    Hey Could you add another feature, first off MYSQL, and Second, because I do agree with you on Authorize needing inventory Protection, but Could you make a transfer file? So I can take all my current users from Authorize and Transfer them to Authme?
     
  12. Offline

    fabe

    Could you post some of the errors?

    MySQL is planed, but I don't know when I find time for integration.
    I think Authorize uses the same file format than mine. If that's true, you can easily use the the auth.db of Authorize with AuthMe. Give it a try.
     
  13. Offline

    xeology

    Unfortunately I cannot, my server has been down for a few days with me working on some issues and I cant afford to crash it for error posting. Sorry. I am sure however someone else does or will have an issue. The error comes from JAVA itself first however and it distinctly says bukkit is trying to claim more ram then available only when this plugin is loading. How many times does the plugin load the db into ram? Is it clearing it everytime if it is loading it more then once? Also the authme error is a generic error, nothing to helpful anyways.
     
  14. Offline

    Instead

    Thank you, plugin is useful since last update.
     
  15. Offline

    generalmek

    much crashes with you plugin... out of memory
     
  16. Offline

    Phil3004

    F*cking good Plugin ! I like.
    Maybe you could add some sort of config file?
    One more Thing would be to change your pw and maybe
    let unregistered users "walk" but not outside the spawn zone,
    because i have something like a Spawnhouse with rules etc.
    Would love to see those !
     
  17. Offline

    Racha

    Thanks, but why when people reconnects they are in spawn?? :(
     
  18. Offline

    fabe

    I will try to recode the database reader. Maybe that will get in the future version. In the meantime you could try to turn the garbage collector on.
    On my server I use the following java start parameters to turn it on: (Maybe includes some other stuff than garbagecollector!)
    Code:
    -verbose:gc -XX:PermSize=64m -XX:MaxPermSize=128m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=7 -XX:+AggressiveOpts -XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:MaxGCPauseMillis=500 -XX:SurvivorRatio=16 -XX:TargetSurvivorRatio=90 -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -Xnoclassgc
    With this parameters it's normal to see continous message like
    But with this you can see the current RAM usage of the minecraft server.

    Only if the plugin really needs a config file, it will get on. Let unregistered players walk is a very good idea. I will try this feature, if I can get the spawn location of the world through methods.
    AuthMe shouldn't cause any teleports or wrong spawn locations. Maybe a other plugin is responsible for this.
     
  19. Offline

    Racha

    Is there any config files?
     
  20. Offline

    fabe

    I don't know what plugins you are using. Like said, AuthMe shouldn't teleport players.

    -

    I have rewritten some parts of the plugin now, everybody who has memory errors should try this prerelease:
    Be warned! The location of the auth.db has changed from /SERVER_DIR/ to /SERVER_DIR/plugins/AuthMe/
    Make a backup of your current auth.db and copy it into the new directory location!
    Download
     
  21. Offline

    Racha

    I know, spawnr was that, what teleport, but is there config files? :D
     
  22. Offline

    fabe

    No, AuthMe itself has no configs.
     
  23. Offline

    Evenprime

    Hi. Someone informed me about problems with my plugin in combination with your plugin concerning the PLAYER_MOVE event (http://forums.bukkit.org/threads/se...-flaws-bugs-in-mc-531.4523/page-9#post-126708). It seems that your plugin only teleports players to the "event.getFrom()" location. May I suggest that you (in addition to that) also do a "event.setTo(event.getFrom());" and maybe a "event.setCancelled(true);"?

    Without that, the server will still process the move event in addition to the teleportation of the player which causes the client and server to spam PLAYER_MOVE events back and forth in an attempt to synchronize on the players position. In the case of the person who informed me it was over 500 events instead of the usual ~20 per seconds.
     
  24. Offline

    fabe

    I have added all the name function calls to the methode. Maybe you could try it with that version.
    http://rapidshare.com/files/452371432/AuthMe-0.41pre.jar
     
  25. Offline

    Evenprime

  26. Offline

    fabe

    Thats nice to hear. :)
     
  27. Offline

    dragonhib

    Hi !! This authorize alternative sounds very good !! But
    - did you plan to make it compatible with Permissions (like AnjoSecu with GroupManager) ?
    - did you plan to keep in memory player-login for a time ? (for not that players have to re-login when server restart)
    Thanks you !!
     
  28. Offline

    generalmek

    its take more ressourses on server. if u have 100 players u need only main plugins and simple. thinking about config file?
     
  29. Offline

    fabe

    I will add support for permissions, when there are commands which should be restricted.

    You state my point, i want to have this plugin as simple as possible. But the next release will include login sessions, because it's simple and doesn't take much resources. So you just have to login in given time period like every hour.

    This feature would already require a config to set up the maximal time period between last login and the new connection.

    Any other suggestions for possible settings in the config file?
     
  30. Offline

    AnrDaemon

    Why don't use database for all plugin configuration?
    And make it some real database, like SQLite or MySQL, that have wide array of support tools. (Ultimate wish - a server-wide configuration backend handler... so plugins could forget about this mess and just configure themselves at will.)
     
  31. Offline

    dragonhib

    So good !! Thanks for fast reply !! So I'm impatient to test next release.
    For the config files, maybe personnalisable messages could be interesting...
     

Share This Page