[INACTIVE][SEC] Honeypot rev 6 - Honeypots (griefer traps) for Bukkit [677]

Discussion in 'Inactive/Unsupported Plugins' started by Argomirr, Mar 19, 2011.

  1. Offline

    Argomirr

    [​IMG]


    Honeypot - Honeypots (griefer traps) for Bukkit [677]
    Version: revision 6
    Author: Argomirr

    A plugin that allows Op's to create so called "honeypots," traps to identify and take care of dishonest players.
    Using the /honeypot or /hp commands you can turn any block into a honeypot: if a griefer tries to break it, everyone online will be alerted and the violation will be logged so an admin can take action, and optionally, Honeypot can kick or ban (MCBans) said player automatically. The block will be replaced, the trap reset - ready to catch the next griefer before he knows it.

    For example, you can place a little shrine with valuable blocks such as gold near your spawn, and turn them into honeypots. When a griefer logs in, sees nobody around and decides the shiny blocks on that shrine would look so much better in his house, he's already given himself away.

    DylanP made a video that shows very nicely what this plugin does: click here to watch it.

    Features:
    • Plug 'n play - just drop Honeypot.jar in your plugins directory, and you're good to go
    • Identify and take care of dishonest players (almost) entirely automatically
    • Very easy to use
    • Full logging of honeypot violations
    • Configurable via a .properties file
    • Supports MCBans and Permissions
    Download - mirror

    Source Code

    How to use
    To install Honeypot, drop Honeypot.jar into your plugins directory, and run the server once. The plugin will generate a new directory, plugins/Honeypot, where you can find the honeypot violation log (honeypot.log), the properties file (honeypot.properties) and a file used to store honeypot data (list.ncsv).

    Open honeypot.properties with your favorite text editor and make any changes you want, then run your server again.

    A little note: if you wish to enable the ban feature, set the kick feature to false. Note that you need to have MCBans installed in order for banning to work.

    You can apply the following permission nodes if you use the Permissions plugin:
    If you don't, it will default to Op's only.

    You can now log in and use /honeypot or /hp (Op's only, at this time) to start the process of making a honeypot. You will now be prompted to right click a block with the tool you specified (default: wooden axe) to create a honeypot. You can select any block, but it's recommended you choose a shiny block - something a griefer would want to break - and make sure it doesn't look like an obvious trap. (A single diamond block in the middle of nowhere looks somewhat suspicious, don't you agree?) You can keep selecting blocks until you exit the honeypot creation process by entering the /honeypot or /hp command again. To destroy the honeypot, simply have any Op break it and the block will be dropped as normal.

    Congratulations, you've set up your honeypot! You can set up as many honeypots as you like, but keep in mind that this system was not designed to be used as an area protection plugin, so don't apply /hp to every block on your house.

    One more thing: honeypot data will automatically be saved once the server stops, but you can also apply a manual save by using /honeypot save or /hp s to prevent data loss in case of a server crash.

    Updating
    If you are updating from revision 1, 2, 3 or 4, you should delete your honeypot.properties file and run the server once to generate a new one. Some new settings have been added and the settings file needs to be updated to reflect those changes.


    Changelog:
    Revision 6:
    • MCBans 2.8.x compatibility (Honeypot will still work with older versions of MCBans)
    • Fixed a bug that canceled honeypot creation if you hit a block that is already a honeypot
    Revision 5:
    (Download - CraftBukkit 617/670)
    • Added date and location of honeypots to the log file
    • Made /honeypot toggleable to ease the process of creating multiple honeypots
    Revision 4:
    (Download - CraftBukkit 602/617)
    • Updated code for latest recommended CraftBukkit build #602
    Revision 3:
    (Download - CraftBukkit 544)
    • Added an option to disable notifications to all online players
    Revision 2:
    • MCBans support (experimental)
    • Permissions support
    Revision 1:
    • Initial release
    And thanks to godsyn for the idea. (Sorry I didn't mention you before, it slipped my mind.)
     
  2. Offline

    Color42

    Maybe get some lighting to hit honeypot vitims? would be funny
     
  3. can anyone confirm this is working with 733?
     
  4. Offline

    andune

    Thank you for this mod! I've had it running for less than a day and it's already caught 3 griefers and the players are much happier since there's a lot less griefing going on. It's very effective. :)

    However, I did have a problem I wanted to report. I use the Essentials plugin, and it has the capability to reload mods. This is often handy for forcing a mod to reload it's config when it doesn't offer this capability itself, as I manage my server remotely and often change config files from the command-line (linux/vi). However, Honeypot responds poorly to these reloads and wipes out it's lists.ncsv everytime. It does this even if I haven't touched HoneyPot at all - I monkey with another mod, do a /reload, and then HoneyPot config is wiped.

    I can make a backup of the file, but since there's no way to reload the config live, I have to bounce the server to get my HoneyPot's loaded again.

    So two feature requests: Could you A) add the ability to load the config? like "/hp s" but just "/hp l". and B) any chance you can look into why HoneyPot mis-behaves when it's reloaded live (in my case, using Essentials /rel command)?

    Thanks!

    I'm using it with 733 and it works fine, the aforementioned issues notwithstanding.

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

    ratty

    Just so others dont pull their hair out trying to figure out why it only kicks and wont ban, you have to do kick=false in the honeypot.properties or it will never ban anyone even if you have ban=true. Easy enough quirk to work around once you know about it, so no complaints here!
     
  6. Offline

    VinnyG

    Works great with 733 no permissions or ess.
     
  7. Offline

    gilgatex

    Still working as of 740, with permissions and multiworld
     
  8. Offline

    gilgatex

    I take it back. It's kicking but not banning, even if I set kick=false and ban=true.
     
  9. Offline

    an0

    Has this plugin been abandoned? I would love to make use of something like this!
     
  10. Offline

    [qwerty]

    there is no .jar in the .zip download.... :eek:[creeper]
     
  11. Offline

    gaz492

    an idea i have is that honeypot uses mcbans tempban system if you enable and configure the time and so on in the config. also choose where the logs go. i use clanforge so i dont have full access to all of the folders
     
  12. Offline

    Spathizilla

    Tonight I have updated my fork to version 7 to add multiworld support and I'm running it on my server.

    On my version, the honeypots are now set per world and not only in the primary world after a restart/reload. It updates list.ncsv to use the version 7 format when it next saves the pot list. This just means if you set honeypots in other worlds, you'll have to redo them with version 7 so that the world information is saved. Beats having no honeypots in secondary worlds.

    Dunno if Argomirr has abandoned this plugin though. Guessing since the last login for Argomirr was April 22, the probability is high.
     
  13. Offline

    Juze

    @Argomirr : Please test against latest RB.
     
  14. Offline

    andune

    Confirmed working for RB #766, I still use it and it works great.
     
  15. Offline

    Spathizilla

    If there is demand, I can adopt Honeypot and release my version 7 (its on my Github acct anyway).

    I've been using it on my server for 8 days now - yay for multiworld support heh.
     
  16. Offline

    andune

    I modified HoneyPot locally because I had a HoneyPot statue built and it was LARGE. So I ran around HoneyPotting lots of the blocks, then began to wonder about efficiency. I checked, and the original implementation hooks block break event and just iterates over the HoneyPot list for every block break. This is probably fine & great if you've only got a handful of HoneyPot blocks, but is a lot of extra work on every block break event for the server if you've got over 300 of them (like I do).

    So I modified it to use HashMap's (single hash lookup) and while I was at it I added live-reload (/honeypot reload) functionality I asked for sometime earlier in the thread. :) Also I fixed the bug I mentioned earlier related to saving. The original code would empty out the existing in-memory HoneyPot list on save, which was causing HoneyPot to "forget" about previous HoneyPots on future saves, meaning you had to flag all your HoneyPots in one go before doing a save.

    git diff here if you want to incorporate it into the plugin: http://pastebin.com/qn6xRFwv

    Apologies for the extra indent-related changes, I was trying to read the code so I had Eclipse auto-indent and it all ended up in the gitdiff. Feel free to cut it out if you prefer your original indenting.

     
  17. Offline

    TTSDA

    @Argomirr It would be great if you could honey pot multiple linked blocks.
    For example, I would place 4 underground diamond blocks 5 blocks away from each other in a square, if someone broke all 4, ban for xray.
    It would also be nice to be able to specify the ban reason for each honeypot.
    Thanks.
     
  18. Offline

    andune

    Check out the FoundDiamonds plugin, it has a 'honeypot diamonds' feature already. I don't use it for that feature, so not sure how comparable it is to Honeypot, such as not sure if it can autoban using MCBans, etc. But the author there might be persuaded to add those capabilities, I haven't seen a response from @Argomirr here on this thread in a while.
     
  19. Offline

    wasd591

    Sorry to ask, is this working on #803-#810? I'm trying to get my server upgraded. :) Thanks.
     
  20. Offline

    andune

    Well works fine on RB #803 (1.5), can't speak for anything past that (1.6 builds).
     
  21. Offline

    gaz492

    someone else take over the project for 1.6?
    edit

    also we need a option for global or local ban
     
  22. Offline

    PatrickFreed

    Is this working on 1.6? If not, I'll see if I can update it. ;)
     
  23. Offline

    gaz492

    it does work
     
  24. Offline

    andune

    confirmed working on #819
     
  25. Offline

    andune

    Guess I could take this one over too, to get it out of the inactive bucket. Will look into that this weekend.
     
    Rytharr likes this.
  26. Offline

    Seth Walton

    THANK YOU for this plugin! I do have a small request, can you add an option to ban the player if they break X amount of honeypots in under X amount of minutes?
     
  27. Offline

    Rytharr

    That would be awesome if you can get it moved from inactive.
     
  28. Offline

    andune

    So it turns out the original author (@Argomirr) explicitly denied "redistribution" when he made this plugin, without his explicit permission; of which I assume me picking up maintenance and publishing would fall under. I'm sending him a PM here immediately after posting this message to ask for said permission so I can open a new thread and maintain this mod going forward.

    ps. In addition to my above mentioned efficiency changes and bug fixes, I've also added multi-world support to the plugin, as a previous poster mentions this capability and it was pretty straightforward to add also. So this will all be made available whenever I am able to republish this mod.
     
  29. Offline

    andune

    Alright well I haven't heard back from @Argomirr , but I'll make the assumption that since he originally wrote this plugin that he would want it it to continue to be carried on. So I'm going to publish v0.7 with source here, and whenever @Argomirr does finally get back to me with permission, I will start a new thread so this plugin can show up on the active list again and not be hidden inactive.

    Here's the new v0.7 plugin: Download JAR
    Here is the source code for it: Source code

    And the changes:
    v0.7
    • fixed bug on saving that caused data file to be wiped out
    • made multiworld compatible
    • performance improvements, since this is called on every block break and was previously not very efficient for a large number of Honeypot blocks
    • added live reload via '/hp reload'
    • added ant build script for building jar
    Please note the multiworld change means the format of the lists.ncsv has changed! (since the world is now a data element also) I've made it default backwards-compatible (it will auto-update to new format), but it assumes that the old format was using world "world". If you were using HoneyPots in a different world than "world", you will need to either modify your data file or just delete it and tag your HoneyPot blocks over again.

    Tested compatible with RB #818 as well as quite a few dev Bukkit releases up through #857 (which I'm currently using)
     
  30. Offline

    Luckz

    Are the changes by Spathizilla in your build?
     
  31. Offline

    andune

    The version I posted includes multi world support, yes. I did not specifically merge Spathizilla's changes, no. Willing to bet the changes are very similar and maybe later I will find his github and do a compare to merge just so we can have one common source. But if it's multi world you're after, the version I posted has that plus the other additions I mentioned in the ChangeLog such as bug fixes, live reloading and performance improvements.
     

Share This Page