Grief Prevention

Grief Prevention

7.8 Beta Availability

A Beta of GriefPrevention 7.8 has been released! There are still a few things that seem to be broken, but nothing that should be an absolute show-stopper. For those who want to give it a try to get GP to protect 1.6.4 features, here are some notes:

Your 7.7 configuration files will not be used. 7.8 will use Plugins/GriefPrevention instead of Plugin/GriefPreventionData, and copy data to it. If you need to rollback to 7.7, you can do so by simply replacing your 7.8 jar with the older .jar file. If you use the flat file dataStore, you will lose any claims made since you switched to 7.8. If you use MySQL, you should be fine. Configuration files will be generated from scratch in the plugins/GriefPrevention folder; both a config.yml as well as the WorldConfigs folder. Each World has it's own set of Configuration options. Most of these defaults should be sensible for most servers. many Options have been moved into separate "Rule" Nodes, which give you more control over who can do what and where. Permissions have also been changed. You will need to revise your Permission settings to use the new Permission Node values where applicable. Rules and Permissions are documented on the GriefPrevention 7.8 Configuration page.

GriefPrevention 7.8 Configuration Page

DataStore Configuration Changes in 7.8

The DataStore capabilities have been split and made more general. To facilitate possible future dataStore implementations, the configuration for data Storage has been moved to "dataconfig.yml". In order to populate this file, you will need to start your server with that dataStore selected through plugin/GriefPrevention/config.yml, under the "GriefPrevention.DataStore" option. A Fresh server setup can be initialized by starting the server to initialize the config.yml; change the Datastore to mysql in config.yml, start the server again- it will create the appropriate notes in your dataconfig.yml file. At that point you can stop the server and edit the settings in dataconfig.yml appropriately, to reflect your required connection credentials. Then you should be able to launch the server and use that dataStore.

Now under a new maintainer: Tux2!

PREVENTS all forms of grief, including build/break, theft, spam, fire, spawn camping, lava, and treetops, so you don't have to rollback! 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 large roster of trained administrators, juggle 10 different anti-grief plugins, take away cool standard game features, publish a manual, or add a pile of 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 creativity.

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.

Troubleshooting and Common Questions

Save yourself some time! Check this page for the answer to your question.

Feed the Beast and Tekkit Lite Compatibility

I have heard reports on this plugin working fairly reasonably on Tekkit Lite/Feed the Beast servers, however, this is entirely unsupported due to large holes in the way mods are coded and the incomplete nature of the BukkitForge mod. If you choose to use it you do it at your own risk! There are plenty of things that bypass GriefPrevention in the mods, which means you will need to disable quite a bit (mining lasers, iTNT, etc.), including MystCraft, as the way GriefPrevention is coded it makes it incompatible with MystCraft without breaking the GriefPrevention API terribly and the need to totally overhaul of the design of the plugin.

In-Depth Topics

Development Builds

Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Development builds can be found here

The Source Code for this plugin can be found at Github. The source found here will reflect the current latest development build. If you want to contribute, be sure to give the Source Code contribution guidelines, which have some tips and 'rules' that can make getting your changes into the main repository easier for all involved.

Feature List

Yes, everything is customizable. See administrative details.

  • No database or world backups required.
  • Extremely efficient CPU / RAM usage.
  • Land claims are easy to manage.
    • New players get automatic claims around their first chests.
    • 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.
    • 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 using crafting equipment.
    • No sleeping in beds.
    • No button/lever usage.
    • No adjusting redstone repeaters.
    • No pushing blocks in with pistons.
    • No pulling blocks out with pistons.
    • No TNT damage.
    • No creeper damage.
    • No damage from TNT cannons.
    • No explosive damage from other plugins, like Extra Hard Mode or Magic Spells.
    • No enderman block changes.
    • All doors may be automatically locked (optional, see config file).
    • No killing or luring animals away.
    • No stealing water.
    • No trampling crops, by players, animals, or monsters.
    • No growing trees inside the claim by planting outside.
    • No building overtop, all claims reach to the max build height.
    • No placing or breaking paintings / item frames.
    • Fluids will not flow into a claim from outside.
  • Excellent anti-spam protection
    • Warns, then mutes, then may kick or bans (configurable) spammers.
    • Most spammers get only one message out before they're muted.
    • Almost no false positives.
    • Blocks server advertising.
    • 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 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.
    • Griefers can't dump water or lava above sea level, unless they claim the land first.
      • The fluid will not flow out of the claim.
      • Deleting the claim removes the fluid to prevent spillage.
    • 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.
    • 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.
    • It's impossible to get a player "stuck" inside a land claim.
    • 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.
    • Optionally, logs whispers and opens them to administrative eavesdropping.
  • PvP Protections.
    • When PvP is off, no setting fire or dumping lava near other players.
    • Absolutely bullet-proof anti-spawn-camping protection, 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).
  • Even works with Tekkit (requires configuration).

Extensions

There is a DynMap plugin for GriefPrevention, which adds markers for player claims to your DynMap.

If you want to your players to buy/sell/lease claims, then you can install the Real Estate plugin for GriefPrevention. This Plugin has been updated by SuperPyroManiac to work with more recent GriefPrevention Builds. You can find his version of GP-RealEstate here.

GriefPrevention Flags adds flags to your grief prevention claims for PvP (admin claims only), and Mob spawning at the moment. (More features in the works!)

Flags Is a fork of GP-Flags that also supports other Region/claim type plugins, as well as adding several other features, such as support for Subdivisions, Multiple Worlds, and even flags on a world itself.

HardcoreClaims is a plugin that will allow a player's claims and GP information to be wiped when they die. thus every time a player dies they are set back to square one. It also integrates with Flags to allow per-claim control over whether a claim is deleted.

More Great Plugins!

  • Anti-XRay
    • Limits how quickly players can mine valuables, based on their play time / values mined ratio.
    • Keeps your valuables in the ground, so non-cheating players can find them (unlike ore loggers).
    • Practically free to run, unlike the tremendously expensive Orebfuscator.
    • Most legit players won't notice, but xrayers will ragequit and move on.
  • Population Density
    • Automatically assigns new players to wilderness where they'll find other new players and plenty of space, wood, and ore.
    • Optional teleportation system which can't be abused by players to escape combat or save them from being lost.
    • Login queue to guarantee fairness when the server is full.
    • Optional reserved spots for administrators.
    • Automatically removes idle players when the server is nearly full.
  • EnderHoppers
    • Allows the use of Hoppers with EnderChests inside a Claim
    • Items are taken from and added to the EnderChest inventory of the Claim owner
    • Supports The Better Ender Chest Plugin

Command Reference

Player Commands

CommandDescriptionAliases
/AbandonClaimDeletes the claim you're standing in.
/ClaimExplosionsToggles if explosions are allowed in the claim.
/TrustGives another player permission to edit in your claim./t
/UnTrustRevokes any permissions granted to a player in your claim./ut
/AccessTrustGives a player permission to use your buttons, levers, and beds./at
/ContainerTrustGives a player permission to use your buttons, levers, beds, crafting gear, containers, and animals./ct
/TrustListLists the permissions for the claim you're standing in.
/SubdivideClaimsSwitches your shovel to subdivision mode, so you can subdivide your claims./sc
/BasicClaimsPuts your shovel back in basic claims mode./bc
/PermissionTrustGrants a player permission to share his permission level with others./pt
/Untrust AllRemoves all permissions for all players in your claim.
/AbandonAllClaimsDeletes all of your claims.
/BuyClaimBlocksConverts server money to claim blocks./BuyClaim
/SellClaimBlocksConverts claim blocks to server money./SellClaim

Admin Commands

