CubeEngine / AntiGuest

A bukkit plugin to protect your server from griefing guests
http://cubeisland.de
GNU General Public License v3.0
6 stars 4 forks source link

== AntiGuest ==

=== Description ===

AntiGuest prevents players from doing specific things like building and fighting, which can be used to grief.

Every prevention has its own configurable message which will be printed to the player. This message supports color codes (&0, &1, ..., &e, &f, &k)

===== How does this work? ====

AntiGuest uses permissions to determine whether a player is allowed to do a specific action. So you should (not necessarily needed, but recommended) install a permission manager like bPermissions or GroupManager along with AntiGuest. Usually you only want to prevent your guests from doing things like breaking and placing blocks (griefing), so you should //not// give your guests' group the permission to do so. However your accepted players should by able to do these actions. That can be achieved by adding the permission "antiguest.preventions.*" or a action specific permission to the player or his group.

As you might see, this system allows more than just "guests can nothing, members everything". You could for example stagger the permissions like "guests can nothing but chat; trails can chat, place and break blocks; members can everything" and even more complex setups, it's completely up to you.

===== Watch out! Tips for common mistakes ====


=== Preventions ===

|=Name |=Prevents from ... |=On by default |=Filterable |=Punishable |=Loggable | | ad | posting server addresses (also enables link, see below) | yes | no | yes | yes | | afk | idling players by kicking them after a configured time | no | no | no | yes | | anvil | using anvils | no | no | yes | yes | | beacon | opening beacon inventories | yes | no | yes | yes | | bed | sleeping | no | no | yes | yes | | bow | shooting bows | yes | no | yes | yes | | breakblock | breaking blocks | yes | yes | yes | yes | | brew | brewing | no | no | yes | yes | | button | pushing buttons | no | no | yes | yes | | cake | eating cakes | no | no | yes | yes | | caps | writing all-caps messages | no | no | yes | yes | | changesign | changing signs | yes | no | yes | yes | | chat | chatting | no | no | yes | yes | | chest | accessing chests | yes | no | yes | yes | | command | using specific commands | no | yes | yes | yes | | damage | getting damaged | no | yes | no | no | | dispenser | accessing dispensers | yes | no | yes | yes | | door | opening or closing doors (including fence gates) | yes | yes | yes | yes | | dropper | opening dropper inventories | yes | no | yes | yes | | drop | dropping specific items | no | yes | yes | yes | | enchant | accessing enchantment tables | no | no | yes | yes | | fight | damaging other players | yes | no | yes | yes | | fish | fishing | no | no | yes | yes | | furnace | accessing furnaces | no | no | yes | yes | | guestlimit | getting too many guests | no | no | no | no | | hopper | opening hopper inventories | yes | no | yes | yes | | horse | interacting with horses/mules/donkeys | no | no | yes | yes | | hotbar | changing the selected hotbar slot | no | no | yes | yes | | hunger | starvation | yes | no | no | no | | itemframe | changing item frames | yes | no | yes | yes | | item | using specific items | no | yes | yes | yes | | jukebox | using jukeboxes | no | no | yes | yes | | lavabucket | using lava buckets | yes | no | yes | yes | | lead | using a leash | no | no | yes | yes | | lever | using levers | no | no | yes | yes | | link | posting clickable links | yes | no | yes | yes | | milking | milking cows | no | no | yes | yes | | monster | getting targeted by monsters | yes | yes | yes | no | | move | moving too far | yes | no | yes | no | | noteblock | using note blocks | no | no | yes | yes | | pickup | picking up specific items | no | yes | no | no | | placeblock | placing blocks | yes | yes | yes | yes | | pressureplate | triggering pressure plates | no | no | yes | yes | | repeater | changing the repeater delays | no | no | yes | yes | | shear | shearing animals | no | no | yes | yes | | sneak | sneaking (hiding the name above his head) | no | no | yes | yes | | spam | spam | yes | no | yes | yes | | spawnegg | using spawn eggs | no | yes | yes | yes | | swear | swearing | yes | no | yes | yes | | tame | taming animals | no | no | yes | yes | | trading | trading with villagers | no | no | yes | yes | | trample | trampling crops | no | no | yes | yes | | tripwire | triggering trip wires | yes | no | yes | yes | | vehicle | using vehicles (entering, placing, destroying, pushing) | no | no | yes | yes | | waterbucket | using water buckets | yes | no | yes | yes | | workbench | accessing workbenches | no | no | yes | yes |

===== Filtering =====

====== How does filtering work? ======

Filtered prevention allow you to filter the action which will be prevented.

For example the command preventions which can either prevent the usage of all commands or just a specific set of commands based on a whitelist or blacklist

====== Filter configuration ======


===== Punishments =====

Since version 3.3, AntiGuest allows to automatically punish players. These punishments are configurable per prevention.

You can specify multiple punishments per violation, you can look at the default punishment values in the configs

|=Punishment |=Description |=Configuration | | ban | Bans the player | reason: the ban reason | | burn | Sets the player on fire | duration: the burn duration in seconds | | dropitem | Drops the held item | pickupDelay: the pickup delay in seconds | | explosion | Creates a fake explosion and damages | damage: the damage to deal | | kick | Kicks the player | reason: the kick reason | | kill | Kills the player | none | | lightning | Strikes a fake lightning on the player | damage: the damage to deal | | message | Makes the player send an awkward message | message: the message to send | | potion | Poisons the player | duration: effect duration, effect: type | | rocket | Shoots the player in the air | height: the number of blocks | | slap | Slaps the player | damage: the damage to deal | | starvation | Lets the player starve | none |

No configuration is specified as {}


=== Commands ===

General syntax: /antiguest or /ag

|=Command |=Description | | help | prints a help text | | can [player] | checks whether the player (or another player) passes a prevention | | list [-a] | lists the active or all registered preventions | | reload [prevention] | reloads the plugin | | setmessage | sets the message of a prevention | | language [language] | shows or sets the language | | badword | adds a bad word to the swear prevention | | {{{disable <prevention|> [-t]}}} | disables a specific prevention or all at once | | {{{enable <prevention|> [-t]}}} | enables a specific prevention or all at once | | reset | resets all configurations |


=== Installation ===

AntiGuest 3 needs at least Bukkit 1.1-R5!

===== Steps =====


=== Permissions ===

|=Permission node |=Description |=Default | | antiguest,violation-notification | The player will receive violation notifications | not assigned | | antiguest. | Allows the player to do everything | operators | | antiguest.commands. | Allows the player to run all commands | operators | | antiguest.commands. | Allows the player to run the specific command | operators | | antiguest.preventions.* | Allows the player to pass all preventions | operators | | antiguest.preventions. | Allows the player to pass the specific prevention | operators |


=== Base configuration === |=Entry |=Default value |=Description | | debug | false | Enables or disables debug output | | language | system value | Sets the language of all texts | | punishments | true | Globally disables or enables punishing | | log-violations | false | Globally enables violation logging | | prevent-npc | false | Enables the preventions for NPCs |


=== Developer Notice ===

Plugin developed by Quick_Wango - [[http://cubeisland.de|Cube Island]]

I'm doing this for literally nothing in my free time, so keep me interested in my plugins and help pay my bills by simply donating a few bucks.

//[[https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2QU7NLJW3W58A|Donate with PayPal]]//

Thanks in advance!

//[[http://webchat.esper.net/?channels=cubeengine&nick=|Talk to the developers]]// (#cubeisland-dev on EsperNet)

//[[https://github.com/CubeIsland/AntiGuest|Source on Github]]//