Grief Prevention
AUTOMATICALLY PREVENTS ALL FORMS OF GRIEF, including build/break, theft, spam, fire, spawn camping, lava dumping, chat trolling, advertising and more, so you don't have to undo any damage after the fact. It even teaches players how to use it so you don't have to! No configuration or database required. Stop responding to grief and prevent it instead. Grief Prevention will solve your grief problems without requiring you to manage a roster of trained administrators, juggle 10 different anti-grief plugins, take away cool standard game features, publish a training manual / tutorial for players, or add explanatory signs to your world. You can also choose to integrate PvP elements into build design to finally get a PvP experience befitting a sandbox game about creative building.
Grief Prevention stops grief before it starts automatically without any effort from administrators, and with very little (self service) effort from players. Solve all your grief problems with a single download, no database, and no configuration step.
Got a question or found some random bug? Check the documentation!
Got a problem or bug you can reliably reproduce? Or a feature request? Report it on the issue tracker!
Also, you might be able to catch me/others on the #GriefPrevention IRC channel for help (please state your question and exercise patience if you use this option).
Downloads for older Minecraft Versions
You may also view recent update notes on Github
The Manual
Feature List
Yes, everything is customizable.
- No database or world backups required.
- Extremely efficient CPU / RAM usage.
- Land claims are easy to manage.
- Players create and manage their own land claims, so you don't have to do it for them.
- New players get automatic claims around their first chests so they're protected even if they don't know how to create land claims yet.
- Players who ask for help in chat get an instant link to a demonstration video.
- Resizing claims and creating new claims is done with ONLY the mouse, no slash commands (slash commands are also available).
- When a player appears to be building something nice outside his claim, he's warned and shown his claim boundaries.
- Claim boundaries are easy to see, and don't require any client-side mod installation.
- Extremely easy-to-remember, single-parameter slash commands for giving other players permissions.
- Claim subdivision and granular permissions are available to organize towns and cities. Watch this video.
- It's IMPOSSIBLE to grief a land claim. Watch this video.
- No building or breaking.
- No stealing from ANY containers.
- No sleeping in beds.
- No button/lever usage.
- No adjusting redstone repeaters or other configurable blocks.
- No pushing blocks in with pistons.
- No pulling blocks out with pistons.
- No TNT damage (including cannons).
- No creeper damage.
- No explosive damage from other plugins, like Extra Hard Mode or Magic Spells.
- No enderman/silverfish block changes.
- All doors may be automatically locked (optional, see config file).
- No killing or luring animals away.
- No stealing water (e.g. buckets).
- No trampling crops by players, animals, or monsters.
- No building overtop, all claims reach to the max build height.
- No placing or breaking paintings / item frames / armor stands, etc.
- Fluids will not flow into a claim from outside.
- No placing blocks via TNT/Sand/Gravel cannon.
- Pets and death loot are protected.
- Players can't pick up what another player dropped on death without permission.
- All types of pets are protected everywhere, even outside of land claims (can be configured per-world).
- Excellent anti-spam protection
- Warns, then mutes, then may kick or ban spammers (configurable - you choose).
- Most spammers get only one message out before they're muted.
- Blocks server advertising (IP addresses).
- Blocks repeat message spam.
- Blocks ASCII art (ex. Nyan Cats) spam.
- Blocks similar message spam.
- Blocks unreadable (gibberish) message spam.
- Blocks CAPS.
- Blocks macro spam (very different messages in quick succession).
- Blocks login/logout spam, even when the spammer has multiple accounts.
- Blocks death spam.
- Blocks bot team spam.
- Blocks slash command spam, including /tell, /emote, and any more you add.
- Wilderness Protection and Rollback
- Fire doesn't spread or destroy blocks.
- Creepers and other explosions don't destroy blocks above sea level.
- TNT doesn't destroy blocks above sea level.
- No planting trees on platforms in the sky ("tree grief").
- Instant, point and click nature restoration for not-claimed areas. Watch this video.
- Insanely easy and fast fixes for penises, swastikas, and anything else unsightly.
- Point at what you don't like and click, and it's fixed. Even from far away.
- Never accidentally changes blocks inside land claims.
- No need to investigate who built it, who broke it, or when they did it.
- Doesn't matter if the griefer built with "natural" blocks, it will still be fixed.
- No database.
- No backups.
- No chunk regeneration (it's dangerous for technical reasons).
- Fixes bad chunk generations, like floating islands. It will be better than new.
- Fills holes, even next to water to correct big spills.
- Smooths noisy terrain.
- No griefer construction is safe. If it's unnatural enough to be noticeable by players, it will be removed or filled-in.
- Land claims can't be used as a griefing tool.
- It's impossible to get a player "stuck" inside a land claim.
- Land claims beyond the first require a golden shovel.
- Minimum claim size prevents sprinkling small claims to annoy other players.
- Max claim allowance grows with time played on the server, and can't be cheated by idling.
- A simple administrative slash command will instantly remove all of a griefer's claims, no matter where they are.
- Catches clever griefers.
- Enhances the /ban command to ban ALL a griefer's accounts (not just his IP address).
- Logs sign placements.
- /SoftMute command to shut down chat trolls without them knowing they're beaten.
- Abridged chat logs make reviewing what happened while you were away super-quick and easy.
- Automatically mutes new-to-server players who use racial or homophobic slurs.
- PvP Protections.
- When PvP is off, no setting fire or dumping lava near other players.
- Absolutely bullet-proof anti-spawn-camping protection including bed respawns, which requires no configuration.
- No logging out, stashing items, or using plugin teleportation to escape combat.
- Optional siege mode, to answer players who hide in their claimed houses to avoid combat.
- Supports your server growth.
- Permit players to exchange server currency for claim blocks (requires configuration and other plugins).
- Grant claim blocks automatically for votes, donations, etc (console command provided, other plugins required).
Please Vote for Grief Prevention
I've also posted Grief Prevention on the Spigot site, where plugins are ranked based on reviews. If you love GP, please take a couple of minutes to give GP your rating and leave a short review. Better rating and positive reviews will help server owners who look for plugins on the Spigot site make the safe choice (GP) instead of downloading something sketchy or incomplete. :) Thanks so much for all your support!
http://www.spigotmc.org/resources/griefprevention.1884/
Got a question or found some random bug? Check the documentation!
Got a problem or bug you can reliably reproduce? Or a feature request? Report it on the issue tracker!
Also, you might be able to catch me/others on the #GriefPrevention IRC chat channel for help (please state your question and exercise patience if you use this option).
-
View User Profile
-
Send Message
Posted Dec 3, 2013@Pixiyo
There is a lot of that going on throughout the API. I've found several issues myself. Of course EvilSeph warned us that would happen with 1.7. Several places in the API have become disconnected from the Minecraft core and need to be stitched back together.
-
View User Profile
-
Send Message
Posted Dec 3, 2013@Pixiyo
Looked into the ItemFrame issue.
Events not fired when you left click to take an item out of an item frame:
onHangingBreak
onEntityDamage
onEntityInteract
onPlayerInteract
onPlayerInteractEntity
None of these events are being fired- in fact, as far as I can tell, nothing is being executed plugin-side when I remove an item from an item frame. It doesn't look like there are any new events or different events that would cover it, either, so I'm apt to conclude that it may be a API oversight at this point.
-
View User Profile
-
Send Message
Posted Dec 2, 2013I already use CombatLog, so I wanted to disable G.P.'s PVP functions. I set the worlds parameter to [], but G.P. rewrote the config file with all my worlds listed under PVP.
-
View User Profile
-
Send Message
Posted Dec 2, 2013I hope this gr8 plugin gets updated to 1.7 as soon as possible :D
-
View User Profile
-
Send Message
Posted Dec 2, 2013@BC_Programming
Item frame protections are also not working with WorldGuard, that's right. You cannot steal an item frame, but just the things inside.
People at the spigot IRC said it was a plugin issue.
-
View User Profile
-
Send Message
Posted Dec 2, 2013@Pixiyo
Since the changes to the Item Frames shouldn't affect how GP cancels them, I am guessing this could be a bukkit issue (it is the first dev build, after all). I'll give the 1.7 build a test when I get a chance to confirm if that is the case or whether it is something fixable in GP (most importantly, fixable without breaking the plugin on 1.6.4)
-
View User Profile
-
Send Message
Posted Dec 2, 2013@BC_Programming
It's possible to steal things out of item frames since the new update... Please fix this.
-
View User Profile
-
Send Message
Posted Dec 2, 2013@sparts
7.8 and Later Configuration
Permissions are at the bottom. you want griefprevention.admin.claims, I believe.
There is no permission for riding somebody elses horse.* Only the owner of a horse can ride it.
* Yet
-
View User Profile
-
Send Message
Posted Dec 1, 2013Is there a new permissions list for the unsupported builds? I'm having issues with admin claims. Is this permission still griefprevention.adminclaims? Is there permissions for riding someones horse?
-
View User Profile
-
Send Message
Posted Dec 1, 2013@BC_Programming
As GP is one of the main plugins in my server, I trust your professional opinion to update whatever is needed to suit the new version. Looking forward to restarting my worlds. :3
-
View User Profile
-
Send Message
Posted Dec 1, 2013@stgram It should work with the 1.7 development build as it is, assuming they've kept API compatibility which I find likely. I Can't think of many 1.7 features that would require significant feature changes. Ideally internally GP should start tracking Players based on their UUID rather than their name, but that would be a rather big architectural change and won't be a problem until people can change their account name as far as I understand.
Also some of the features for replanting trees automatically and preventing floating canopies might not work with the new Tree types.
-
View User Profile
-
Send Message
Posted Dec 1, 2013@BC_Programming
“Do I not destroy my enemies when I make them my friends?” Keep it going. I like your attitude.
Any notes on 1.7?
-
View User Profile
-
Send Message
Posted Dec 1, 2013@stgram
Back to the SQL stuff, are you saying bukkit's methods for SQL are bad
Bukkit doesn't have SQL stuff, it's provided by the Java libraries. The Schema that was put in place by the original developer was done to satisfy requests to use MySQL, but doesn't really have a well-planned schema. Or maybe it was good at the time and has shown itself to be a pain since.
The only way to change the schema would require a way to migrate the older schema to a new one that is more thought out. Long-term idea is to roll with separate Data Storage types. Right now we have "flat" and "mysql"; in the future over time there could also be newmysql, sqllite, postgres, etc. added too. (or in the case of postgres, added back).
Make it so that people with permissions will have everything, and people without will be able to do nothing. You cant go wrong with that.
Tamed Horses need to account for their Owner. If you ride your horse into somebody elses claim it should let you climb back on; but it shouldn't let anybody else climb on regardless of their perms in the claim. It also needs to prevent people other than the horse owner from accessing the horse inventory. I also made it so that if you ride a horse into a claim and PvP is enabled, your horse can be damaged if you are riding it, so an attacker can t run around on an invincible horse.
Your enemies could help you out without even realising it.
Nobody in that thread is an enemy. I'd say we have similar goals overall with a few differences of opinion, which might be resolved with certain changes.
-
View User Profile
-
Send Message
Posted Dec 1, 2013@BC_Programming
The only problem I've had with ghost claims is when a crash due to out-of-space error made me shut down the server, which overwrote all GP files to null files. But that was double my bad, so not a plugin issue. I guess here SQL could come in handy? You cant randomly screw the entry, without a proper delete query. Back to the SQL stuff, are you saying bukkit's methods for SQL are bad, or simply a rewrite for your code would be nice? In the second case, it is working perfectly now, whenever you find some time, it is your call what and whether to improve. ;) Just a friendly note from a hobby coder: http://img.pandawhale.com/post-10513-Code-Refactoring-Cat-in-Bathtu-yRZT.gif :D
@BC_Programming
Make it so that people with permissions will have everything, and people without will be able to do nothing. You cant go wrong with that. :) You could write in the reddit thread and ask them to list all the things they dont like. Or simply write tickets. Your enemies could help you out without even realising it.
-
View User Profile
-
Send Message
Posted Dec 1, 2013Dev build #197 should address Horses being borked: Tamed: -Only the owner of a horse may ride them -the Owner of a horse may attack them if they want, and be abusive or whatever. -Other players can only damage an owned horse when it is inside their claim and being ridden.
I wasn't sure what the best setup was. However, rather than making it configurable I just chose those arbitrary settings instead of adding a new rule. Why? People don't like my rules framework so I'm avoiding adding new rules.
-
View User Profile
-
Send Message
Posted Nov 30, 2013@stgram
They do raise some valid concerns. I don't know what that stuff about horses is about, I remember the initial issues and there were a few bugs that I fixed and I've since been able to faff about with horses in my test world and everything works as intended. I also found this a bit interesting:
Tameable entities like horses are simply too complicated to manage using the same properties for managing block placement.
I found it interesting because the Rules were added and originally designed for things like sheep dyeing, shearing, attacking animals, throwing enderpearls, pressing buttons, opening doors, etc. It was only after that I realized that I could use that same Rule setup- designed for decidedly non-block-related actions- to control block related actions as well.
the big config file(s) itself was more of a compromise choice I made when I was first implementing the rules (which are the reason the configs are so large).
Initially, I had it so that if the rule was the default for that setting, it wouldn't write to the config. This meant the rules section was empty.
Seems perfect. Until you want to change a rule, I learned this because I needed to of course fiddle with rule settings to test it, and I had to look in the source to find out what the rule was called, and look in the source to figure out what to put in the rule, etc. The reason all the rules are written out is so that it a bit more self-documenting. Eg. if you want to change how villager trades are handled, You just change the "VillagerTrading" Rule which will exist. and is reasonably easy to figure out what it means, just toggle the settings you want.
The only real compromise in that manner I can think of would be to have a setting in the config.yml to determine whether defaults will be written. That could make the configs a lot shorter. It could also facilitate 'inheriting' settings from other configs for missing values or something.
Another issue isn't even related to GP and is just that I'm not unemployed anymore so don't find I have quite the abundance of spare time I used to which is why this stage of smoothing things out and actually getting some more reasonably documentation has been so slow.
The ghost claims thing the OP mentions is another one of the main reasons I haven't even released a Beta (along with the docs needing updated). I haven't been able to reproduce any of the listed problems so there isn't much recourse. All the claims on my test server defiantly continue to exist.
-
View User Profile
-
Send Message
Posted Nov 30, 2013@BC_Programming
I dont know what there knuckleheads are thinking, but they are surely nowhere near the field of plugin development, as they have no idea what it is to create such a giant project in one's spare time and maintain everything about it. But now is the time to catch up: They want simplicity. I suggest you move the control values for 1.Claims 2. PvP 3. CreativeRules 4. whatever they complain about, so that they can easily be disabled globally. The 800-line config is quite the trouble, but you sure know that already. Give them what they need, and they will shut up. Suffocate the enemy with a smile.
-
View User Profile
-
Send Message
Posted Nov 30, 2013@ryan_the_leach
Showing me that was a VERY bad idea.
-
View User Profile
-
Send Message
Posted Nov 29, 2013BC, you may want to check this thread out on reddit, if you havn't seen it already.
http://www.reddit.com/r/admincraft/comments/1rprmj/looking_for_feedback_from_admins_using_grief/
-
View User Profile
-
Send Message
Posted Nov 29, 2013@stgram
Interesting. He's quite right- it should be using the inhand variable previously created rather than call getItem(). The Exception occurs any time a player right-clicks a Portal Frame with nothing in their hand.
Nobody mentioned that tidbit (arguably it was probably just some random player on their server), and every single report I got on that particular problem was using spigot, and I spent three days trying to fix a similar NPE in another event which after installing spigot I tracked to an event being passed as null for whatever reason, thus my initial suspicion.
On the bright side in this case it was non-destructive since you can't do anything to an ender portal frame with no item anyway. So I guess there is that.