All of the permissions below start with "griefprevention.". For example, "restorenature" is "griefprevention.restorenature".

CommandDescriptionPermissionAliases
/AdjustBonusClaimBlocksAdjusts the number of claim blocks available to a player.adjustclaimblocks/acb
/RestoreNatureSwitches the shovel to restore nature mode.restorenature/rn
/RestoreNatureAggressiveSwitches the shovel to aggressive restore mode.restorenatureaggressive/rna
/RestoreNatureFillSwitches the shovel to fill mode.restorenatureaggressive/rnf
/IgnoreClaimsToggles claims override.ignoreclaims/ic
/AdminClaimsSwitches the shovel to administrative claims mode.adminclaims/ac
/BasicClaimsSwitches the shovel back to basic claims mode./bc
/DeleteClaimDeletes the claim you're standing in.deleteclaims/dc
/DeleteAllClaimsDeletes all claims belonging to a specific player.deleteclaims
/DeathBlowKills a player, optionally giving his items to another.deathblow
/ClaimsListLists a player's claims and claim block details.adjustclaimblocks

Permissions

Note: these permissions are for GriefPrevention versions 7.7 and previous. Version 7.8, currently available as a Beta, does not use these permissions. For information on the development build configuration and permissions, be sure to check out the Dev Build Documentation

PermissionDescription
griefprevention.deathblowAllows the use of the /deathblow command
griefprevention.restorenatureAllows the use of the /restorenature command
griefprevention.restorenatureaggressiveAllows the use of the /restorenatureaggressive command
griefprevention.lavaPlayers with the permission may place lava anywhere they have build permission, but still not near other players.
griefprevention.adminclaimsAllows creating, deleting and building for an admin claim
griefprevention.ignoreclaimsAllows the player to ignore claims using the /ignoreclaims command
griefprevention.deleteclaimsAllows the player to delete and resize other player's claims
griefprevention.createclaimsAllows players to create additional claims when Claims.CreationRequiresPermission is set to true
griefprevention.claimsThis permission is granted to everyone by default, and is necessary for the claims-related slash commands.
griefprevention.buysellclaimb­locksThis permission is granted to everyone by default and allows the player the ability to buy/sell claim blocks
griefprevention.adjustclaimblocksAllows the player to adjust player's bonus claim blocks amount
griefprevention.eavesdropAllows the player to see PMs
griefprevention.admineavesdropOnly in versions for MC 1.5 and up Allows a player to see PMs from players with the griefprevention.eavesdrop permission as well.
griefprevention.spamAllows the player to bypass the spam protection
griefprevention.loginspamMC 1.5 and up Allows the player to bypass the login spam protection

Official Servers

You can experience this plugin for yourself (as a player) by joining any of these public servers. :) I maintain these servers personally, which helps me catch bugs and spot opportunities for new features and improvements. Have fun!

  • Epic Minecrafter play.epicminecrafter.com

Performance

According to the Bukkit wiki, a CraftBukkit server should have 1GB of RAM per 20 player slots. If you follow that guidance and run a reasonable number of plugins, I guarantee that you will not have a problem with lag or memory usage. I can say this with certainty because I'm running a middle-tier (as in, average pricing) hosted servers with the recommended RAM/players ratio, and I run several additional plugins with no issues. This has been my experience over several months running anywhere from 1 to 4 servers with an active player population.

It is normal for your server to spend more time running Grief Prevention code versus other plugins. After all, GP is watching all your players all the time, and is keeping them all happy while not bothering you. Grief Prevention is extremely efficient at doing its job - performance has been and always will be the most important factor in design and implementation decisions, because the only thing worse than a griefy server is a laggy server.

Of course any server owner will eventually have a problem if he pushes his hardware too much, for example by running lots of heavyweight plugins. If you do have a problem, the solutions are to either add more RAM/cpu power, re-prioritize your plugins to drop a few you don't desperately need or reduce your max players.

Notes for Tekkit Servers

