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.
If someone could add a couple of features to this, that'd be rather grand.
- run command on block break: /ban %player% Caught breaking illegal blocks
- Chest honeypots, so when a player is caught stealing they are banned.
Thanks to whoever might choose to take this on :)
Interesting....ill see if i need use in it then add it :)
Any chance you could add something like /hp delete region to delete the region you're currently standing in? It's hard to manually delete them from the file.
Any chance you'll add a feature to run a command once the blocks are destroyed? I use BanHammer and the command for banning is /ban [name] [reason] t:[#hdm] So in the config there could be something like:
on break run command: /ban {name} Griefing a HoneyPot t:6d Will ban the player for 6 days for 'Griefing a HoneyPot' Just a suggestion.
Don't worry, just saw the 'not accepting feature requests' part :/
@extrememinecraftplayer
This was added as of v1.1 a long time ago, via the "/hp region" command.
@xdeathoreox
It's not intentional that it requires WorldEdit, it is supposed to be a soft dependency. However, plugin code has to be carefully constructed around soft dependencies in order to avoid runtime errors and it's likely this was just not tested extensively. I'll fix it at some point now that you've brought it to my attention, but in the meantime, if it blows up without WorldEdit, you know why. :)
Why did you created this? I love to grief
You should put:
Requires WorldEdit
Without Worldedit, it wont work. When you type /hp, it shows '/hp' in chat.
Thanks for the quick answer.
@igwb
Points are only in memory and do not persist through reboots, which is very much by design (it's a simpler implementation and it serves the purpose of a Honeypot well).
To the second part of your question, since points depend purely on a reboot, whether or not they persist on an unban depends on whether or not you've had a reboot since then. If someone earns enough points for a ban, you unban them 5 minutes later and they log back in and they hit the Honeypot structure, it will ban them again (even for just 1 point) since they are already over the point limit.
Hi, I would like to know if the point count of the point system is upheld after a restart.
In other words, is the point count of a player reset after the server restarts or at any time? What about a player that was already banned by the plugin and later unbanned by someone else?
@yugioh1581
No, that means *someone* has to add said support. As I've said multiple times, the plugin source is freely available on github, if you'd like jail support, clone the repository and get to it.
I have committed to keep this plugin maintained through future versions of Bukkit, if you'd like new features, pick up a Java IDE and pitch in to help out. If you don't know how to program, then consider learning (we all had to start sometime) or find someone who does and is willing to spend time adding features you want.
@CatsyLady
That means the owner has to add support which will take long I guess......
@abcedea
i know about pointsystem, but i think
10 min jail will make them learn better
@CatsyLady
Points/count system?
whats about a configurable command line instead of ban/kick?
for example: i would not ban a player for grief a single block,
i would put him in jail instead.
@jellehen
Thanks for the contribution. I have linked it in features above as well as uploaded it into the files section.
EDIT: Well the files upload got rejected since it's "not a plugin". Looks like dev.bukkit.org doesn't allow related ancillary files to exist in the files section. So I'll just keep it linked in the features section above. Thanks again for providing.
@Xarc34
In the absence of specific Ban Plugin support, Honeypot uses "Vanilla" ban which results in the following command being run essentially from the console: /ban <player>
If your ban plugin of choice (DynamicBan) takes over the /ban command and responds to the above command, it should work.
If it doesn't, then yes, specific support would have to be added, but as I've stated a few times, my intention with this plugin was just to keep it working through future versions of Bukkit, primarily with MCBans since that's the ban plugin I use. I will not be adding support for everyone's ban plugin of choice.
A while back, dog.big decided he wanted to add a few more ban plugins to the code and so he pulled source and did so and then pushed me back a gitpull. Anyone else is more than welcome to do that if you'd like to add support for other Ban plugins in Honeypot.
@lANTHONYl
No, it is only designed to work on blocks.
@abcedea
I've released v1.4, which doesn't include any new functionality but includes two key things regarding recent errors:
That said, regarding the two stack traces that have been shown, my best guess (without the line numbers) is that you are trying to use the Honeypoint "points" feature but you have not defined the required "offensePointsMap" configuration option needed to use this feature. Even if you want every block to be one point (the default), define the config value and map at least one value, such as: