[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

    Boost

    I think my server should have access to the database, because I run logblock on my server which stores block changes to the same mysql server and doesn't have any problems. Is there some required mysql version server currently has 5.0.91mm-log. I checked remote mysql access and it had my ip and my servers ip.
     
  3. Offline

    Kalman Olah

    Your local test server was the one where OKB3 threw the failure message. This server wasn't running logblock as far as I know. All I'm saying is that "Mysql Communications Link Failure" is exactly what it sounds like: failure to communicate with the mysql server. I'm having no issues connecting to my MySQL servers using OKB3, so that means the problem is on your end. Either you don't have remote access set up properly on your test server, or a firewall is blocking it.
     
  4. Offline

    CheeseKeg

    I don't use the whitelist functionality, but the default group (Guest) on my server doesn't have building permissions. I currently have it set up so that users need to create an account on the forum, verify their email address, and sync their forum account to become part of the 'Member' group, which has building permissions.
    So right now, the whitelist is disabled, but I kept it in the config just in case I wanted to use it later.
    Also, I haven't updated to v2.4.0 just yet, but will be soon.

    Here's my config as requested:
    Config (open)
    mode: normal
    mysql-connection-info:
    mysql-host: *************************
    mysql-user: ******************
    mysql-password: *****
    mysql-database-name: **************
    old-school-mode:
    usertable: user_table
    minecraftname-field: mine_user
    rank-field: rank_field
    enable-multiple-tables: 'false'
    multitable:
    secondtable: mine_table
    useridfield-in-secondtable: user_id_field
    useridfield-in-usertable: user_id_field
    normal-mode:
    forum: smf
    type1:
    usertable: smf_members
    username-field: member_name
    userpassword-field: passwd
    rank-field: id_group
    type2:
    usertable: user_table
    username-field: username_field
    userpassword-field: user_pass_field
    rank-field: rank_field
    location-of-passgenphp: http://derp.derp/passgen.php
    password-set-in-config-inc-php: password
    type3:
    usertable: user_table
    rank-field: rank_field
    username-field: username_field
    password-field: pass_field
    secondtable: second_table
    useridfield-in-usertable: user_id_field
    useridfield-in-secondtable: user_id_field
    type4:
    usertable: user_table
    username-field: username
    password-field: mine_user
    rank-field: rank_field
    location-of-passgenphp: http://derp.derp/passgen.php
    password-set-in-config-inc-php: password
    world-groups:
    enable-multiworld-groups: 'false'
    default:
    groups:
    '1': Administrator
    '2': Moderator
    '0': Member
    whitelist:
    enable-whitelist: 'false'
    enable-multiworld-whitelist: 'false'
    main-world-name: world
    global:
    use-as-blacklist: 'false'
    kick-message: This is the message a user will see if their group isn't whitelisted.
    groups:
    '1': 'true'
    '2': 'false'
    exampleworld1:
    use-as-blacklist: 'true'
    kick-message: This is the message a user will see if their group isn't whitelisted.
    groups:
    '1': 'true'
    '2': 'false'
    exampleworld2:
    use-as-blacklist: 'false'
    kick-message: This is the message a user will see if their group isn't whitelisted.
    groups:
    '1': 'true'
    '2': 'false'
    nickname-sync:
    enable-nickname-syncing: 'true'
    nickname-field-in-usertable: 'real_name'
    forum-banning:
    banned-forum-user-rank-id: '0'
    unbanned-forum-user-rank-id: '0'
    ban-message: You have been banned!
     
  5. Offline

    Kalman Olah

    Alright. Well, if you've updated to v2.4.0 and you still have issues, mind reposting your error/describing your issue again? :p Can't seem to find your previous post.
     
  6. Offline

    Chrisspitz

    ERGH
    I wish I could say it isn't there anymore, but when a player connects there is still connection lag :'(
    I have the server hosted with Xenon Servers so you would think they would have a good outgoing connection speed....

    EDIT: I even just moved my entire forum database to my local mysql server on my server, and changed my config so my server would only have to query locally and there is still lag when a player connects, and it is fixed by removing OKB3. I'm so stressed :'(
     
  7. Offline

    iBstoneyDave

    I've already switched to Permissions, now I'm only getting this error but it doesn't seem to affect anything:
    http://pastebin.com/sGWJAssS
     
  8. Offline

    Kalman Olah

    That is so weird...The error mentions the PLAYER_PRELOGIN event, but this is only used by the whitelist :eek:.
    :(...I'll look into running stuff in another thread I suppose...yay me...

    Heading to bed now...ish.

    If people could reply to this post and tell me if OKB3 is causing any noticeable lag, that'd be cool.
     
  9. Offline

    Donny

    promote/demote: Option to use multiple groups . (would mean promote and demote only did the main group)
     
  10. Offline

    Deadlystrike

    its having the time out issue again

    pls fix asap our server relys on your plugin! you make our lives easyer!

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

    Chrisspitz

    I'm sorry.
    Wish I could get this fixed. I'll be willing to donate some now for you like 10 dollars I guess if I can get no lag connections bleh.
     
  12. Offline

    Kalman Olah

    Will be fixed in the next release.
    Very generous of you. See above.

    Starting the work on the next release when I get home in about 10-12 hours. Expect a release late tonight if you're living in the US or something.

    To-do list for next release:
    -...Threading.
    -MySQL timeout check.
     
  13. Offline

    Chrisspitz

    Sweet. I am in the Central Time Zone which yes is USA (Currently 11:10PM). I have work tomorrow morning at 9am-6:30pm. Long day of course, so I will probably will be replying from my phone from this point forward, and whenever you update it I wont be able to test it until im home from work.

    I'm not familiar with threading but i'm guessing its some sort of seperated javascript processing type of thing maybe idk. You don't have to explain ill just say okay and cross my fingers hoping it works :p
     
  14. Offline

    Bisa

    Show Spoiler
    Code:
    2011-07-20 10:49:19 [INFO] XX [/XX] logged in with entity id 818558 at ([world] -51.47429029966437, 69.0, -94.1050398634607)
    2011-07-20 10:49:19 [WARNING] [OKB3] Error at SQL Query: The last packet successfully received from the server was 36,106,174 milliseconds ago.  The last packet sent successfully to the server was 36,106,175 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
    2011-07-20 10:49:19 [SEVERE] Could not pass event PLAYER_JOIN to OKB3
    java.lang.NullPointerException
        at me.kalmanolah.okb3.OKPlayerListener.onPlayerJoin(OKPlayerListener.java:181)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:244)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
        at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:124)
        at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:97)
        at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:33)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:91)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-07-20 10:49:20 [WARNING] [OKB3] Error at SQL Query: No operations allowed after connection closed.Connection was implicitly closed by the driver.
    2011-07-20 10:49:20 [SEVERE] Could not pass event PLAYER_TELEPORT to OKB3
    java.lang.NullPointerException
        at me.kalmanolah.okb3.OKPlayerListener.onPlayerTeleport(OKPlayerListener.java:47)
        at org.bukkit.plugin.java.JavaPluginLoader$8.execute(JavaPluginLoader.java:293)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:374)
        at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:98)
        at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:33)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:91)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-07-20 10:49:20 [WARNING] [OKB3] Error at SQL Query: No operations allowed after connection closed.Connection was implicitly closed by the driver.
    2011-07-20 10:49:20 [SEVERE] Could not pass event PLAYER_TELEPORT to OKB3
    java.lang.NullPointerException
        at me.kalmanolah.okb3.OKPlayerListener.onPlayerTeleport(OKPlayerListener.java:47)
        at org.bukkit.plugin.java.JavaPluginLoader$8.execute(JavaPluginLoader.java:293)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:374)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:343)
        at net.minecraft.server.Packet10Flying.a(SourceFile:126)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)


    Same exception then repeatedly occured at 11:03/11:29/11:32/11:35/11:36/11:44/11:50 and 12:00
    The single player logging on was alone and online during this time which probably explains the random spread in time between the exceptions.

    What I can figure is the db connection times out or something then the plugin tries to use it - could a check be made to see if the connection is alive before using it or something?

    (the player reported nothing strange happened, hes got all his build permissions and stuff so it's just me worrying about the logg being spammed...)

    My censored config
    Show Spoiler

    Code:
    mode: old-school
    mysql-connection-info:
        mysql-host: X
        mysql-user: X
        mysql-password: X
        mysql-database-name: X
    old-school-mode:
        usertable: X
        minecraftname-field: X
        rank-field: X
        enable-multiple-tables: 'false'
        multitable:
            secondtable: X
            useridfield-in-secondtable: X
            useridfield-in-usertable: X
    normal-mode:
        forum: phpbb
        type1:
            usertable: user_table
            username-field: username_field
            userpassword-field: user_pass_field
            rank-field: rank_field
        type2:
            usertable: users
            username-field: username
            userpassword-field: user_password
            rank-field: group_id
            location-of-passgenphp: X
            password-set-in-config-inc-php: X
        type3:
            usertable: user_table
            rank-field: rank_field
            username-field: username_field
            password-field: pass_field
            secondtable: second_table
            useridfield-in-usertable: user_id_field
            useridfield-in-secondtable: user_id_field
        type4:
            usertable: user_table
            username-field: username
            password-field: mine_user
            rank-field: rank_field
            location-of-passgenphp: X
            password-set-in-config-inc-php: X
    world-groups:
        enable-multiworld-groups: 'false'
        default:
            groups:
                '1': admin
                '3': builder
                '2': guest
        exampleworld1:
            groups:
                '1': ExampleGroup1
                '2': ExampleGroup2
        exampleworld2:
            groups:
                '1': ExampleGroup1
                '2': ExampleGroup2
    whitelist:
        enable-whitelist: 'false'
        global:
            use-as-blacklist: 'false'
            kick-message: Your group is not white-listed, register at bisa.dyndns.tv/forum for more info.
            groups:
                '1': 'true'
                '2': 'false'
    nickname-sync:
        enable-nickname-syncing: 'false'
        nickname-field-in-usertable: ''
    forum-banning:
        is-server-ban-too: 'true'
        banned-forum-user-rank-id: '0'
        unbanned-forum-user-rank-id: '10'
        ban-message: This is the message a player will see if they get banned.
    promotion-tracks:
        '1': '3'
        '2': '5'
        '3': '16'
    forum-ranks:
        admin: '1'
        builder: '3'
        guest: '2'
    
    


    Thnx for a great plugin =)
     
  15. Offline

    Kalman Olah

    I'd like to personally thank you for censoring just about half your config.yml file. I can tell you that the errors you are getting are caused because of the lack of a check for a MySQL connection timeout. This feature will be reimplemented in tonight's release, Bulletin Board Bridge v2.5.0.
     
  16. Offline

    Deadlystrike

    sugjestion: some people are overthinking the commands for example we tell them its /sync forumname forumpass and somtimes they type forum infront of pass and username
    could u make it so that if it they say for example /sync forumdeadlystrike forumexamplepassword
    it would send back do not put the word forum in front "assuming thats not there username/pass" in witch case it would sync right?
     
  17. Offline

    Kalman Olah

    Will add it to tonight's release too.

    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.

    To-Do:
    2.6.0 or 2.5.1
    -Custom messages in a messages.yml file.
    -Improved logging.
    -Improved MySQL timeout checking.
    -Possibly running commands in threads to reduce lag from commands(need feedback first).

    Thanks go out to @Ant59 for helping me out with this update.

    I'd also like to thank the users: OKB3 has hit 750 logged and 2250 unlogged downloads, adding up to 3000 downloads :).

    Please report bugs directly to me by PM or through reply. Please provide feedback on the impact of this update on the performance of your server, and the difference between 2.5.0 and pre-2.5.0.

    @Chrisspitz
    @Deadlystrike
    Hopefully fixed your issues.

    @Deadlystrike
    I didn't add the /Sync forumusername etc... yet. I'll add it in the next release.

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

    iBstoneyDave

    Well the whitelist is working fine so I don't know, and no it doesn't seem to cause any noticeable lag...not in old-school mode anyway :)
     
  19. Offline

    Kalman Olah

    Yeah, old-school is considerably faster :).
     
  20. Offline

    Chrisspitz

    Glad you got it finished. I'll be home from work in 5 hours to try it out/donate. Pray it's fixed :eek:
     
  21. Offline

    Kalman Olah

    Well, since I didn't actually test it with more than one player, I'm praying it's fixed too :).

    EDIT: I really think I should clarify... Nothing was actually WRONG with the plugin...
    It's just that when someone logs in, Bukkit waits for that person to actually finish logging in. My plugin intercepts that, and performs a bunch of (remote) MySQL checks before letting someone log in, so as more stuff gets added to the plugin, it'll take longer and longer.
    Now, what threading does is it pretty much tells Bukkit "I've got this, go on without me". It's like a shitty action movie.
     
  22. Offline

    Deadlystrike

    sql closing connection is still a issue :(
     
  23. Offline

    Kalman Olah

    Sorry bro, totally forgot.

    Updated to v2.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.".
    EDIT: @Deadlystrike : If your timeout value is less than 15 seconds let me know, and I'll add an option for it in the config.yml :).
     
  24. Offline

    Bisa

    Awesome, thnx again for a great plugin =)
     
  25. Offline

    ExplosiveBacoN

    I can not set this up for the life of me, on the forum, my group is whitelisted, but when I try to join the server, it kicks me for not being white-listed.
     
  26. Offline

    Deadlystrike

    can you get rid of "pinged MySQL server" of make that optional in cfg its kind of annoying when trying to find something in console like a error
     
  27. Offline

    Kalman Olah

    Jesus christ man do you ever stop complaining? :(

    I reuploaded 2.5.1. It has no ping message.

    Post your config.yml. Don't quote the OP(You're taking up loads of space...). Make sure that use-as-blacklist is set to true if you're running it in normal mode, because if it's not set to true people without saved credentials will count as blacklisted.

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

    ExplosiveBacoN

    Code:
    2011-07-20 18:55:30 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'fsync' in plugin OKB3 v2.5.1
    	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    	at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:320)
    	at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:713)
    	at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:677)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:670)
    	at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    	at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
    	at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    	at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.NullPointerException
    	at me.kalmanolah.okb3.OKmain.changeGroup(OKmain.java:236)
    	at me.kalmanolah.okb3.OKmain.UpdateNormal(OKmain.java:493)
    	at me.kalmanolah.okb3.OKCmd.onCommand(OKCmd.java:171)
    	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    	... 12 more
    Error I get when using /fsync

    Config (open)
    Code:
    mode: normal
    mysql-connection-info:
        mysql-host: 74.52.117.213
        mysql-user: bacon_forum
        mysql-password: *************
        mysql-database-name: bacon_forum
    old-school-mode:
        usertable: user_table
        minecraftname-field: mine_user
        rank-field: rank_field
        enable-multiple-tables: 'false'
        multitable:
            secondtable: mine_table
            useridfield-in-secondtable: user_id_field
            useridfield-in-usertable: user_id_field
    normal-mode:
        forum: mybb
        type1:
            usertable: mybb_users
            username-field: username
            userpassword-field: password
            rank-field: usergroup
        type2:
            usertable: user_table
            username-field: username_field
            userpassword-field: user_pass_field
            rank-field: rank_field
            location-of-passgenphp: http://yoursite.com/passgen.php
            password-set-in-config-inc-php: 12345pass
        type3:
            usertable: user_table
            rank-field: rank_field
            username-field: username_field
            password-field: pass_field
            secondtable: second_table
            useridfield-in-usertable: user_id_field
            useridfield-in-secondtable: user_id_field
        type4:
            usertable: user_table
            username-field: username
            password-field: mine_user
            rank-field: rank_field
            location-of-passgenphp: http://yoursite.com/passgen.php
            password-set-in-config-inc-php: 12345pass
    world-groups:
        enable-multiworld-groups: 'false'
        lol:
            groups:
                '1': Banned
                '2': Non-Whitelisted
                '3': Whitelisted
                '4': Premium
                '5': Donator1
                '6': Donator2
                '7': Donator3
                '8': ProDonator
                '9': ServerSponsor
                '10': Mod
                '11': Admin
                '12': Owner
    whitelist:
        enable-whitelist: 'true'
        global:
            use-as-blacklist: 'true'
            kick-message: You are currently not whitelisted.
            groups:
                '1': 'true'
                '2': 'true'
                '3': 'false'
                '4': 'false'
                '5': 'false'
                '6': 'false'
                '7': 'false'
                '8': 'false'
                '9': 'false'
                '10': 'false'
                '11': 'false'
                '12': 'false'
    nickname-sync:
        enable-nickname-syncing: 'false'
        nickname-field-in-usertable: ''
    forum-banning:
        is-server-ban-too: 'false'
        banned-forum-user-rank-id: '1'
        unbanned-forum-user-rank-id: '2'
        ban-message: This is the message a player will see if they get banned.
    promotion-tracks:
        '1': '1'
        '2': '2'
        '3': '3'
        '4': '4'
        '5': '5'
        '6': '6'
        '7': '7'
        '8': '8'
        '9': '9'
        '10': '10'
        '11': '11'
        '12': '12'
    forum-ranks:
        'Banned': '1'
        'Non-Whitelisted': '2'
        'Whitelisted': '3'
        'Premium': '4'
        'Donator1': '5'
        'Donator2': '6'
        'Donator3': '7'
        'ProDonator': '8'
        'ServerSponsor': '9'
        'Mod': '10'
        'Admin': '11'
        'Owner': '12'
    


    Sorry for the OP quote, its just that this is a vital asset to my server.[/code]
     
  29. Offline

    Kalman Olah

    Config (open)

    First things first.
    Change this:
    Code:
    world-groups:
        enable-multiworld-groups: 'false'
        lol:
            groups:
                '1': Banned
                '2': Non-Whitelisted
                '3': Whitelisted
                '4': Premium
                '5': Donator1
                '6': Donator2
                '7': Donator3
                '8': ProDonator
                '9': ServerSponsor
                '10': Mod
                '11': Admin
                '12': Owner
    to this:
    Code:
    world-groups:
        enable-multiworld-groups: 'false'
        default:
            groups:
                '1': Banned
                '2': Non-Whitelisted
                '3': Whitelisted
                '4': Premium
                '5': Donator1
                '6': Donator2
                '7': Donator3
                '8': ProDonator
                '9': ServerSponsor
                '10': Mod
                '11': Admin
                '12': Owner
    Note the 'default.
    Second, /fsync is the command you use to force someone else to sync if they have already synced before. /sync is the command you yourself use to sync.
    Report back with your results :).
    EDIT: Third:
    Groups that are set to 'false' in the whitelist ARE BLACKLISTED. Groups set to 'true' are WHITELISTED. Fix this, please :).
     
  30. Offline

    ExplosiveBacoN

    Okay that seemed to fix one problem, but now I have another. I had to fix the forum rank section since there were incorreft ids.
    Code:
    forum-ranks:
        'Banned': '7'
        'Non-Whitelisted': '2'
        'Whitelisted': '9'
        'Premium': '11'
        'Donator1': '12'
        'Donator2': '13'
        'Donator3': '14'
        'ProDonator': '16'
        'ServerSponsor': '17'
        'Mod': '3'
        'Admin': '8'
        'Owner': '4'
    Thats not the full list of ranks on our forums aswell; there were some we didn't want to incorporate. But after I changed the configs, I am still resynced to the the wrong rank. I am owner, the rank ID for that is "4". I had Premium linked to "4". Now that I made the proper changes I'm still linked to Premium, not Owner. I can't really explain this well.[/code]
     
  31. Offline

    Chrisspitz

    Yay home now - Just put it on my server and im testing it at the moment.
    It still lags everyone SOME, when someone connects, but it is deffinetly a lotttt better so for now they can suck it up lol.

    Didn't realize the donation would be paid in Euros. I was planning to donate 10 USD so I didn't the most equivalent as I could ~ 7 Euros. Just made the donation.

    Thanks
     

Share This Page