"Classic" Tekkit servers are currently running Minecraft 1.2.5. That means you must download an earlier version of GriefPrevention which is compatible with 1.2.5. Currently, the best version compatible with Tekkit is GriefPrevention 5.5.1, which you can get by clicking the blue "files" link at the top of the page.

To protect the NEW container blocks added by Tekkit, you must add their block IDs to your Grief Prevention config file. Also, you'll want to add blocks which blow themselves up (steam engines, nuclear reactors) to that same config file.

Tekkit is NOT 100% compatible with Bukkit, AND it is not designed for Multiplayer (it was designed for single player). Some Tekkit items and blocks completely bypass all Bukkit plugins, which means they bypass any anti-grief code, are not logged by block loggers, and can't be rolled-back by block loggers. Therefore, a few Tekkit items MUST BE BANNED if you run a public or semi-public server. I highly recommend that you install TekkitCustomizer, because it has a very good default ban list, and it's extremely easy for you to customize.

If you're running Tekkit Lite or some other flavor of Tekkit, you may need a DIFFERENT version of Grief Prevention which matches your CraftBukkit version. Further, you should read this.

Developer's Notes

We are rather accepting of possible features that can be added to the plugin. Particularly since those features, depending on content can be made either optional or only applicable to the scenario they are useful in (trying to parse Forge configurations, for example). One thing that is less likely to occur however is advanced hooks into other plugins. One common request is to hook into the popular "factions" plugin. This is not likely to occur because it fits more as a separate plugin for compatibility between the two plugins. Such a 'compatibility' plugin could also extend factions too. Basically neither factions nor griefprevention should have to know about nor care about the existence of the other. The same applies to requests to include special support for other world protection plugins.

Of the features listed below, those in bold could be implemented as extension plugins by using the public API I've provided. Those in italics can be accomplished by running another protection plugin like WorldGuard or Residence in addition to GriefPrevention, by restricting the other plugin to be used only by administrators. You can read more on the Frequently Asked Questions page.

  • Enter/Exit messages for claims.
  • Adding flags to claims to pause hunger, prevent monster spawns, etc.
  • Putting claims inside of claims inside of claims inside of claims inside of claims inside of claims inside of claims...

Extending GriefPrevention

Hey developers, have something to add? :) Public API Documentation

Contacting the Devs

