Grief Prevention

Administrative Topics

Watch the video first. It will help you understand many of the features which are difficult to explain with only text.

Setup

Unless you have BOTH creative/survival or PvP/non-PvP worlds on your server, then you do NOT have to configure GriefPrevention to get maximum protection without issue. If you have such a complex server configuration, or if you're interested in reducing protection or tweaking some settings, see the configuration variables section near the bottom of this page. Otherwise, just copy/paste the JAR into your plugins folder and /reload.

Optional Database Configuration

Once you go database, you can't go back to file system without losing any NEW data you created while in database mode. If you don't know databases or know someone who does, stay away from database mode. It will just make your life more complicated. Do NOT assume that you need to use a database for performance reasons. Try with the filesystem first, and I think you will be surprised at the efficiency. Any data you create while in file system mode can be very easily moved to a database later, if you decide the file system isn't working for you.

If you configure GP for database and there's a problem connecting to the database, many GP features won't work, and others will give you error messages in your log files. When you're enabling database support for the first time, pay close attention to your boot logs.

A database URL looks like this: jdbc:mysql://localhost:3306/minecraftdata . The last bit is your database name, which YOU create manually with a mySQL command like "create database mydatabase;". If you don't know your username, it's probably "root". Please do not ask me for help with your database URL. This is standard Java-to-database connectivity, and you can find plenty of help for this area on the internet. I'm also not your go-to guy for permissions problems or anything else related to database maintenance (backups, migrations, data edits, data searches, etc).

If you have data on the file system already, they will be migrated to the database. Please be patient during the migration process, which can take a while. On my test server, it took 7 minutes to migrate 1400 claims and 5000 players from file system to database. Just in case there's any problem, your file system data is NOT deleted, only moved. If you have a problem, you can quickly recover by copying that backup back into its original place and removing the database configuration fields from your config.yml. This will put you back on file system mode with all of your data in place.

Complimentary Plugins

Do I need a block logger/rollback plugin?

In my opinion, no. GriefPrevention will prevent griefers from doing any damage to claimed areas and can very quickly clean up wilderness grief without any database to back it up, so you would only need a rollback tool as a backup plan in case one of your players builds something and doesn't claim it. On my servers, I tell my players that if they don't claim it, that's their problem, and I refuse to babysit them. You may have a different attitude. :) Even if you keep a rollback tool on your server, GriefPrevention will be immensely helpful because it will drastically reduce the number of incidents you have to respond to. And fewer responses means fewer admins, which reduces your risk of accidentally giving a clever griefer admin privileges.

What about anti-cheating?

I don't consider cheating to be griefing, unless the server is very competitive (as are many PvP servers). If you're concerned about cheating, I recommend the AntiXRay plugin to stop xrayers from taking all the diamonds, and NoCheatPlus to stop wall climbing, fast running, fast break, kill aura, etc. You can disable NoCheat's anti spam, because GP's anti spam is much more effective.

If you're allowing theft or have entirely disabled claims on your server, you may want to replace AntiXRay with orebfuscator to not only protect ores, but also keep player builds hidden.

Plugin Compatibility

WorldGuard, ChestShop, Residence, etc

You may be using one of these for some very specific areas, and they provide their own protections in those areas. For example, you might use WorldGuard to create a PvP-free zone in your PvP world. To make sure no one can create a GriefPrevention claim in an area, do the following. First, use /adminclaims (detailed below) to create a claim overlapping the area already protected by your other plugin. Then, stand in the area and use /trust public. This essentially disables GriefPrevention's protections in that area, while preventing other players from creating any claims there because it's already claimed.

Tool Conflicts

Some other plugins might be using the golden shovel or stick. For example, I've heard a Magic Spells plugin uses the stick as a wand. You may use the configuration variables below to customize which tools GriefPrevention uses, but be warned that some players may be confused when the demonstration videos tell them to use a tool that doesn't work as described on your server. Also, be sure to search messages.yml for any help text which might mention the default tools.

Creation Tool: GOLD_SPADE

This is the tool players will use to create and resize claims. Administrators will use it for rollback. You'll find details on both below.

Investigation Tool: STICK

