AntiGuest
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.
Thanks in advance!
Talk to the developers (#cubeisland-dev on EsperNet)
-
View User Profile
-
Send Message
Posted Jan 8, 2012@docben77
Just like to point out, love this plugin!
-
View User Profile
-
Send Message
Posted Jan 8, 2012doesnt work with permissions 3.........
-
View User Profile
-
Send Message
Posted Jan 7, 2012New version awaits approval!
I just tested evrey prevention on our server on multiple worlds (using a old version of GroupManager) and everything (except the the 2 things mentioned in the changelog) worked just fine.
Version 2.5.0
-
View User Profile
-
Send Message
Posted Jan 7, 2012@inviktus: can you please create an issue on github for that? I hate to discuss on BukkitDev
-
View User Profile
-
Send Message
Posted Jan 7, 2012@OleKristian95: AntiGuest uses SuperPerms, so any permission system that uses SuperPerms as its backend will work.
We use GroupManager on our server as well.
-
View User Profile
-
Send Message
Posted Jan 6, 2012Can you help me please? I can't get it working.. :/
Im using GroupManager just sayin
Please make it work with groupmanager if it doesnt.
-
View User Profile
-
Send Message
Posted Jan 5, 2012It's not a spelling or case issue when groups that DON'T have the node are still able to do all the actions that they ought not to, or have I completely misunderstood how this plugin is supposed to work? You give the relevant node to the player or group you want to be able to perform said action, or .* if you want them to be able to do everything, right?
BTW I meant to write AntiGuest.* but had antibuild (old plugin I had) on the brain.
-
View User Profile
-
Send Message
Posted Jan 4, 2012@all those with permission problems: Have you checked the spelling? It's AntiGuest and not antiguest or Antiguest
I added an additional check with the lowercase'd permission in the new version
-
View User Profile
-
Send Message
Posted Jan 2, 2012So far all reported problems are somehow related to the permissions.
The problem for me is, that I can hardly do something there, because the plugin simply checks whether the permission is set or not.
you may use the debug mode auf AntiGuest, but be aware that the debug mode causes a LOT of output with a few active players
I'll definitly test the plugin against PEX and fix anything I can :/
and please: USE THE TICKETS-TAB (github bug tracker) FOR ISSUE REPORTS
-
View User Profile
-
Send Message
Posted Jan 2, 2012I just installed AntiGuest v2.4.0 [1.0.0-R1] I run CraftBukkit: #1597
I'm using the most current version of groupmanager which ships with Essentials.
I have several worlds, and different permissions configs for each, with a few sharing the same config. I have one world in which I would like those in the default group to be able to build, and not in the rest, while people in group builder and up can build in any world. So I've given the antibuild.* to default group for their world, the rest inherit it from there.
In the other worlds, default group has no such permission, which should prevent them from doing any of the actions listed in the config that are set to "true", if I am correct.
Trouble is, defaults can build in any world. I've got them trapped in The Nooblands so far, but they are wily and may escape.
I've noticed if they die, they are unable to do anything in any world, but that is solved by a relog.
I like the concept of this plugin, I can't seem to find any others that allow me to use the permission system to control behavior per group. If you need to know anything else I'll do my best to accommodate.
-
View User Profile
-
Send Message
Posted Dec 29, 2011This plugin works fine for me with PermissionBukkit. I found one bug which I opened an issue for on GitHub: AntiGuest.drop doesn't work (e.g. players can still drop items even with it set to false).
-
View User Profile
-
Send Message
Posted Dec 27, 2011This plugin has not worked for me since 2.1.0, I'm using PEX and can verify the nodes are set, but it is as if they are not. If I turn on debug mode, it says "Permission: placeblock - Allowed: No" for example. But the pex debugging doesn't show it even checking the node. Here is the output of the command to show what a node is set to in PEX:
AntiGuest works perfectly in 2.1.0 so I don't know what changed in the newer versions.
-
View User Profile
-
Send Message
Posted Dec 26, 2011This doesn't work for me either. It doesn't work with permissions at all, this is useless, unless you want to host a server where no one can do anything on it.
-
View User Profile
-
Send Message
Posted Dec 20, 2011New version is almost done
-
View User Profile
-
Send Message
Posted Dec 20, 2011@FiddyCraft
thats possible, I'll add it in the next version :)
-
View User Profile
-
Send Message
Posted Dec 17, 2011anyway you can make it restrict water and lava buckets separate?
-
View User Profile
-
Send Message
Posted Dec 14, 2011@Clerkius
may be a bukkit failure
-
View User Profile
-
Send Message
Posted Dec 13, 2011Great plugin, but 'Guest; players can still eat cake, sneak, and sprint despite having those features restricted upon them! ;)
-
View User Profile
-
Send Message
Posted Dec 10, 2011@silencshadow
I don't see where they're lower-case :/
-
View User Profile
-
Send Message
Posted Dec 10, 2011Really good plugin :)