[INACTIVE][SEC] GroupBlacklist v1.2 - A lightweight group event Blacklist [612]

Discussion in 'Inactive/Unsupported Plugins' started by speeddemon92, Mar 17, 2011.

  1. Offline

    speeddemon92

    GroupBlacklist (VenomSpear) - A lightweight group event Blacklist
    Version: v1.2

    GroupBlacklist Now Has A New Home After Nearly 2 Years Of No Work!
    http://dev.bukkit.org/server-mods/groupblacklist/

    This plugin allows you to blacklist blocks and items per permission group using 3 events: On Block Break, On Block Placement, and On Item Use. This is great for keeping players from specific groups from using certain items and is perfect for a Role Server.

    Features:
    • Block items per group
    • Administration in-game
    • Administration via console
    • Runs off of Permissions System and/or OP status
    • Sends the player a message when they do something that is blacklisted
    • Kick/Ban system for misbehaving users
    • Ability for users to view blacklist for their group(s)
    Commands:
    Names in Red are New Commands
    • /gbview - Displays blacklist info for groups that the issuing player is a part of
      Example: /gbview - Displays current blacklist info
      * Requires user to have "groupblacklist.view" permission
    • /gblist help <command> - Displays help for the command
      Parameters: <command>: GroupBlacklist Command to display help for
      Example: /gblist help addgroup - Display help for GroupBlacklist command addgroup
    • /gblist addgroup <group> - Add a group to the Blacklist
      Parameters: <group>: Group to add to Blacklist
      Example: /gblist addgroup Mod - Add group "Mod" to Blacklist
    • /gblist deletegroup <group> - Delete a group from the Blacklist
      Parameters: <group>: Group to delete from the Blacklist
      Example: /gblist deletegroup Admin - Delete group "Admin" from Blacklist
    • /gblist view <group> - View a groups Blacklist
      Parameters: <group>: Group to view from the Blacklist
      Example: /gblist view Default - View Blacklistevent info for group "Default"
    • /gblist edit <group> - Select a group for editing
      Parameters: <group>: Group to select to edit
      Example: /gblist edit Default - Edit the group "Default"
    • /gblist add <break|place|use|all> <ID> - Add Blacklist events for given ID's
      Parameters: <break|place|use|all>: Events to blacklist: onBreak, onPlace, onUse, all
      Parameters: <id>: Comma Delimited list of Block and item ID's
      Example: /gblist add all 10,11,46,51,259,327,333 - Add list to all Blacklist events
    • /gblist remove <break|place|use|all> <id> - Whitelist events for comma delimited id's
      Parameters: <break|place|use|all>: Events to whitelist: onBreak, onPlace, onUse, all
      Parameters: <id>: Comma Delimited list of Block and item ID's
      Example: /gblist remove all 333 - Whitelist boats for all events
    • /gblist clear <break|place|use|all> - Clear All id's from a Blacklist event
      Parameters: <break|place|use|all>: Events to clear: onBreak, onPlace, onUse, all
      Example: /gblist clear use - Clear onUse events
    • /gblist done - Finish editing a Blacklist group
      Example: /gblist done - Finish editing group
    • /gblist reload - Reloads GroupBlacklist config from disk"
      Example: /gblist reload - Reloads GroupBlacklist's Config;
    • /gblist log (on|off) (break|place|use) - Turn event logging on or off for selected events
      Optional Parameters: (on|off): Turn global event logging on or off
      Optional Parameters: (break|place|use): Specific events to log to toggle logging
      Example: /gblist log - View current log statuses
      Example: /gblist log on - Turn on global logging
      Example: /gblist log off use - Turn off onUse logging
    Permissions
    Code:
    groupblacklist.admin        # Player can administer GroupBlacklist
    groupblacklist.view          # Player can view Blacklist for their group(s)
    groupblacklist.exempt      # Exempts player from GroupBlacklist
    
    Example output config
    Code:
    settings:
        log:
            break: true
            place: true
            use: true
        advanced:
            tntdrop: false
            mergelog: false
            kick:
                enabled: false
                subtract: 1
                numstrikes: 5
            ban:
                enabled: false
                numkicks: 3
                kicksubtract: 1
                timeaddition: 1d
                maxbans: 5
    groups:
        Admin:
            on-place: '46'
            on-break: '46'
            on-use: '46'
        Default:
            on-place: 46,51
            on-break: '46'
            on-use: 46,51
    
    Example Kick/Ban Offense Config:
    Code:
    users:
        Player123:
            strikes: 2
            kicks: 1
            bans: 2
            bantime: 04-1-2011 09-30-56
        XYZ:
            strikes: 2
            kicks: 0
            bans: 0
            bantime: ''
        ABC123:
            strikes: 0
            kicks: 0
            bans: 5
            bantime: 08-25-2022 15-57-24
    Download:
    Download v1.2 [612]

    Previous Versions:
    Download v1.1 [531]

    TODO:
    • Fix logging support that broke between v1.0 and v1.1 [612]
    • Add option to kick/ban users after a specified number of attempts [612]
    • Completely remove groups that are deleted from blacklist [612]
    • Allow non-privileged users to view what blocks and items are blacklisted for their group(s) [612]
    • Add commands to control advanced options like Kick/Ban
    • Fix TNT Drop on Break option
    • Add ability to use names to specify Blocks and Items instead of just ID's
    • Add countdown message for each strike against the blacklist
    • Add command to reload configuration if manually edited while the server is running [612]
    • Block blacklisted items from being triggered by any kind of charge and block burning of blacklisted items
    Changelog:
    Version 1.2
    • Added advanced options like TNT Drop on Break and merge logs with main log
    • Fixed logging bug
    • Added a player Kick/Ban Systems for blacklist abuse
    • Added command for a player to view the blacklists of the group they are in
    • Added the ability to exempt a player or whole group from a blacklist
    Version 1.1
    • Added the ability to administer from console
    • Fixed many bugs dealing with duplicate entries
    Version 1.0
    • Added TNT block so it will not explode if breakage is blacklisted
    • Stabilized Messages for User Input
    Version 1.0a
    • Initial release. Too buggy to release to public
     
  2. Offline

    croccydile

    Thank you for doing this, I look forward to seeing improvements made. ^^
     
  3. Offline

    speeddemon92

    You're welcome! I will be trying to tackle some of the todo's in the next update. The last todo will probably be in v1.3 or v1.4 as it will take a little longer to implement. I hope to have v1.2 out in the next couple days.
     
  4. Offline

    brendon1555

    Could the option to kick a player when they do something thats blacklisted be implemented?
     
  5. Offline

    speeddemon92

    Sure. I think I'll try to add the ability to kick after X number of attempts and ban after X number of kicks. I might hook it onto MCBans after kick/ban is implemented. Thanks for the suggestions.
     
  6. Offline

    croccydile

    Just a minor suggestion that would allow this to go beyond GriefAlertR (which I no longer use because it caused my server to die) is if you fix logging support have a simple list of coordinates of where the event happened.

    Say Player XYZ broke Diamond Ore at (-53, 15, 352)

    Would like to use this to monitor lava bucket usage and such. Thank you!
     
  7. Offline

    speeddemon92

    I actually had logging built in and it died between v1.0 and v1.1 but i'm working on fixing it now. It's set to recorded the blacklisted events into a log based on the event type. So an onBreak event log would result in something like this
    Code:
    Player: <XYZ> from the Group: <ABC> attempted to break blacklisted Block ID: 46 at (-53,15,352)
    I do plan to add the names of blocks and items so it won't just be the ID's but rather names.
     
  8. Offline

    Flenix

    Any chance of adding a proper permissions plugin, or is there a way to edit the groups serverside? the OP suggests its all done in game, which with the amount of things i'm doing would be very tedious!
    Also, "onuse" does that count as, for example, hitting something with a sword? or just holding the sword?
    Finally, is armour counted under that "onuse" bit? We have certain classes (mages etc) who we don't want to be allowed armour and weapons...

    Thanks
     
  9. Offline

    speeddemon92

    I don't know what you mean by "proper permissions plugin" in this context, but the blacklist can be edited in-game, by using the console, and by editing the blacklist file manually and reloading. I believe the onUse covers just using the item but I will research it a little further inside the Bukkit code and adjust accordingly. Lastly I don't believe the armor falls under onUse but I will also research this and possibly add an option to remove the blacklisted item(s) if the player is found having the item in his/her inventory.

    Thank you for bringing this to my attention and I will try to see if I can get this researched and added before I release version v1.3.

    Version v1.2 (VenomSpear) has been released for CB 612.

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

    croccydile

    Couple of things I've come across...

    Using 612 I keep getting this

    Code:
    java.lang.NullPointerException
        at com.nanomediasystems.speeddemon92.GroupBlacklist.GBPlayerListener.onPlayerInteract(GBPlayerListener.java:57)
        at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:214)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:162)
        at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:207)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:447)
        at net.minecraft.server.Packet15Place.a(SourceFile:57)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    2011-04-02 06:05:58 [SEVERE] Could not pass event PLAYER_INTERACT to GroupBlacklist
    java.lang.NullPointerException
        at com.nanomediasystems.speeddemon92.GroupBlacklist.GBPlayerListener.onPlayerInteract(GBPlayerListener.java:57)
        at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:214)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:162)
        at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:207)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:447)
        at net.minecraft.server.Packet15Place.a(SourceFile:57)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    
    So it does not seem to work properly for me :( Sorry.

    Minor suggestion perhaps for future version as well, have an option for the block being tracked (i.e. for logging of say who broke Diamond Ore) without preventing the action.

    EDIT: Just saw this too

    Code:
    Nag author: 'Joshua Porter aka speeddemon92' of 'GroupBlacklist' about the following: onPlayerQuit has been replaced with a new signature, (PlayerQuitEvent)
    
     
  11. Offline

    speeddemon92

    Hmm I never got these errors myself, but I will get right on them and hopefully get a patch out by 11PM CST. Thanks for alerting me and for the suggestion!:)
     
  12. Offline

    zajacmp3

    So... Does it work again? May be quite a good alternative due world guard is not working
     
  13. Offline

    speeddemon92

    I'm analyzing the code to find out why it failed. There were some things failed in the background that caused it. I'm currently working on it right now.
     
  14. Offline

    speeddemon92

    I fixed a couple of problems so it should work. I have noticed that due to a lag it will try to load before it has extracted all of its config files and will throw errors. To fix that simply restart the server which should always be done with new plugins anyway. If you run into any problems after a restart please let me know and I will get to work on it A.S.A.P. :)
     
  15. Offline

    The_Nero

    Hi speeddemon,

    i have a couple of problems with the new version :-/

    Code:
    20:45:29 [SEVERE] Could not pass event PLAYER_INTERACT to GroupBlacklist
    java.lang.NullPointerException
            at com.nanomediasystems.speeddemon92.GroupBlacklist.GBPlayerListener.onPlayerInteract(GBPlayerListener.java:59)
            at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:217)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
            at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:162)
            at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:64)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:356)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    20:45:30 [SEVERE] Could not pass event PLAYER_INTERACT to GroupBlacklist
    java.lang.NullPointerException
            at com.nanomediasystems.speeddemon92.GroupBlacklist.GBPlayerListener.onPlayerInteract(GBPlayerListener.java:59)
            at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:217)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
            at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:162)
            at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:64)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:356)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    
    20:46:01 [SEVERE] Could not pass event PLAYER_JOIN to GroupBlacklist
    java.lang.NullPointerException
            at com.nanomediasystems.speeddemon92.GroupBlacklist.KickBan.hasRecord(KickBan.java:279)
            at com.nanomediasystems.speeddemon92.GroupBlacklist.GBPlayerListener.onPlayerJoin(GBPlayerListener.java:25)
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:169)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
            at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:98)
            at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
            at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:27)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    >
    
    >version
    20:48:25 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-612-g4c7a9e7-b617jnks (MC: 1.4)
    20:48:25 [INFO] This server is also sporting some funky dev build of Bukkit!
    
    Which information do you need?
     
  16. Offline

    speeddemon92

    This should be enough info. I broke up some problem areas where they are on separate lines so I will try to see what I can do to fix this soon.
     
  17. Offline

    speeddemon92

    Attention server admins:
    This plugin is in my queue to be fixed hopefully by the end of this weekend. I am terribly sorry to those who want it fixed. I have had my plate full from life and have been working on making a few plugins on the side. I have logs of the errors now so I know right where to look and should be able to get this back out A.S.A.P.

    On a side note I will be adding a new option: onAquire for those who want to stop players from aquiring specific items along with a new set of options. I quite possibly will also add onDrop to stop players from dropping specific items.
     
  18. Offline

    The_Nero

    Hi speeddemon,

    thank you so much for your time. I can wait for your fix. :)
     
  19. Offline

    g00tch

    Cant wait for the update :)

    I use worldguard and the blacklist on it doesn't recognize the groups I set to ignore. I need a blacklist.
     
  20. Offline

    Juze

    Please update to latest RB for releases.
     
  21. Offline

    speeddemon92

    I'm terribly sorry everyone. I've been busy with school and trying to learn where to hook for a WIP plugin. I will get this fixed as soon as I can. After tomorrow (4/15/11) I won't have to worry much about school as my programming assignment will be turned in and I will have more time.
     
  22. Offline

    g00tch

  23. Offline

    RomaClanServer

    I would love for this to be updated, I am trying to have pvp classes that cant pick up eachother's items and this seems perfect.
     
  24. Offline

    speeddemon92

    I'm sorry everyone, I've been really busy with school. I've fixed some of the problems and will be releasing a new jar soon. I will have to remove the Kick/Ban system from it when I release it as it is still having some problems, but it will be back soon with an acquire blacklist. Stay tuned guys it'll be back soon and just as strong.
     
  25. Offline

    iponu7

    can you update this please!!!!!!!1
     
  26. Offline

    speeddemon92

    I've been very busy with work and making my own game but I'll see what I can do.
     
  27. Offline

    speeddemon92

    After not having time/willpower to work on GroupBlacklist for so long, I've FINALLY fixed it! Granted I have to take out a few things until I find the new system works. (We're not in the days of punching TNT to ignite it anymore lol) But anyways to those still looking for it it can be found on BukkitDev.

    http://dev.bukkit.org/server-mods/groupblacklist/
     

Share This Page