This is the tool used to visualize a claim by pointing at a build or the ground with the item in your hand and right-clicking.

Catching Sneaky Griefers

Due to the rock-solid preventative measures built into this plugin, you'll find that even the most resourceful, creative, motivated griefers can do very, very little. However, right-clicking the occasional cobble swastika or dirt penis can be a minor annoyance, so you may be interested in actually catching and banning some griefers. Most griefers are 10 year olds with anger management issues, so they're obvious and easy to catch. Other more sophisticated griefers are clever 10 year olds trapped in 15 year old bodies, with anger management issues. These tools will assist you in catching the almost-clever.

Sometimes, griefers will place signs to communicate anonymously. For this reason, all sign placements are logged so that you may investigate any issues.

SmartBan: true

Many griefers have access to multiple accounts, so a /ban alone doesn't always help. Similarly, IP bans are easy to work around with a quick router reset (it doesn't help that bukkit explicitly notifies players when their IP is banned). When a player is banned, this smart ban option temporarily bans his IP address, so that any players who have NEVER been on your server before who try to log in with that same IP address in the next 24 hours will also be banned, and the ban message will not mention anything about his IP address. This is very effective at blocking a griefer with multiple accounts, and yet it's unlikely to ban another (innocent) player who happens to use the same computer to play on your server, or who coincidentally gets the IP address when it's reused by the ISP much later.

Eavesdrop: false

Some almost-clever griefers use whispers to communicate secretly. If you enable this, all whispers (the /tell command) will be logged, and anyone with the griefprevention.eavesdrop permission will receive them while online. This can be useful for catching players who work together to grief or cheat, but comes at the cost of privacy. :) You'll also notice a configuration option to list more whisper commands which may be available on your server due to other plugins, like /r and /whisper.

Killing Players

Permission: griefprevention.deathblow

You can use /deathblow to kill a player (for example before banning him) to make sure his inventory drops for others to collect. You can also directly send the slain player's inventory to another player (/deathblow <player to kill> <player to receive items>) when the other player is online. In normal worlds, loot always falls on the surface when not sent to a specific player. In other world types, it falls exactly where the target player was located. You can use this tool, for example, to remedy a "haha I took your stuff when you died and now you'll never get it back haha" situation.

Fighting Wilderness Grief

Rollback (World Repair)

Permission: griefprevention.restorenature

"Public grief" is the kind of grief a player inflicts on the world rather than on a specific individual. It includes forest fires (not possible with GriefPrevention installed), tree topping (also not possible with GP installed), terrain damage, and intentionally ugly builds. The /restorenature command addresses the last two by empowering an administrator to very quickly revert player-generated changes. To enter restoration mode, use /restorenature, then point at the problematic area and right click. Put your shovel away to exit that mode. Don't worry, you can't restore nature inside someone's claim, so it's safe to use anywhere. It also doesn't regenerate ore underground, for you purists out there. It won't fill a big crater - for that, you need /RestoreNatureFill (see below).

Permission: griefprevention.restorenatureaggressive

Usually, griefers spent a lot of time digging on the surface to collect the blocks they use for their wilderness griefing, leaving a big hole. This is extremely easy to fill-in with the /RestoreNatureFill [radius] command, which turns your shovel into a filler tool. Just right-click at the level you want to fill to! Hours of griefer effort can be remedied in seconds.

For the rare griefing cases where griefers use natural-looking blocks to grief (like enormous smooth stone or leaf penises), you'll need the /RestoreNatureAggressive mode. It will remove even some natural blocks, so it must be used carefully. It only removes blocks at and above the level you click at. So point at the bottom of the grief, and not any lower. Since it will remove various natural blocks with air below them, you can quickly remove a large stone, leaf, ore, or log construction by knocking out the bottom layer, and then using /rna. You'll also need /rna for floating grass blocks. Rule of thumb: Always try /RestoreNature first, and go to /RestoreNatureAggressive for only the cases where that doesn't work. Just like standard /rn, /rna will always respect claims. So you needn't worry about using it close to claimed player builds.

Limiting Lava and Water

Lava Placement

Permission: griefprevention.lava

