Bungee - Spigot BungeeSuite Bans BungeeSuite Bans v2.3b

Proxy wide bans system for BungeeSuite includes /ban, /kick, /tempban and more

  1. bloodsplat submitted a new resource:

    BungeeSuiteBans (version 0.1) - Proxy wide bans system for BungeeSuite

    Read more about this resource...
     
  2. dimensionZ

    Benefactor

    How does it react for a tempban when a player is not online?
    One interesting possible option would be to apply the tempban only when the player joins back.
     
  3. Tried to add this on to my server. BungeeSuite installed on BungeeCord plugins, started ok, confirmed that tables generated in MYSQL DB ok.

    Put BungeeSuiteBans in spigot plugin folder and get the following

    Had look in spigot log, but nothing appears different there, but in BungeeCord console get the following:

    http://pastebin.com/jY7tkpcM
     
    • Informative Informative x 1
  4. Did the table bungee bans get created at all once you added the plugin?
     
  5. Ah I see What it is... Thanks for the error log.
    For now resetting your server again should fix it or just leaving it as it is shouldn't effect anything.

    What's happening is the Ban check is checking to see if you banned when you first log in except since its your first login theres no tables yet to check against :D I'll leave this error for now as the plugin should still work and fix it when I get time.
     
  6. Hi!

    Love your Suite so far =)
    Having problems getting the Bans to work. It does not create the table BungeeBans in the bungee database (bungee.BungeeBans)
    There is/should be nothing wrong with the SQL permissions, as the user set up has permissions to do anything on bungee.* and tables for all the other suite plugins were created with no problems and work perfectly =)
    here is a pastebin of the error I get when players log on: http://pastebin.com/0wT2j3Hi

    Best regards Steven.

    Worth noting, I followed the install instructions to the letter and set bans to enabled in the BungeeCord config for BungeeSuite ;)

    Also I do not get any errors when starting Proxy, only when ppl join server or tries to use any of the commands for BungeeBans
     
    #6 StevenB, May 12, 2013
    Last edited: May 12, 2013
    • Informative Informative x 1
  7. Thank I finish work in roughly 4 hours I'll check it out when I get home.

    Also make sure you have connected to the server where you have the plugin. This should create the tables. I did do a quick test this morning as noted above with this download and BungeeSuite. Make sure all your BungeeSuite files are the latest
     
  8. The hub has the plugin, so that should be fine, all the other servers I have set up also have the plugin.
    Proxy has latest BungeeSuite (0.15) and my Hub and rest of the servers have latest of all the plugins from your suite ;)

    No matter which server is connected to no tables are generated, I have set up three more servers on the bungeecord proxy today and even copied the config files and all BungeeSuite plugins generate tables except BungeeBans, so I can't figure out what I could have done wrong.

    I will set up a new test environment with just your suite on a new proxy just to doublecheck that it's not me at fault ;)

    Edit: Seems the same happens on my newly set up test environment aswell. :(

    Edit 2: Clean Ubuntu Server 13.04 install, everything updated, installed oracle java 7_21 64bit and set up latest BungeeCord (build 412) with BungeeSuite 0.15 and Latest Spigot (build 850) on the servers with all the latest BungeeSuite server plugins. all redownloaded to be on the safe side.

    Got this error this time (prob had this error the first time on the other setup, but since it wasn't logged and I restarted server I didn't see it)
    http://pastebin.com/anWcYV9L
    Also took a screenshot of the MySQL tables that got generated.
    https://dl.dropboxusercontent.com/u/87856973/sql.png
    BungeeCord config.yml file (haven't enabled BungeeSuiteBans yet, tho should not be needed for tables to generate right?)
    http://pastebin.com/rgFXpQeu

    Please let me know if there is anything else I can check =)
     
    #8 StevenB, May 13, 2013
    Last edited: May 13, 2013
    • Informative Informative x 1
  9. Thanks for the hard work in reporting I'll get right on fixing this issue :)
     
  10. No problem ;)

    I was just about to edit post again, when I make the table with a bogus column I see the plugin finds the table, but since I don't know which columns that's supposed to be there I just get an error about unknown column.

    So based on the unknown column errors I added the following colums to the table for testing
    player, banned_by, banned_on, reason, type and banned_until.
    This got rid of all the errors, but since I do not know how to properly set up the columns I probably didn't do it correctly hence it does not work :p

    Hoping for the best in your bughunting (if there is any)

    Edit: It does however add which player is banned and by who, adds time when banned, the reason, type of ban (temp or permanent) and banned until to the columns I set up. Ban not effective tho

    Edit 2: just to mention, yes I did enable bans in the config, I can ban and they appear in the database, unban and they get removed. (might be because I haven't set up Columns properly :p) will just delete table if you find a problem and put up a new version for testing ;)

    Edit 3: Posting images on how I set up the tables and data that get's put in them when banning and tempbanning.
    https://dl.dropboxusercontent.com/u/87856973/sql2.png
    https://dl.dropboxusercontent.com/u/87856973/sql3.png
     
    #10 StevenB, May 13, 2013
    Last edited: May 13, 2013
    • Informative Informative x 1
  11. This should be fixed now. Instead of checking the if the first player to join has any bans before the table is even created it will wait a bit. This should be fine unless the player to first join the proxy is banned, even then they will be kicked after a few seconds.

    StevenB as for your issue I could not find anything that could be causing the table to not be created properly. Hopefully this patch will fix your issue if not here's how I installed it and tested.
    1. Deleted all tables from db.
    2. Deleted all BungeeSuite configs from BungeeCord.
    3. Downloaded lastest BungeeSuite and BungeeSuiteBans.
    4. Placed BungeeSuite into BungeeCord/plugins
    5. Ran Bungee. It then stopped it self because it could not connect to db.
    6. Inserted my mysql details into the config BungeeCord/plugins/BungeeSuite/config.yml
    7. Ran BungeeCord again. (NO ERRORS)
    8. Placed BungeeSuiteBans into the server the proxy will send me to.
    9. Ran the server (NO ERRORS)
    10. Connected to BungeeSuite and the tables for BungeeSuiteBans where then created.
    Be sure to update you BungeeSuite to 0.16 aswell
     
  12. Hey!

    Thanks for looking into my issue. I installed it exactly like you did (except table was not there so I did not have to delete anything)

    I did this with the latest version of BungeeSuite (0.16) and BungeeSuiteBans (0.11)

    1. Deleted all tables from db. (bungee db empty)
    2. Deleted all BungeeSuite configs from BungeeCord.
    3. Downloaded latest BungeeSuite (0.16) and BungeeSuiteBans (0.11).
    4. Placed BungeeSuite.jar in BungeeCord/plugins (which was empty now)
    5. Ran Bungee. It stopped like you said because it could not connect to db.
    6. Put my MySQL details into the BungeeCord/plugins/BungeeSuite/config.yml file
    7. Ran BungeeCord again. (No Errors (but had none before either)).
    8. Placed BungeeSuiteBans (and replaced all other BungeeSuite plugins (have no other plugins or configs in the plugins folder of my servers))
    9. Ran server (no errors, but also had none before)
    10. Connected to BungeeSuite and the tables for BungeeWarps, BungeeSpawns, BungeeMessages, BungeePlayers, BungeePortals and BungeeeServers were created. but no BungeeeSuiteBans ;(

    Got this Error in BungeeCord console upon connecting: http://pastebin.com/U62tZSVp

    I am sorry for troubling you yet again ;p

    Edit: Retested again with only BungeeSuite (0.16) and BungeeSuiteBans (0.11) and none of the other plugins in the suite. Samme error.

    Since the other plugins get their tables made should indicate that I have not made an error in the configs right?

    Edit 2:
    Decided to try and create the BungeeBans table and the columns manually to see if I could get it to work. and I did =)
    columns:
    player - varchar(50)
    banned_by - varchar(50)
    banned_on - datetime
    reason - varchar(50)
    type - varchar(50)
    banned_until - datetime

    this time the plugin works like a charm =) still not sure if the columns are correctly set up, can you verify?
     
    #13 StevenB, May 13, 2013
    Last edited: May 13, 2013
    • Informative Informative x 1
  13. StevenB Ah I think I see the error ill post up the query I used aswell soon give me 30 mins

    I think I got it the query was wrong, missing a s on bungeeplayers lol...

    can you try run this
    CREATE TABLE BungeeBans (player VARCHAR(100), banned_by VARCHAR(100), reason VARCHAR(200), type VARCHAR(20), banned_on DATETIME, banned_until DATETIME, FOREIGN KEY (player) REFERENCES BungeePlayers (playername), FOREIGN KEY (banned_by) REFERENCES BungeePlayers (playername));
     
    #14 bloodsplat, May 13, 2013
    Last edited: May 13, 2013
  14. ah! I also see how I should set it up manually now! typos are often hard to spot.
    I will try and delete the table and run that query ;)

    Edit: deleted the table and ran that query. It created table and columns and plugin seems to work like it's supposed to =)

    Edit 2: permanent ban and permban seems to work =)
     
    #15 StevenB, May 13, 2013
    Last edited: May 13, 2013
    • Informative Informative x 1
  15. Yay thanks for your help (errno 105) was a foreign key problem. No idea why my database didnt care that it didnt match. Oh well :D
     
  16. you are most welcome!
    unbanning also works like a charm ;)

    Edit: will test with the updated version when it's up.

    Edit 2: Guess it's not updated yet as comparison of the old BungeeSuiteBans.jar matches with the one on download and tables not generating. (just figured I would test)

    Edit 3: Was just chrome not clearing cache properly, downloaded in another browser and it creates tables like a boss :p
     
    #18 StevenB, May 13, 2013
    Last edited: May 14, 2013
  17. Thanks for your work on this.

    I had to go to bed :p
     
  18. Don't know what's causing this error:

    Code (Text):
    Error dispatching event LoginEvent(cancelled=false, cancelReason=null, connection=[rangeroverr] <-> InitialHandler) to listener [email protected]0ec9fe
    java.lang.NullPointerException
        at com.minecraftdimensions.bungeesuite.database.SQL.existanceQuery(SQL.java:86)
        at com.minecraftdimensions.bungeesuite.Utilities.playerIsBanned(Utilities.java:942)
        at com.minecraftdimensions.bungeesuite.listener.JoinLeaveListener.playerLogin(JoinLeaveListener.java:79)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at net.md_5.bungee.event.EventBus.post(EventBus.java:64)
        at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:298)
        at net.md_5.bungee.connection.InitialHandler.finish(InitialHandler.java:240)
        at net.md_5.bungee.connection.InitialHandler.access$000(InitialHandler.java:49)
        at net.md_5.bungee.connection.InitialHandler$1.onCompleted(InitialHandler.java:183)
        at net.md_5.bungee.connection.InitialHandler$1.onCompleted(InitialHandler.java:177)
        at com.ning.http.client.AsyncCompletionHandler.onCompleted(AsyncCompletionHandler.java:63)
        at com.ning.http.client.providers.netty.NettyResponseFuture.getContent(NettyResponseFuture.java:270)
        at com.ning.http.client.providers.netty.NettyResponseFuture.done(NettyResponseFuture.java:298)
        at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.markAsDone(NettyAsyncHttpProvider.java:1509)
        at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.finishUpdate(NettyAsyncHttpProvider.java:1530)
        at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.access$2500(NettyAsyncHttpProvider.java:143)
        at com.ning.http.client.providers.netty.NettyAsyncHttpProvider$HttpProtocol.handle(NettyAsyncHttpProvider.java:2334)
        at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.messageReceived(NettyAsyncHttpProvider.java:1195)
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:787)
        at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:142)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:787)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:459)
        at org.jboss.netty.handler.codec.replay.ReplayingDecoder.cleanup(ReplayingDecoder.java:565)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.channelDisconnected(FrameDecoder.java:365)
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:102)
        at org.jboss.netty.handler.codec.http.HttpClientCodec.handleUpstream(HttpClientCodec.java:92)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)
        at org.jboss.netty.channel.Channels.fireChannelDisconnected(Channels.java:396)
        at org.jboss.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:336)
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:93)
        at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107)
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
        at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
        at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
        at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
    Also it seems my players can't use /kick and such even though they have the permissions?