[INACTIVE] [ADMN] Albus v4.0 Final - Use forum grouping to control whitelist via MySQL [953]

Discussion in 'Inactive/Unsupported Plugins' started by Ant59, Feb 1, 2011.

  1. Offline

    Ant59

    Want to rank players with GroupManager/Permissions using your forum system instead? Use Warrant!

    [​IMG]

    [DistrictMine] Albus v4.0
    Whitelisting via forum grouping

    Albus is a whitelist plugin that allows admins to whitelist their servers, by grouping members in their forum. The Bukkit server will ask the forum's database - whenever someone logs in - whether their username in the forum has a group id that is allowed to join the server.

    This is especially good for subscription servers, where SMF subscriptions are used. It will completely automate the whitelist function for your minecraft server.

    Download JAR: http://dl.dropbox.com/u/29840218/Albus.jar
    Download MySQL Connector: http://dl.dropbox.com/u/29840218/mysql.jar
    View Source: https://github.com/Ant59/Albus

    Installation
    1. Place Albus.jar in your plugins directory
    2. Place mysql.jar (the mysql java connector) into the root of your bukkit server, in the same folder as craftbukkit.jar
    [SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5][SIZE=5]Configuration[/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE][/SIZE]


    All configuration settings can be found in the auto-generated properties file, found in plugins/Albus/Albus.properties​

    Properties and explanations

    kick-message - Message to display to players not on whitelist when they try to login​
    kick-message-registered - Message to display to players not in a whitelisted but registered on the forum. Making this blank will turn off this functionality, saving memory by not memorising all registered forum members.​
    mysql-host - The MySQL server IP or URL​
    mysql-port - Port of MySQL server (3306 by default)​
    mysql-db - Database to find member data​
    mysql-table - The table used for member data​
    mysql-user - Name of MySQL User​
    mysql-pass - Password for MySQL user​
    username-field - The field that your forum engine stores the user's minecraft player name​
    group-field - The field that your forum engine stores the group ids of users​
    allowed-group-ids - The group ids to which a user must belong to be allowed in​
    reload-period - Not yet used. In a future version, you may change the period of time between auto database checks from 5 minutes to any length.​

    I took my own time to make this plugin and distribute it and would really appreciate a small donation if you find it useful :) Thank you!

    [​IMG]
     
    nogoodwithnames, WolwX and Niemand like this.
  2. Offline

    Seze

    Also, I have another use case you might want to modify your database query for. We have an online forum community that does not center on minecraft, but we run a minecraft server for some of our members. The whitelisting policy we are looking to implement is that in order to get on the minecraft server, the user has to add their minecraft username to their forum profile. Forum usernames don't usually match minecraft usernames though. The nice thing about this plugin is that you can specify what column to use for the minecraft username. The problem though is that most of the records in the members table will not have anything set for the minecraft username. Your current query, as of couple nights ago (haven't looked at your source yet today), does not filter out blank usernames. I'm not sure how your plugin handles blank usernames, since I wasn't able to fully test it the other night, but you can easily modify your query so that it will remove blank usernames by doing something like this...

    Code:
    SELECT <username> FROM <table> WHERE <group> IN(1,2,3) AND <username> != "";
    Also, can you make it so we can disable the group check? Maybe if the variable is left blank in the config file, use a slightly stripped down version of the query, and if there is something there, use the current query. The user group feature is nice to have, but our use case doesn't have a need for it, and I'm not a huge fan of having to write out every user group we have in our forum.

    Thanks for the work you've done on this!
     
  3. Offline

    Normandy

    I have given all the info to Albus yet I get this error.
    Code:
    2011-02-17 02:25:42 [WARNING] [Albus] v2.0 - MySQL connection failed: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    2011-02-17 02:25:42 [WARNING] [Albus] v2.0 - The following statement failed: SELECT minecraft FROM jos_users WHERE null IN(null)
    2011-02-17 02:25:42 [WARNING] [Albus] v2.0 - Statement failed: java.lang.NullPointerException
    2011-02-17 02:25:42 [WARNING] [Albus] v2.0 - Failed to load whitelist
    
    I am pretty sure I have filled in all the correct info, and even went as far as forwarding the port 3306 (which was probably unnecessary).

    Help. :(
     
  4. Offline

    dark navi

    Looks like it is trying to select a field called 'Minecraft' from a table called 'jos_users'. Is that what it is supposed to be doing?
     
  5. Offline

    Seze

    The problem is that the plugin can't connect to your database. All the other errors stem from that, because its trying to query something that doesn't exist, thus the NullPointerException. Double check your username and password. Is your minecraft server running on the same machine as MySQL? If not, you may need to modify/add a user account to MySQL, since MySQL filters connections based on username and host. It also looks like you don't have anything set for group-field or allowed-group-ids, which as far as I can tell is required for the plugin to work.
     
  6. Offline

    shatteredbeam

    Do you have any plans to support other forum installations? (Vbulletin, perhaps? :)
     
  7. ATM what's the whitelist reload period ?
     
  8. Offline

    Ant59

    I can't find any mybb_userProfiles table in the MyBB documentation: http://wiki.mybb.com/index.php/Database_Tables
    --- merged: Feb 17, 2011 10:12 AM ---
    The current reload period is every 5 minutes, or when /albus reload is used
    --- merged: Feb 17, 2011 10:13 AM ---
    Ok, I have added an empty field check for you :) Plugin UPDATED!
     
  9. Offline

    ShaDooM

    This doesn't really fit in here but does anyone know a phpbb paypal ipn mod/hack?
    Like you pay 1€ via paypal, and you get moved into another group in phpbb. I tried some but none of them work on the latest version of phpbb.
    I'm asking because that phpbb mod would fit perfectly with this plugin or wouldn't it? ^^
     
  10. Offline

    dark navi

  11. Offline

    Ant59

    SMF is the best forum engine to use for subscription based groups, which is what this plugin was originally designed for.
    Would it not be easier for users to user their minecraft username as their forum username? Then allow them to change their display name on the forum (idk if this is possible through MyBB).
     
  12. Offline

    Silence

    @ShaDooM: Not wanting to steal this thread, but check the latest version of my Whitelist in my sig(the plugin Albus was based on once). It works now with every database engine and every table layout, as you have to specify the sql querys by yourself.

    However, I agree with Ant59, SMF is a great system and this plugin makes it easy to use, you should consider using that instead of phpbb :)
     
  13. Offline

    Ant59

    Oh I see how it is Silence, I build on your plugin, and you go and add my functionality to yours, eh? :p Haha jokes. It's entirely up to server admins to chose what they want to run. Albus is just easier to configure, and more stripped down :)
     
  14. Offline

    Silence

    Nah, SQL was on roadmap, before you forked it [​IMG]

    And yes, its exactly like you said: Whitelist SQL sets flexibilty over simplicity and honestly I would use yours when I would like to use SMF as auth source, so good work :)
     
  15. Offline

    Ant59

    Thanks Silence :) This is my first plugin, so I'm glad it turned out ok. Cheers for the awesome work on Whitelist since in the end I did pinch some of your code :p
     
  16. Offline

    Direct1221

    vBulletin® v3.8.2
    Craftbukkit Build #304-349 (Verified on these builds)

    vBulletin Setup:

    Groups (Default):

    8 = Banned Users
    7 = Moderator
    6 = Administrator
    5 = Super Moderator
    4 = Users Awaiting Moderation
    3 = Users Awaiting E-mail Confirmation
    2 = Users
    1 = Unregistered / Not Logged In

    Code:
    mysql-port=3306
    mysql-host=localhost
    mysql-db=
    mysql-user=
    mysql-pass=
    mysql-table=user
    group-field=usergroupid
    username-field=username
    kick-message=You are not on the whitelist\!
    allowed-group-ids=7,6,5,2
    
    Just set mysql-db mysql-user & mysql-pass and should work off the bat with all registered users.


    Testing with removed userclass 6
    Code:
    2011-02-17 22:59:36 [INFO] [Albus] v2.0 - Running database connection...
    [email protected]
    2011-02-17 22:59:37 [INFO] [Albus] v2.0 - Whitelist Loaded
    138 recipes
    2011-02-17 23:00:20 [INFO] [Albus] v2.0 - Direct1221 tried to join and was kicked.
    2011-02-17 23:00:20 [INFO] Disconnecting Direct1221 [/**.***.***.***:1755]: You are not on the whitelist!
    
    Testing with userclass 6 added
    Code:
    2011-02-17 23:00:43 [INFO] [Albus] v2.0 - Running database connection...
    [email protected]
    2011-02-17 23:00:44 [INFO] [Albus] v2.0 - Whitelist Loaded
    138 recipes
    2011-02-17 23:00:48 [INFO] [Albus] v2.0 - Direct1221 tried to join and was allowed.
    2011-02-17 23:00:48 [INFO] Direct1221 [/**.***.***.***:1758] logged in with entity id 7
    Player count: 1
    2011-02-17 23:00:54 [INFO] Direct1221 lost connection: disconnect.quitting
    
     
  17. Offline

    dark navi

    It may be easier to make their forum names their minecraft names, but I already have over 50 people registered. Thanks for the support so far, may use this on the future if I ever restart everything.
     
  18. Offline

    Direct1221

    what forum are you using? I can try to see what i can work out for you for minecraft names.
     
  19. Offline

    dark navi

    I am using MyBB forums, with custom user fields for minecraft names.
     
  20. Offline

    Direct1221

    Okay well set your custom field in your database to the field required for the minecraft names. If need be, I will completely write something to allow the user field to be used with ease.
     
  21. Offline

    Zottelchen

  22. Offline

    dark navi

  23. Offline

    Direct1221

  24. Offline

    ShaDooM

    is it possible to add people ingame to the whitelist such as "/whitelist add PLAYERNAME" ?
    If not, will it be implemented?
     
  25. Offline

    Vaupell

    Great stuff..

    Implemented my craftbukkit with vbulletin just fine..
    CHEERS!!!
     
  26. Offline

    seriosbrad

    This plugin is fantastic. I would absolutely love if somehow when we /ban in-game it will put the user on the forum in a specified banned group as well.
     
  27. Offline

    Glorificus

    this plugin is useless without password confirmation
     
  28. Offline

    Ant59

    Download links fixed!! Sorry for the inactivity and neglecting to update them.

    You don't make any sense :S
     
  29. Offline

    Glorificus

    for example - I can login into your server with any of your forum members usernames, isn`t?
     
  30. Offline

    Ant59

    Go ahead. But you don't know their minecraft passwords :S
     
  31. Offline

    Spazmic

    If the server is in offline-mode you can use Anjosecurity.
    http://forums.bukkit.org/threads/se...r-registration-326-353.4497/page-3#post-72951

    The cracked launcher doesn't need any password, this is why I guess he is asking. You should buy the game.

    Anyway nice plugin I'm looking forward to try it.
     

Share This Page