Grief Prevention

Grief Prevention

7.8 Beta Availability

UUID support is coming! Also, due to the excess amount of tickets I have disabled new ticket creation until I go through the code base and get everything sorted out. Please be patient with me as this may take up to a month or more until I get a stable release of the plugin out

Yes! We already know what's broken and are working on fixing it! Please don't contact us with bug reports at the moment! We will open comments and tickets back up when we are ready for them.

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

We are working hard at the moment to give you UUID support and fixing all the bugs. Since we already know about all the bugs, etc. we thought it best to disable new ticket and comment creation until we have gone through the plugin making sure everything is fixed. Please be patient with us and we should have an updated plugin out to you guys within a month or so (as of July 16th, 2014).

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.

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
225,395
Recent files

Authors