Players are allowed to place lava underground and away from other players. When placing lava on the surface, the player must be inside his claim, and the claim must be at least an hour old. Players with the griefprevention.lava permission may place lava anywhere they have build permission, but still not near other players. When PvP is on, players can dump lava and use flint/steel directly on other players.

LimitSurfaceWaterBuckets: true

Limits water buckets to being dumped either in land claims, or underground. Griefers like to use water buckets to make a big mess with only a little effort (thanks to the spread of water). This makes that impossible. If you set this to false, your players will find it easier to farm in their early game experience, but you'll probably find yourself using /RestoreNature often to clean up water dumped on trees and hillsides.

Limiting TNT and Monster Damage

BlockSurfaceExplosions: true

Set this to false if you like creeper craters and enormous TnT holes all over the surface of your map. When this feature is on, creepers and TnT only destroy blocks underground. Explosions can still kill players, so leaving this on doesn't make creepers safe to fight. :) This option does not retroactively clean up old craters.

EndermenMoveBlocks: false

Most players see Enderman vandalism as an annoyance. It's too expensive to always check for claims every time an enderman tries to move a block, so you have this configuration option. If you allow endermen to move blocks, they will be able to move them everywhere, even inside claims. Like creepers, the "vanilla" behavior for endermen has a detrimental effect on your landscape over time, speckling it with potholes.

CreaturesTrampleCrops: false