Both BC_Programming and Tux2 check comments and Tickets here, so if you leave a comment or Ticket we will see it within a few days. We are also available on IRC, at irc.mibbit.com in the #pinoygamers channel.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of stgram stgram Feb 23, 2014 at 15:40 UTC - 0 likes

    @GodsDead: Go

    If you run out of space, every plugin that writes data on shutdown will erase its own data, it is a terrible flaw. This is why I keep backups of essentials, and switched to SQL for GP. The data you need is absolutely lost in its current state.

    http://minecraft-mp.com/regular-banner-25773-6.png

  • Avatar of Bubbbaaa Bubbbaaa Feb 23, 2014 at 15:21 UTC - 0 likes

    @GodsDead: Go

    That is where "daily" backups come in handy for problems of this sort

  • Avatar of GodsDead GodsDead Feb 23, 2014 at 14:58 UTC - 0 likes

    I have a majour problem that I need assistance with ASAP, I have had no problems at all with GP for 11 months or so until today, the server crashed last night due to memory, when I restarted it, GP didn't load any of the claims at all, I can see the data is still there, New claims can be created and a restart saves them, but I need to use the data before this happened. The new claims look like they are following the correct ID number we have 358 or so. Its flat file, and I do have access to MYSQL.

    EDIT: I opened up some of the claim data files all 358 are completely blank, GP has wiped all claim data?

    Last edited Feb 23, 2014 by GodsDead

    PirateCraft - Pirate Themed minecraft server

  • Avatar of user_549837 user_549837 Feb 23, 2014 at 03:03 UTC - 0 likes

    Getting this spammed in the console:

    Could not pass event EntityDamageByEntityEvent to GriefPrevention v7.8

    Any input on how to fix?

  • Avatar of Mysticforce12345 Mysticforce12345 Feb 23, 2014 at 00:46 UTC - 0 likes

    I was wondering if Grief Prevention could add like if someone like claims an area and somebody can use worldedit on the claim can u add like a permissions node or like something in the config that blocks worldedit grief? Thanks!

  • Avatar of Arton123 Arton123 Feb 22, 2014 at 23:26 UTC - 0 likes

    This should have a better setup for how permissions are show, the way it is now it kind of hard to even figure, atleast for me. I find this a good setup. http://dev.bukkit.org/bukkit-plugins/ontime/pages/permissions/

  • Avatar of stgram stgram Feb 22, 2014 at 22:30 UTC - 0 likes

    @BC_Programming: Go

    Thanks for the fix. I saw enough mysql errors for the rest of my life. :D

    As for the stable builds, perhaps some way of rating each version, or writing tickets to? If 3 people find the same terrifying bug in one build, the other 3000 should not download it, to limit the damage, while you work on it. And if a build gets enough upvotes, it is considered stable. Some sort of system like that, to help the community.

  • Avatar of BC_Programming BC_Programming Feb 22, 2014 at 19:31 UTC - 0 likes

    @Smac3223: Go

    Seems like it's just been dev builds for quite some time now. After last times horrid bug that deleted claims I'd rather hold off on the buggy dev builds till a stable one is released. As it stands my server is still running on the 7.8-beta-b213 and claims in 'The End' simply do not work. Upon the daily restart they just vanish. No idea why..

    I could tag any version as stable if I wanted to. There wouldn't be anything particularly "stable" about it. There are no unit tests so it can't be based of passing them, and Even spending an entire evening messing with it on my test server I can barely get any code coverage. Even tagging a build as beta brings with it more assumptions of stability than feel I am able to responsibly guarantee.

    Even so, I was going to try to get another beta available here soon. providing build 279 as a beta would be no less arbitrary than earlier builds.

    That said, the main concern would be what happens with the changes to PlayerData names, particularly in existing data that would be brought forward. It worked when I tried earlier with 7.7, but I "only" have three accounts (one of which I recently bought solely for testing GP with all-lowercase users).

    Even with a stable build/upgrade I think it will be prudent to replicate any database information GP is using and/or flat file information, to avoid a worst-case scenario that some unlucky individuals experienced from some of the dev builds.

    At least now that you've mentioned the version you have I can stop trying to reproduce your issue. That said I'm not sure why you would be booted to the overworld when you log back in in any case.

  • Avatar of BC_Programming BC_Programming Feb 22, 2014 at 19:20 UTC - 0 likes

    @fungreenfox: Go

    Should be fixed now with #279.

    @pr4xt3roy: Go

    /giveclaim has a separate permission and is primarily for players to give one of their claims to another player. (It doesn't give or take claim blocks). Players can use it without administrator permissions, but without admin it only works on their claims.

    /transferclaim is primarily for switching a claim from a admin to a player claim. (and vice versa) by those with the proper permissions/ops. transferclaim was used previously to give claims to other players, but it required an admin and two commands- one to make the player claim an admin claim, and one to make it a player claim owned by the new owner. With /giveclaim it will not require an admin to perform the task where one player wants to give ownership of their claim to another.

  • Avatar of jaime29010 jaime29010 Feb 21, 2014 at 22:22 UTC - 0 likes

    I love this plugin, thanks you developers for creating this amazing plugins

    Last edited Feb 21, 2014 by jaime29010

Facts

Date created
Dec 14, 2011
Categories
Last update
Mar 02, 2014
Development stage
Mature
License
GNU General Public License version 3 (GPLv3)
Curse link
Grief Prevention
Downloads
198,483
Recent files

Authors