Skip to content

Latest commit

 

History

History
205 lines (158 loc) · 16.4 KB

README.creole

File metadata and controls

205 lines (158 loc) · 16.4 KB

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
  • All preventions are disabled by default since version 3.0 (3.2 changes that, see the table below)
  • All preventions have their own configuration file since 3.1, since 3.2 the old configurations will be converted
  • The permissions are all lowercase, check that before you report AntiGuest not working

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
  • mode:
    • none: everything will be prevented (aliases: -1, nolist, all)
    • whitelist: the listed entries are NOT prevented (aliases: 0, white)
    • blacklist: only the listed entries will be prevented (aliases: 1, black)
  • list:
    • the list of entries. this might be commands, item names or anything else depending on what the prevention does
    • this list will be ignored if the mode is set to none

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 <command> or /ag <command>

Command Description
help prints a help text
can [player] <preventionname> 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 <prevention> <message> sets the message of a prevention
language [language] shows or sets the language
badword <word> 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
  • Just put the AntiGuest Jar-File into your plugins folder
  • If you're upgrading from an older version you might remove your config to get a fresh one
  • restart/reload your server
  • The configuration files will be generated/updated as soon as the plugin gets enabled

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.<command> Allows the player to run the specific command operators
antiguest.preventions.* Allows the player to pass all preventions operators
antiguest.preventions.<prevention> 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 - Cube Island

  • You want new features?
  • You want the plugin to be always up to date?
  • You want good support?

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.

Donate with PayPal

Thanks in advance!

Talk to the developers (#cubeisland-dev on EsperNet)

Source on Github