Players can never trample crops. This configuration option stops monsters and animals from trampling crops, which is important because resourceful griefers will "lead" monsters and animals to trample crops. If you allow animals to trample crops with this option, they can trample crops anywhere, even in claimed areas (it's too expensive to make this selective).

Controlling Fire

FireSpreads: false

Set this to true if you want to allow fire to spread. Beware, griefers love to start forest fires.

FireDestroys: false

Set this to true if you want to allow fire to destroy blocks. This is a TERRIBLE idea unless you have another plugin which stops this kind of destruction, like for example CreeperHeal. Even if you enable this, blocks inside claims will still be protected from fire, but your trees will be at the mercy of griefers.

Limiting Tree Grief

RemoveFloatingTreetops: true

If a player leaves part of a tree rather than cutting down the whole thing, the rest of the tree will disappear in two minutes. Set this to false if you want to allow players to leave partial trees hanging in the air or sticking out of the ground. Houses built with logs ARE SAFE and will NOT be automatically removed by this feature.

RegrowGriefedTrees: true

When the leftover parts of a partially cut tree are removed, a sapling is automatically planted to eventually grow into a replacement tree. This helps offset the impact of sloppy players who don't bother replacing the trees they half-cut. Disable this if you don't want those trees to be automatically replaced. When a tree is taken down entirely, it will not be automatically replanted.

LimitSkyTrees: true

Prevents trees from being planted in the wilderness when they're in shallow dirt (for example a thin platform in the sky). Griefers like to do this because they get a lot of blocks in the sky by placing only a few. Non-griefing players can get around this by making a thicker platform, claiming the area, or planting in grass instead of dirt.

Administrative Claims

Permission: griefprevention.adminclaims

"Administrative" claims are reserved areas which are owned by "the administration" rather than a specific player. They don't cost any specific player blocks to create, and any player who has permission to create administrative claims also has permission to modify all administrative claims. If you want to grant all players permissions in these claims, remember you have /accesstrust public, /containertrust public, and /trust public available. If you want to prevent players from making claims in an area without impacting their ability to build there, place an administrative claim and then use /trust public while standing inside it.

Creating, deleting, and building within public claims requires the griefprevention.adminclaims permission. Use /adminclaims to switch to administrative claims mode, and /basicclaims to switch back to basic mode. The shovel works for admin claims just as it does for private claims. Use the permission to regulate building in and creation of these.

Player Claims

Overriding

Permission: griefprevention.ignoreclaims

Any player with this permission may gain access to any non-administrative claim using the /IgnoreClaims command. Admin claims still require the adminclaims permission. Use /IgnoreClaims again to go back into "respecting claims" mode, to prevent accidental changes to others' builds. Individual actions taken in ignore claims mode aren't logged, so don't give this permission to anyone you don't trust 100%.

Deleting and Resizing

Permission: griefprevention.deleteclaims

Use /deleteclaim to delete the claim you're standing in, even if it's not yours (deleting public claims additionally requires the adminclaims permission). Use /deleteallclaims <player> to delete all of a specific player's claims, for example to remove claims for a player who's been banned.

GriefPrevention doesn't automatically remove claims for banned players because many servers have a ban appeal process. You can use your plugin.yml (see documentation on the Bukkit wiki) to alias your /ban command so that it BOTH bans the player AND deletes all his claims (you can even through in a /deathblow if you like).

Anyone who has the griefprevention.deleteclaims permission may also resize another player's claim using the golden shovel as if it were his own claim. The owner's claim blocks will be added or subtracted as appropriate. There's not a separate permission for resizing because resizing essentially makes un-claiming any block possible (same as delete).

All deletions and resizes (except by the claim owner himself) are logged.

Restriction Where Claims May Be Created

Use the claims.worlds configuration variable to list which worlds players may create claims in. Administrators may create administrative claims in any world, and can use /transferclaim (as described above) to create private claims for players in any world, regardless of this configuration setting.

If you want to prevent players from making claims in a specific area without impacting their ability to build there, place an administrative claim and then use /trust public while standing inside it. Players can do anything they want there now, except for claiming land, because the area is already claimed.

Restricting Who Can Create

By default, all players may create claims with the shovel. If you set Claims.CreationRequiresPermission to true, then only players with the griefprevention.createclaims permission may do so. This does NOT block new player claims. To block those as well, also set the Claims.AutomaticNewPlayerClaimsRadius to -1.

If you choose to effectively disable player claims, then you might also want to take away the griefprevention.claims permission from all players. This permission is granted to everyone by default, and is necessary for the claims-related slash commands. So by taking it away, you will clean up their /help experience.

Economy Integration

If you have the Vault plugin installed AND a Vault-compatible economy plugin installed (see the Vault page for a list), then you may allow players to buy and/or sell claim blocks using server currency by setting the buy and sell values in the config file. By default, all players will be able to buy and sell - if you'd like to restrict that to only some players, then take away the griefprevention.buysellclaimb­locks permission from any players or player groups who should not be allowed to buy and sell claim allowance.

Creating for Others

Anyone with both the griefprevention.adminclaims permission and the griefprevention.adjustclaimblocks permission may create a claim for another player by first creating an administrative claim with /adminclaims, then using /transferclaim. This is the only way to create a private claim which is less than the minimum claim size. The /adminclaims command is discussed in more detail below.

Expiring Inactive Claims

Claims build up over time. In the most extreme cases, this can eventually hurt the server's performance because there are so many claims to search through. To eliminate this potential issue for long-term successful servers, some land claims will be automatically deleted when the owner has been inactive for a while AND has not invested effort in the claim by expanding it or by building in it. So the general rule is that if a player builds something substantial or plays regularly, his claims will never expire. If a player does not invest in his claim and then disappears for a period of time, his claim may be deleted to allow other players to use the area and maintain good server performance.

Players who have ONLY the free chest-created claim, have NOT expanded it, and who have been offline for a full week will have their claim cleaned up automatically. You can change this by setting the "ChestClaimDays" config setting. Set it to zero to disable entirely, but beware the performance cost.

Claims which appear to be unused (meaning very little is built in them, so they're essentially protecting only nature) will be deleted after two weeks of owner inactivity. You can change this with the "UnusedClaimDays" config setting. Set it to zero to disable entirely, but beware the performance cost.

The "AllClaimDays" config setting is available to you in case you'd like to expire land claims for inactive players no matter how much investment they've made in the land claim. I advise against turning this on, since it will leave awesome builds (which are a credit to your server!) open to grief. It will, however, massively reduce your claim count.

By default, claims in creative rules worlds (see config notes above on designating creative rules worlds) will be automatically restored to a natural state when expired. Claims in other worlds will not, since building requires more effort in survival mode, so the loss is greater if the player does one day return to find his work vanished. You can change both of these settings in the config file.

It's been suggested that there should be a permission which may be given to players to exempt them from claim expiration, for example for when players go on vacation. It's an excellent idea, but Bukkit does not allow for checking an offline player's permissions. :( If this changes in the future, then I will add the requested permission node. For now, remember that in addition to being inactive, a player must have invested very little in a claim for it to be expired (assuming you haven't enabled the AllClaimDays option), so the probability of something substantial being unclaimed is very low.

Adjusting a Player's Claim Limit

Permission: griefprevention.adjustclaimblocks

You may use /adjustbonusclaimblocks <player> <amount> to add or reduce the claim blocks available to a player. You might use this as a reward for winning a competition or creating a really impressive build, or as a monetization strategy to help offset your server expenses (charging real money for bonus claim blocks). Unlike accrued claim blocks which are limited by a config variable, there's no limit on bonus claim blocks.

You may also grant bonus claim blocks based on permissions. For example, /acb [myservergroups.builders] 5000 to grant everyone with the "myservergroups.builders" permission 5,000 claim blocks. This is not a one-time operation - players who get the permission in the future will also get the bonus, and will lose the bonus if they lose the permission.

Investigating a Player's Claims

Permission: griefprevention.adjustclaimblocks

The /claimslist command will list all of a player's claims along with their sizes and locations, and summarize the claim block math for you.

Creative Claims Mode

GriefPrevention.Claims.CreativeRulesWorlds is the list of worlds where players additionally follow creative-mode rules. In these worlds, players can only build in areas they've claimed, and they're limited in how many entities (monsters, animals, etc) they can spawn in their claims. Also TNT doesn't explode terrain, and any unclaimed blocks will be automatically restored (/restorenature). There are more rules than these, but those are the most important and most noticeable. See below for more.

How is creative GP different from survival GP? The following additional rules apply:

  • Players can't build in the wilderness. They must claim land first, and build there. When they try to build in the wilderness, they will get an error message which includes a link to a short creative-mode-specific demo video. Because players have unlimited blocks and the ability to fly, any griefer would be able to make a huge mess very quickly without this rule in place.
  • When blocks are unclaimed, they are reverted back to a natural state (the build disappears).
  • Because a griefer might want to make a temporarily claim just to build something awful and then unclaim it, any unclaimed blocks will be automatically cleaned-up. Players get a warning about this when they unclaim blocks, and have a couple of minutes to undo their changes in response.
  • Empty minecarts which are in motion will be automatically removed. This prevents griefers from building huge tracks with lots of carts just to drag server performance. Note that a rollercoaster is fine - the minecart just has to stop at the end and wait for a player to start it again.
  • There's a limit to the total number of entities (animals, NPCs, minecarts) in a claim, which grows based on the size of the claim. This prevents entity spam.
  • It's not hard to get an entity you create IN your claim OUT of your claim. To prevent griefers from working around the above rule, any minecarts not on tracks, empty boats, and animals/NPCs in the wilderness will be automatically removed. Griefers may think they're succeeding for a short while, but in reality, all their work will disappear after they've gone. Note players can still enjoy boating - but if they leave empty boats lying about, those will be automatically removed.
  • The only way to spawn an animal/monster/NPC is to use a spawner egg or construct a golem.
  • It's not possible to toss items on the ground. When blocks are destroyed, they don't drop items.
  • TNT doesn't destroy blocks.

If you'd like to lock down a creative world such that players build in plots you specify, then you can disable claims as described above, and use /transferclaim with /adminclaims to create claims for players in exactly the locations you want them.

Configuring Security

Claims.PreventTheft: true

Set this to false if you want to allow players to steal from claimed containers (like chests and furnaces) and attack claimed animals.

Claims.PreventButtonsSwitches: true

Set this to false if you don't want players to use buttons and swtiches to limit access to their builds. Players can still limit access by simply using solid blocks rather than a door, so this won't guarantee all players can explore all of the world.

Claims.LockAllDoors: false

By default, only iron doors are lockable. This encourages players to "earn" their privacy by playing the game enough to gather iron ore, and then learning very basic redstone engineering. If you set this to true, then ALL doors (wooden doors, trap doors, fence gates) will require /accesstrust for a player to open, unless the builder has placed a touchplate in front of the door for visitors. Many of your players might not be aware of /accesstrust, which could lead to a lot of near-strangers getting /trust, which can open a lot of builds to grief.

Configuring Claim Limits

Claims.InitialBlocks: 100

The number of claim blocks a new player starts with. Note that if you allow automatic new player claims, those claims can still be larger than this number (the player will just go into negative claim blocks until he accrues more).

Claims.BlocksAccruedPerHour: 100

The number of claim blocks awarded to players for each hour of play time on your server. These are awarded gradually (about every 5 minutes), but only to players who aren't just standing around doing nothing (idling).

Claims.MaxAccruedBlocks: 80000

The maximum number of accrued claim blocks any player may amass. This number does not limit bonus claim blocks granted by administrators (see above).

Claims.AutomaticNewPlayerClaimsRadius: 4

When a player who doesn't have any claimed land places a chest, he automatically gets a claim with the chest at its center. This configuration variable determines the size of that claim (as number of blocks away from the chest, NOT including the chest itself). So the default radius 4 would create a 9 x 9 = 81 total blocks claim, centered at the placed chest.

To protect only the chest itself, set this to zero.

To disable automatic new player claims entirely, set this to a negative number. Before disabling this feature, consider that it's vital to the user-friendly nature of this plugin, because it protects players who don't know how to use the golden shovel or don't have access to a golden shovel yet, and also educates them about the golden shovel. If you disable it, you'll need a plan to educate new players about the golden shovel, for example by posting signs near the spawn.

Claims.ExtendIntoGroundDistance: 5

How far into the ground a new claim should extend from the golden shovel location. If the golden shovel is used at two different heights, the lower value will be used in conjunction with this variable. To guarantee all claims run all the way to bedrock, use a very large number. The default doesn't sink to bedrock because that would effectively claim valuable ore that the player placing them claim hasn't discovered yet. Please note! As a player digs or builds underneath his claim, his claim automatically sinks lower with him. Thus, mine shafts and basements are safe from grief even if you set this variable at a small value.

Claims.MaximumDepth: 0

Maximum depth claims are allowed to reach. If you set this greater than zero, some players may have difficulty because they're not accustomed to thinking in terms of coordinates. Further, a future patch may remove the debug screen (which displays coords) from the standard client. Anyway if you don't want players claiming underground, you can set this to something near sea level. Or, lower to prevent players from claiming diamond-laden areas.

Claims.MinSize: 10

The minimum size for sides of a claim. If you make this very small, griefers may run around creating very tiny claims all over the place just to annoy other players. And then you'll have to come clean it up. :) Note that administrative claims (/adminclaims mode) ignore this rule, so you can use that together with /transferclaim to create smaller claims on a claim-by-claim basis, as needed.

Preventing Player Traps

Griefers can dig a hole and claim it to create a quick and effective trap for other players to get stuck in. When a player complains about being trapped or stuck in chat, he will be educated about the /trapped command, which can save him once every eight hours. Use the Claims.TrappedCooldownHours configuration option to adjust the cooldown period. If you set it to zero, there will be no cooldown.

Unfortunately, nothing can be done to completely prevent lethal traps, like lava traps. Fortunately, the lava rule (see below) makes these types of trap difficult to use effectively. In any case, the presence of the claim to make a good trap really effective will also make it easy for you to determine who created the trap and take appropriate action. :)

