HoneyPot
Honeypot - Honeypots (griefer traps)
Authors: Argomirr, andune, dog.big, BeastsMC
Supports 1.6.X and 1.7.X
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 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.
A few videos that demo Honeypot in action: Video 1 | Video 2
Can you add support for XYZ ban plugin?
No, I won't. Please read the author's note at the bottom of this page. However, I've made it really easy for you to do it yourself and contribute. Read about it here.
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
- Changeable ban and kick/info reason
- Supports MCBans, EasyBan, UltraBan, KiwiAdmin, vanilla bans and Permissions
- Supports points feature for advanced needs, read the link for more info
- PHP script for showing Honeypot ban logs online: link (courtesy of @jellehen)
How to install and configure
- 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.
- Permission nodes for the Permissions plugin (2.7 and also PEX with compatibility core):
honeypot.break # Can the user destroy honeypots? honeypot.create # Can the user place honeypots using /honeypot?
- 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. See How to use bellow.
How to use
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.
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.
Author's note (andune)
This plugin was originally written by Argomirr. Though his last post related to Honeypot was April 18, 2011, I found value in this plugin and so have kept it updated through newer Bukkit versions and have released it here for others to continue to enjoy as well. Some features have been added at my whim (such as banPoints and WorldEdit region support), but I am not accepting feature requests. If you want a new feature or some new ban plugin supported, please pull the source and write it yourself. Here's a brief guide showing how to add a ban plugin to Honeypot. I WILL NOT help you with coding issues. If you can't figure it out, keep trying/learning until you can, or just use the custom ban type.
Changelog
Source Code
And thanks to godsyn for the idea.
@bigggan
set the following in the config.yml:
globalBan: true
How make the bans global?
@godgodgodgo
HP 1.0.4 was compiled against #1493 (MC 1.0.0) and I just tested it against #1499 an seems to load fine. I haven't done extensive testing to make sure it's working under #1493+, so if you see any bugs please report them here. I know most plugin authors refuse to support things until there is an RB, but the latest dev builds seem stable enough that I'm happy to help debug an issue at least as far as it's in my power to fix it (ie. not a Bukkit bug).
Regarding source, it's listed under the Repository tab (standard dev.bukkit.org convention). I get asked a lot for the source for various plugins - is the Repository tab not visible to you, or do people just not know to look there?
@andune
Wow btw forgot to say, but that was a super fast update :) And this is almost the most important plugin on my server. It bans globally on mcbans about 15 griefers each day XD Possible update to the latest 1.0.0 versions of craftbukkit? :) Also, would it be possible to get the source of this plugin so I don't have to pester you? Thanks
that was a fast update:). thanks!
@YoshiGenius
YoshiGenius: Honestly I have no motivation to add yet another Ban tool to this plugin. dog.big did a great job adding a bunch of new ones a few months back, but it seems there are new ones popping up all the time. In the event Honeypot doesn't find your plugin, it will fall back to vanilla which means just issuing "/ban <player>", so if your Ban plugin of preference responds to that command, you're fine.
If that's not the case, you're welcome to modify & test the code and push me an update that supports your ban plugin of choice and I'll merge it in for others to benefit from as well.
Glad to hear people are still finding value with this plugin. It has been updated to support MCBans 3.3+ (tested with MCBans 3.4) and also fixed an issue that was causing it to not load under the 1.0.0 dev builds (and I expect this new version will run fine when an RB is finally released).
ps. as usual, it can take 15 minutes to a few hours for the file to be approved by Bukkit staff, so if you don't see 1.0.4 available yet, check back in an hour or two.
This is a great plugin! Caught a ton of griefers already. Unfortunately it no longer works with mcbans 3.3 and 3.4. Hope to see an update soon.
Just wondering...
I use the plugin called MCBouncer ( http:/mcbouncer.com ) to handle my bans. Would it be possible to add support for this, or for just the Essentials banning system?
Please please please update this for the latest dev builds (1.0.0 versions) of craftbukkit
Can you please add the ability to customize what is done with players who are caught by the honeypot a bit more?
Sending them to jail would be nice, either by allowing us to use a variable for playername and custom command or tying it into more mods.
The Jail mod would work great with this ( http://dev.bukkit.org/server-mods/jail/ ), but I realize there are also other jail systems people use as well.
The jail mod would use something like: /jail [player name] (time) (jail name):(cell name) (reason)
Thanks!
@L3uX
Source is in github, linked under the repository tab here.
where is the source code ? i have translate the old source code and i will do it again. i have make too a honig.php with a table of griefers. pls paste the source or give it me :D thx <3
@lawliet555
With no direct support for BanHammer, Honeypot will just default to vanilla which will just "ban <player>". Direct support wouldn't be difficult to add, but I'm not particularly motivated to add new ban types to this mod. The code is freely available so if you want to add it and push me a gitdiff, I'll happily incorporate it. Or perhaps dog.big would be motivated to add it, he added support for several of the other ban plugins that Honeypot now supports thanks to his efforts.
Do you know if this would work in conjunction with ban hammer. It utilises the basic /ban <Player> <Reason> Command.
Thx
Sayomie
Had a few requests (direct and here in comments) for "globalBan" support for MCbans. I added it, now released as v1.0.3 (as soon as Curse admins approve the upload).
Temp. link for latest version of HP which supports latest CB: here
It would be really cool if there was a setting to execute a command after banning someone, this way, I could add something like "/lb rollback player $1 since 365d" and it would automatically roll back that player's changes.
I don't mean tearing apart a structure, I mean accidentally destroying one flower (which are destroyed instantly), and getting banned.
If they still took a 5-point block like a diamond block (which is pretty hard to destroy by accident), they'd get banned via the point system. Breaking a flower would give them less points, and since it wasn't full points, and they didn't do it again, they'd ideally get the points back over a few hours. The daily reboot is a good solution, though, I'll use that for now.
And what about placing a block back giving you your points back? That would actually be more important to me than the reduce points over time idea. For example, if you broke a flower, that'd be minus three, but if you placed it back, you'd get it back.
@Dayshade90926
The points are only reset on server reboot. So if someone destroys a 3-point block and does nothing else the rest of their session, and the server reboots that night (assuming daily reboots), then their points are reset.
Outside of that, there is currently no facility for restoring points. I'm not keen on a time-based point restore, if someone logs in and starts tearing apart my Honeypot structure, I want them banned. That said, that just means it's not worth my time to code it, if someone wants to code it up and push me a gitdiff, I've no problem including it for others to use.