[ADMN/WEB] OKB3 - Bulletin Board Bridge - Now on BukkitDev! [1337]

Discussion in 'Inactive/Unsupported Plugins' started by Kalman Olah, Jun 2, 2011.

  1. Offline

    Kalman Olah

  2. Offline

    Plague

    changelog has to whow two latest versions without a spoiler
     
  3. Offline

    Kalman Olah

    How to set up your config.yml:
    Code:
    general:
    #Will you be running Bulletin Board Bridge in 'normal' mode, or 'secure' mode?
        mode: secure
        enable-whitelist: 'true'
        enable-nickname-syncing: 'false'
        enable-synced-banning: 'false'
        enable-promotion-track: 'true'
        enable-rank-changing: 'true'
        enable-post-count-rewarding: 'true'
        enable-anonymous-stat-tracking: 'true'
    #If you opted for normal mode, fill this in
    modes:
        normal:
            user-table: mybb_users
            minecraft-login-name-field: username
            rank-id-field: usergroup
            multitable:
                enable-multiple-tables: 'false'
                second-table: second_table
                user-id-field-in-user-table: user_id_field_user_table
                user-id-field-in-second-table: user_id_field_second_table
    #If you opted for secure mode, fill this in
        secure:
    #forum type: options are phpbb, smf, vbulletin, kunena, xenforo, wbb, ipb, mybb, vanilla, #bbpress, custom
            forum: xenforo
    #fill this in if you are using smf, vbulletin, wbb, ipb, mybb
            type1:
                user-table: mybb_users
                username-field: username
                password-field: password
                rank-id-field: usergroup
    #fill this in if you are using phpbb, bbpress or vanilla
            type2:
                user-table: user_table
                username-field: username_field
                password-field: password_field
                rank-id-field: rank_group_field
                location-of-passgen-php: http://yoursite.com/passgen.php
                password-set-in-config-inc-php: 12345pass
    #fill this in if you are using kunena or xenforo
            type3:
                user-table: xf_user
                rank-id-field: user_group_id
                username-field: username
                password-field: data
                second-table: xf_user_authenticate
                user-id-field-in-user-table: user_id
                user-id-field-in-second-table: user_id
    #fill this in if you are using a custom encryption
            type4:
                user-table: user_table
                username-field: username_field
                password-field: password-field
                rank-id-field: rank_group_field
                location-of-passgen-php: http://yoursite.com/passgen.php
                password-set-in-config-inc-php: 12345pass
    mysql-connection:
        mysql-host: localhost
        mysql-user: root
        mysql-password: *********
        mysql-database-name: tempdb4
    #Map your rank IDs to groups here. world-specific overwrites default. You NEED atleast 1
    #entry under worlds, even if the world doesn't exist.
    group-mapping:
        default:
            '1': Admin
            '2': Admin
        worlds:
            exampleworld1:
                '1': default
                '2': Admin
            world:
                '1': Admin
                '2': default
    extras:
        whitelist:
            kick-message: This is the message a user will see if their group isn't whitelisted.
            use-as-blacklist: 'true'
            groups:
                '1': 'true'
                '2': 'false'
        nickname-syncing:
            nickname-field-in-usertable: salt
        synced-banning:
            banned-user-forum-rank-id: '0'
            unbanned-user-forum-rank-id: '10'
            ban-message: This is the message a user will see if they are banned.
        promotion-track:
            track: 2|1|0
        rank-changing:
            identifiers:
                '1': NickNameforRank1
                '7': NickNameforAnotherRank
        post-count-rewarding:
            currency-reward-per-post: '40'
            post-count-field-in-user-table: 'like_count'
    
     
  4. Offline

    Plague

    aand it has to be at the end :p
     
  5. Offline

    Kalman Olah

    Version 3.0.0
    • Moved to BukkitDev & GitHub.
    • Added post count rewarding.
    • Reworked entire plugin. Twice the speed and stability.
    • Bunch of other things.
    Version 2.5.18
    • Added support for bPermissions.
    Version 2.5.17
    • OKB3 does not alter the join message anymore. This is to make sure users of both OKChat and OKB3 have no issues, since I'm adding custom join/leave/kick messages to OKChat.
    Version 2.5.16
    • Attempted fix of a timeout issue.
    Version 2.5.15
    • null, "null" and "" are now no longer accepted as nickname values.
    Version 2.5.14
    • Temporary fix for EssentialsChat errors.
    Version 2.5.13
    • Added back support for GroupManager. Hopefully it actually works.
    Version 2.5.12
    • Added quit message removal to the PLAYER_KICK event. This should fix an issue where the quit message was still showing when a player wasn't whitelisted, or was banned.
    Version 2.5.11
    • Auto-updater bugfix.
    Version 2.5.10
    • Fixed errors being throw when a permissions plugin wasn't present.
    Version 2.5.9
    • Added a new Permissions node: bbb.hide. This hide your join messages from other players.
    Version 2.5.8
    • Fixed a bug that caused OKB3 to break if you were using the Permissions support thingy with PermissionsEx. Thanks to @Asphodan .
    Version 2.5.7
    • Fixed all issues related to errors about SQL queries not returning ResultSets. Thanks to @austech360
    Version 2.5.6
    • Added a config.yml value "mysql-ping-interval" which allows you to set the mysql keepalive ping interval in seconds. Enjoy.
    Version 2.5.5
    • Fixed quit messages still displaying when blacklisted/banned users tried to connect.
    Version 2.5.4
    • Fixed a bug where a player teleporting to a new world wouldn't get his ranks updated the first time.
    • Fixed an issue with login/quit messages displaying when blacklisted/banned users tried to connect. This has been solved by simply removing all login messages, and adding them back where the user isn't banned/whitelisted.
    Version 2.5.3
    • Fixed a bug with syncing on login with the whitelist turned off.
    Version 2.5.2
    • The teleport event checks now only happen when the destination world and starting world aren't the same.
    Version 2.5.1
    • Bulletin Board Bridge now performs a dummy SQL query every 15 seconds, to keep the MySQL connection alive. In the server log, this is marked by "Pinged MySQL server.".
    Version 2.5.0
    • Whitelist checks now happen in a seperate thread.
    • Ban checks now happen in a seperate thread.
    • Teleport checks now happen in a seperate thread.
      All of the above should solve any performance issues people have been having.(Those to do with lag on login, at least)
    • Added a connection check to the start of every query. This "should" fix issues with MySQL timeouts.
    • Fixed a bug where the whitelist wouldn't work if the 'is-server-ban-too' value was set to "true" in the config.Yml.
    • Improved some of the console messages.
    Version 2.4.0
    • Bulletin Board Bridge now stores player data in an SQLite Database. The same goes for bans. This should hopefully help with the performance issues some users have been experiencing.
    • The /fban, /funban and /bbb reload commands are now usable from the console... Because unbanning myself after testing the /fban command is a little hard when it's stored in a SQLite db...
    Version 2.3.4
    • Various minor performance fixes. These probably won't afffect performance, funnily enough.
    • The /fpromote and /fdemote commands now require custom Permissions nodes to work. Let's say this is your promotion track:
      Code:
      '1': Banned
                                   '2': Default
                                   '3': Member
                                   '4': Builder
                                   '5': Guardian
                                   '6': Moderator
                                   '7': Admin
                                   '8': Owner
      If someone wants to promote someone to "Builder", he will need the bbb.promote.4 Permissions node. If someone wants to demote someone to "Builder", he will need the bbb.demote.4 Permissions node. If someone wants to promote a Builder all the way to Admin, they'd need the bbb.promote.5, bbb.promote.6, bbb.promote.7, bbb.promote.8 Permissions nodes.
      This does not affect /frank.
    Version 2.3.3
    • Added support for PermissionsEx.
    Version 2.3.2
    • Minor config.yml bug fixed. You'll probably want to remake your config.yml.
    Version 2.3.1
    • Minor bugfix to fix issues when the auto-updater can't connect to the update server.
    Version 2.3.0
    • Added the /frank <name> <rank> command. This command allows you to change a user's forum rank. Permissions node: bbb.rank
    • New config.yml values for the /frank command: 'forum-ranks'. These must be filled in in the format 'RankName': 'Rank ID' in order for you to be able to change a player's rank. If these rank IDs are also mapped in 'world-groups', the player whose rank you are changing will have his rank updated too.
    Version 2.2.1
    • Fixed the promotion track.
    Version 2.2.0
    • /fban now notifies you if the player you're trying to ban is already banned.
    • /funban now notifies you if the player you're trying to unban isn't banned.
    • Fixed a bug that was causing the "essentialschat hook" message to be displayed, even though EssentialsChat wasn't present.
    • Added an option to cause /fban bans and /funban unbans to only affect the forum, and not the server. (is-server-ban-too in config.yml)
    • Added linked promotion/demotion tracks. These will only work if multiworld groups are OFF.
    • Added /fpromote command. This command promotes a player on the server and the forums. Permissions node: bbb.promote
    • Added /fdemote command. This command demotes a player on the server and the forums. Permissions node: bbb.demote
    Version 2.1.7
    • Bans are now saved to BanFile.yml instead of bbbbans.txt.
    • Banned users will see the 'ban-message' value from config.yml if they try to log in, if they were banned without a specific reason.
    • If a specific reason is provided when a user is banned(/fban <name> <reason>), that user will see his ban reason upon trying to log in instead.
    Version 2.1.6
    • Temporary fix that tries to reconnect to the MySQL database on timeout.
    Version 2.1.5
    • /fban now accepts a ban reason.
    Version 2.1.4
    • Support has been added for bbPress(standalone edition). Set 'forum' in config.yml to 'bbpress' and fill in 'type2'.
    Version 2.1.3
    • Made final changes to the auto-updater.
    Version 2.1.2
    • Updated the auto-updater.
    Version 2.1.1
    • Some bugfixes, downloading this version is HIGHLY suggested.
    Version 2.1.0
    • Removed multiworld whitelisting support. This functionality has been improved and moved to RealmRestrict.
    • Added an auto-updater that will download newer versions of OKB3 to /plugins/OKB3/update/
    • Added a /bbb reload command, Permissions node: bbb.reload
    Version 2.0.10
    • Added EssentialsChat support for nickname syncing; Thanks to @jchamb2010
    Version 2.0.9
    • Minor bugfixes.
    Version 2.0.8
    • Small performance & logging improvements.
    • OKB3 now shuts down if no connection could be made to the database, if the configuration file could not be created/loaded, or if the playerlist file could not be created/loaded.
    • Fix for possible Kunena bug in normal mode.
    • Fixed some old-school mode bugs.
    Version 2.0.7
    • Fixed an issue with nickname syncing. Thanks to @jchamb2010
    Version 2.0.6
    • Fixed a bug that caused errors when a user had global groups instead of world-specific groups.
    Version 2.0.5
    • Added support for Vanilla forums to normal mode. This requires the passgen.php, and requires you to fill in 'vanilla' as 'forum' in config.yml, as well as to fill in type2 in config.yml.
    Version 2.0.4
    • Bugfixes.
    • Players that somehow end up in worlds where they are not whitelisted will now be teleported to the spawn location of the main world set in config.yml. e.g.: A player has access to world2, he logs out, he gets demoted and no longer has access, he logs back in, he gets teleported to world1's spawn.
    Version 2.0.3
    • Minor bugfixes
    • New config.yml value: If multiworld whitelisting is turned on, fill in 'main-world-name'. Anyone will be able to join this world(if they're allowed to join your server through the global whitelist.
    Version 2.0.2
    • Fixed a bug where the whitelist message would show up instead of the ban message when a user was banned.
    Version 2.0.1
    • Minor bugfixes.
    Version 2.0.0
    • Command rework: /bbb sync -> /sync | /bbb resync -> /resync | /bbb force -> /fsync | /bbb forceall -> /fsyncall
    • Optimized config.yml
    • Multiworld groups: OKB3 can have one forum rank translate into different permissions groups based on the world you're in
    • Automated rank updates on teleport: OKB3 will try to update your rank when you teleport, so that you don't have to use /sync whenever you change worlds
    • Global whitelisting: OKB3 can control access to the server based on forum ranks.
    • Multiworld whitelisting: OKB3 can whitelist a forum rank on some worlds, but blacklist it on others.
    • Added a banning/unbanning system that bans/unbans users from both the forum and the minecraft server: /fban (permissions node bbb.ban) | /funban (permissions node bbb.unban). Banned players are stored in a file called bbbbans.txt in the main server directory.
    • No need for a passgen.php, except when using phpBB or a custom encryption
    • Support for a custom encryption type! More on this below
    • Improved the general look of some of the text
    • Various performance improvements
    Version 1.3.1
    • Minor bugfixes related to Kunena/XenForo error reporting.
    Version 1.3.0​
    • Fixed the plugin author displaying incorrectly on startup.
    • Fixed the plugin author displaying incorrectly in the "/bbb v, /bbb ver" command.
    • Fixed the /bbb resync command not appearing in the help menu in normal mode.
    • Added the /bbb forceall command. This works like the /bbb force <name> command, but /bbb forceall syncs all online users.
      Permission node: bbb.forceall
    • The "/bbb, /bbb ?, /bbb help" help menu now shows the /bbb force and /bbb forceall commands, should you have the appropriate permissions.
    • Cleaned up the overall code a whole lot. Seriously.
    • Removed the password checks from the whitelisting feature in normal mode. This should make sure a blacklisted player stays blacklisted, even if he should change his forum password.
    Version 1.2.2​
    • Temporary fix for some issues with error messages.
    Version 1.2.1​
    • Fixed the permission check for GroupManager.
    Version 1.2.0​
    • Added the /bbb force command. This allows you to force an update of someone's ranks. Permission node: bbb.force.
    Version 1.1.0​
    • Added nickname sync support.
    Version 1.0.1​
    • Added proper Permissions 3.x.x support. Thanks to @silthus .
    Version 1.0.0​
    • Added Permissions 3.x.x support. This is not proper Permissions 3 support, as they have no proper documentation... When using Permissions, Bulletin Board Bridge WILL delete your user from the users.yml file, and will add you again afterwards. For this reason it is best not to have any permissions/prefixes for specific users for now.
    Version 0.3.14​
    • Various bugfixes for the normal mode, specifically issues with kunena/XenForo forums.
    Version 0.3.13​
    • Various bugfixes.
    • Added whitelist/blacklist support to normal mode. This is useful for blacklisting players that get banned from your server after they've already played there for a while.
    • Added an option to use the whitelist as a blacklist. Setting "use-as-blacklist" to true will cause forum ranks that aren't mentioned in the config.yml to be allowed to join the server, while setting it to false will cause forum ranks that aren't mentioned in the config.yml to be kicked from the server.
    Version 0.3.12​
    • Added support for Kunena boards to normal mode.
    Version 0.3.11​
    • Changed the RegEx function that I use to fetch salt values from a serialized array for XenForo forums. Thanks to @NeatMonster for helping me test my plugin fixes on his amazing server at http://craftisland.no-ip.org.
    Version 0.3.10​
    • Fixed a serious issue with a loop I use in my XenForo forums encrypted password checks that caused the server log/chat to be spammed with error messages. Shoutout to @NeatMonster for helping me fix this.
    Version 0.3.9​
    • Hardcoded content type: text/plain into passgen.php.
    • Fixed an issue with the passgen.php file returning a blank page on several linux distros.
    Version 0.3.8​
    • Added support for IPB to normal mode.
    • Added support for WoltLab Burning Board to normal mode.
    Version 0.3.7​
    • Various bugfixes.
    Version 0.3.6​
    • Various bugfixes.
    Version 0.3.5​
    • Various bugfixes.
    Version 0.3.4​
    • Added proper support for XenForo to normal mode.
    • Made config.yml a bit more user friendly.
    • Moved Login checks to their own class files.
    • Cleaned up code, plugin should be faster and more ligthweight.
    • Ate a sandwich.
    Version 0.3.3​
    • Added support for XenForo to normal mode.
    Version 0.3.2​
    • Added support for myBB to normal mode.
    Version 0.3.1​
    • Improved logging a bit.
    Version 0.3​
    • Added two modes: old-school mode and normal mode:
      • Normal mode is the mode that requires players to "log in" to the forum through minecraft the first time they update their GroupManager group based on their forum rank.
      • Old-school mode does not require players to "log in", and automatically updates their GroupManager group based on their forum rank by linking a field in the MySQL database containing a minecraft username to a forum account.
    • Added whitelist/blacklist feature to old-school-mode that allows you to specify forum ranks that are whitelisted/blacklisted on the server.
    • Added custom kick message to the whitelist/blacklist feature.
    • Added support for vBulletin boards in normal mode.
    • Cleaned up code.
    Version 0.2.1​
    • Added support for SMF forums. Should work, haven't tested it yet.
    • Added ability to set "encryption type of password" to 3 in config.yml, for SMF encryption. (currently 1 is MD5, 2 is for phpBB3, and 3 is for SMF).
    • Added '$sqlprefix = 'prefix_'; value in config.inc.php in /webfiles/. If my users table was called phpbb_users, I'd set this to 'phpbb_'. This value can be set to '$sqlprefix = '';' if my table was just called 'users'.
    Version 0.2​
    • Cleaned up the code.
    • Removed commented out code.
    • OKB3 now saves a player's forum username/encrypted forum password in plugins/OKB3/PlayerList.yml when that player uses the /bbb sync command successfully.
    • OKB3 now attempts to update a player's GroupManager rank automatically on login, provided they have a valid forum username/encrypted forum password in plugins/OKB3/PlayerList.yml.
    Version 0.1​
    • Initial release.
     
  6. Offline

    Pixelschmied

    Whitelisting on the Forum would be great :)
     
  7. Offline

    Kalman Olah

    Whitelisting based on forum ranks will be added in v0.3. (To be released on june 4th 2011 or june 5th 2011.)
     
  8. Offline

    StoutyAlex

    what forum software is this for? i dont think i have this in my forums but i have a free forum
     
  9. Offline

    Kalman Olah

    This can work with any forum as long as you have access to its SQL Database. Some kinds of forum software may require me to edit the PHP script a bit though, so you should tell me what forum software you'd like to get support for.
    Currently the plugin supports SMF, phpBB3, and any forum that uses plain MD5 encryption.

    Updated to 0.2.1, added specific support for SMF forums (haven't tested yet).

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  10. Does this work with the latest vbulletin 4.1.3 ?
     
  11. Offline

    Kalman Olah

    Not yet, but I'll add support for it in a few minutes, just for you :).

    v0.3 is 99% finished, however, some unexpected issues popped up with the whitelisting. v0.3 will still be released june 5th.

    Updated to v0.3!
    Added 2 modes: old-school and normal.
    Old-school mode allows you to get a user's forum rank WITHOUT having them provide a username/password. You can just make them register with their minecraft username as their forum account name, or you can create a custom profile field for them to fill in that will contain their minecraft username!
    Normal mode is the slightly more secure mode that was already part of Bulletin Board Bridge. This requires users to log in to the forum through minecraft in order to update their GroupManager rank for the first time.
    Added a whitelisting/blacklisting feature with a custom kick message that is only available in old-school mode.
    This feature allows you to prevent players certain forum ranks from joining, or to allow players with certain forum ranks to join, or both.
    Also added vBulletin support to normal mode. For vBulletin, 'enctype' in config.yml should be set to 4.

    Updated to v0.3.1

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  12. Offline

    Kalman Olah

    Yes, you need GroupManager to use this plugin. You don't need to use the entire Essentials package, just GroupManager. If you're going to be using GroupManager though, I'd reccommend also using the GroupManagerBridge that comes with the download. This makes GroupManager a viable Permissions replacement because plugins that only work with Permissions will also work with GroupManager, so you can replace Permissions alltogether until it becomes possible for me to add Permissions support to Bulletin Board Bridge.
     
  13. Offline

    NeatMonster

    Is XenForo supported?
     
  14. Offline

    Kalman Olah

    Any forum can work with old-school-mode, as it fetches the minecraft username directly instead of checking a forum username/password. I'll add support for XenForo to the normal mode too, just give me a minute or ten :p.

    An update on adding XenForo support. I tried looking for the function that encrypts/hashes a plain text password into the password that XenForo stores in its database, but to no avail.
    Now, as I do not own a copy of the forum script, I cannot look through the source code myself, so I've sent an e-mail to the lovely people of XenForo Ltd. asking for the encryption/hash function.
    If they decide to send me this information, I'll be able to add XenForo support to normal mode, if not, XenForo will be limited to old-school mode I'm afraid.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  15. Offline

    NeatMonster

    Thanks for your work! I'll use the old school mode and wait until you have an answer.
     
  16. Offline

    Kalman Olah

    I just took a look at some of the XenForo source code, and it looks like adding XenForo support to normal mode would be really, really hard...like, beyond my capabilities hard. That's pretty hard. So yeah, sorry about this. I may try to spend a few nights deciphering the correct method to add XenForo support, but I wouldn't count on it happening anytime soon.

    On the bright side, old-school mode does support Xenforo, and it has a fancy whitelisting feature ;).
     
  17. Offline

    Nathan C

    Support for MyBB would be awesome!
     
  18. Offline

    Ant59

    Lmao... your so called "Old school mode" is simply a copy of my plugin. Your "normal" mode is an idea that somone posted in my plugin's thread, that I am currently working to release. You clearly need to think of something original instead of copying others' work.
     
  19. Dont cry, there are soo much clones in the plugin directory, its insane.
     
  20. Offline

    Ant59

    Well this thread clearly belongs in the "LAWL Posts" board.
     
  21. Offline

    Kalman Olah

    If you want I can upload the source code :). It is not a copy of your plugin. I made this plugin for my own server because I was worried about the situation described in 'the way it works', and afterwards added whitelisting/blacklisting on request, as you can see in this thread, and 'old-school-mode' because I felt like it. Pieces of Tagette's Template/alta189's SQL Library were used.

    So no, not a copy, stop being so mad about it.

    P.S.: I finished my plugin's first release before anyone posted that suggestion in your thread. Get your facts straight.

    Old-school-mode, a.k.a. Ant59-is-mad mode, already supported myBB.
    I've added support for myBB to v0.3.2 and uploaded it. Enjoy.

    EDIT: I forgot to mention that to use myBB encryption, you need to set the encryption type in config.yml to 5.

    Current encryption types:

    1 <- plain MD5
    2 <- phpBB
    3 <- SMF
    4 <- vBulletin
    5 <- myBB

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  22. Offline

    Ant59

    I lol'd :p Call it that permanently and I couldn't care less about you copying my plugin :p
     
  23. Offline

    Kalman Olah

    A - I didn't copy anything, I just used your concept for the old-school-mode.
    B - :D
     
    LennonLenford and RazorFlint like this.
  24. Offline

    Jamie Tees

    Face it, you copied the original idea. I'm sticking with ants version.
     
  25. Offline

    Kalman Olah

    The first release was an improvement on Ant's original idea. In v0.2-v0.3 I added Ant's idea so I could add Whitelisting in v0.3.

    I'm not denying that I copied the idea. I'm just saying the plugin itself is not a copy.

    And of course, you're free to use whatever plugins you want, but I'd appreciate it if you wouldn't come into my thread just to mention that.
     
    pudd1nG likes this.
  26. Offline

    NeatMonster

    Can you add support for subgroups?
     
  27. Offline

    Kalman Olah

    As in forum subgroups, or permission subgroups?

    Edit: I'm leaving now, I'll check your answer & reply in about ten hours from now :p.
     
  28. Offline

    NeatMonster

    GroupManager subgroups. There is a subgroups field in the MySQL database who need to be used for GroupManager's subgroups.
     
  29. Offline

    Kalman Olah

    Updated to v0.3.3!
    Added support for XenForo, thanks to a friendly XenForo Ltd. employee called Mike.

    You're the man, Mike!

    I'll look into it :p.
    Give me some time though, I haven't slept in over two days.:'(

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016

Share This Page