Anti-Spam Configuration

Spam.Enabled: true

Whether or not to monitor for spam. Disable this if you have another anti-spam plugin, or if you're feeling reckless. Players with griefprevention.spam permission can spam all they like.

Spam.LoginCooldownMinutes: 2

How long a player must wait before logging in (after the last login). This prevents login/logout spam, a favorite of griefers with hacked clients. Players with permission griefprevention.spam bypass the cooldown.

Spam.MonitorSlashCommands: /local, /tell, /me, /global

This is the list of slash commands which should be monitored for spam. List any slash commands which generate chat messages (think especially about any other plugins you have installed which allow players to send chat messages).

Spam.WarningMessage: "Please reduce..."

The warning message to send to players when they get spammy with their chat messages.

Spam.BanOffenders: true

Whether or not spammers will be automatically banned. If banning is disabled, the player will just be kicked (so he can log right back in). That should help get his attention. :)

Spam.BanMessage: "Banned for spam."

Message to display to a spammer who's been automatically banned. Consider additions like "Appeal on our forums" or "Appeal to yo mama".

Spam.AllowedIPAddresses

A list of IP addresses which you allow players to send via chat. Normally, all IP addresses are muted to prevent server advertisement spam. You may want to add the IP addresses of other Minecraft servers you run, or your Ventrilo/Teamspeak server, and so on.

PvP Configuration

PvP.PunishLogout: true

Griefers often use x-ray cheats to get lots of diamond gear, then start PvPing. To avoid losing their gear, if they think they might lose a fight, they disconnect and come back later. This option will kill any player who tries to log out during PvP combat, allowing the other player to collect his drops. A player is considered "in combat" for 15 seconds after the last time he gave or received PvP damage.

PvP.ProtectFreshSpawns: true

Set this to false to disable the automatic no-PvP status for new players and fresh respawns. The immunity lasts at least 10 seconds, during which they can't pick up items (so they can't abuse the invincibility to collect loot and run away), then disappears when they pick up an item the initial 10 second period. This effectively stops spawn camping in all cases, not only when everyone shares a designated no-pvp respawn area.

If you'd like to disable this in specific worlds, use your permissions plugin to grant players in those worlds "griefprevention.nopvpimmunity". This will effectively disable the anti-spawn-camp feature in those worlds.

PvP.AllowCombatItemDrop: false

Turn this on if you want players to be able to toss items on the ground during combat. Beware, some "clever" players will use this to hide some of their valuables before they die, to keep them from their killer.

PvP.CombatTimeoutSeconds: 15

The number of seconds after the last PvP damage, during which a player is still considered "in combat". This prevents him from logging out without penalty, dropping items, accessing containers, etc.

Mod Support

These configuration variables were created to support server mods, like Tekkit, IndustrialCraft, BuildCraft, RedPower, and so on. If you don't know what any of that is, then these are not for you. :)

Mods.BlockIdsRequiringAccessTrust: [1, 2, 3]

Any block IDs you list here will require /accesstrust from the owner before a player can interact with them (usually right click). I've heard several mods introduce some kind of "machines" which you can activate by right clicking them. Those would be good candidates for adding here.

Mods.BlockIdsRequiringContainerTrust: [4, 5, 6]

Any block IDs you list here will require /containertrust from the owner before a player can interact with them (usually right click). I've heard of one good example, where a mod adds an "iron chest". This chest wouldn't be protected by GriefPrevention by default because GP doesn't know about it, but you could get the ID for that chest and add it here to make sure nobody can steal from claimed iron chests.

Mods.BlockIdsExplodable: [7, 8, 9]

Any block IDs in this list can be destroyed by explosions even in claimed areas. I've been told some mods add explosive blocks, and those explosive blocks will explode again, and again, and again... unless they are allowed to destroy themselves. This is how you fix that problem.

Mods.PlayersIgnoringAllClaims: ['[RedPower]', 'TekkitMachine']

Be extremely careful with this. Any name you list here will always have access to all claims. Many mods use a "fake" player account when their "machines" or other new features make changes to the game world. To ensure those machines work, you can list those fake player accounts here.

You should think very carefully about the potential for griefers to use machines near other players' claims as a way to damage or steal from those claims before using this feature. I am not an expert on mods, so I cannot give you good advice here.

Finally, the above examples are made-up to show you how you can include brackets in a name if that's necessary. You need to check with your mod developer's documentation to find out exactly which "fake accounts" that mod uses to make world changes.

Miscellaneous

AddItemsToClaimedChests: true

Players can give away items to offline players by left-clicking on the recipient's claimed chest. If you want to disable this functionality (maybe it conflicts with another plugin you like?), set this to false.

Quick Reference

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

Server ops have all permissions by default. The griefprevention.admin.* permission will grant all the permissions mentioned above.