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 Mar 16, 2012@Gnintendo
we currently have the problem even with chat prefixes. We will most likely switch to bPermissions if they don't fix that soon.
-
View User Profile
-
Send Message
Posted Mar 16, 2012@QuickWango
I never did a /reload, reread what I said.
-
View User Profile
-
Send Message
Posted Mar 16, 2012getting this a lot today.
http://pastebin.com/wYuvsTWJ
-
View User Profile
-
Send Message
Posted Mar 15, 2012@Gnintendo
/reload isn't recommended anyway, avoid it where possible.
We had this problem as well with GM, it somehow fails after reloads
-
View User Profile
-
Send Message
Posted Mar 15, 2012@QuickWango
I finally got it working with literally /no/ apparent change, I just removed it and let it generate a new config and configured it exactly like it was.
However, it does seem to fail to work occasionally after a permissions reload (/manload), and during this failure and after an /ag reload some players with permissions were being prevented from doing stuff they should have had permission to do.
That said, it /appears/ to be working fine right after a /clean server boot/
-
View User Profile
-
Send Message
Posted Mar 15, 2012@Gnintendo
As I have already posted before:
Read the description and check whether you've done everything right
especially the section "Watch out! Tips for common mistakes"
FYI: My server uses AntiGuest 3 with GroupManager as well and it works just fine.
-
View User Profile
-
Send Message
Posted Mar 13, 2012@QuickWango
I have, are you sure you did not break superperms support with your 3.X version? I'm using groupmanager and antiguest is not working at all. Despite antiguest clearly being set to restrict many things and using a class without any antiguest permissions at all, the class can still do all the things antiguest was supposed to prevent.
-
View User Profile
-
Send Message
Posted Mar 13, 2012OMG Yes, you are great thanks :D
-
View User Profile
-
Send Message
Posted Mar 13, 2012The plugin works just fine with MC 1.2+
Read description and check whether you've done everything right
especially the section "Watch out! Tips for common mistakes"
-
View User Profile
-
Send Message
Posted Mar 12, 2012Please Update to 1.2 Beta 2 :) Thanks a lot!
-
View User Profile
-
Send Message
Posted Mar 11, 2012Is this not compatible with 1.2 yet? I'm having difficulty getting it to work at all. It was working fine for me in the pre-3.X.X versions. I have removed all the permissions and configuration and completely started over for the new versions, but to no avail.
-
View User Profile
-
Send Message
Posted Mar 10, 2012just fixed the spam prevention using the lockDuration value as milliseconds instead of seconds. I also improved the performance a little bit.
for those of you who don't want to update: just multiply you current value by 1000 and it works as it should.
http://dev.bukkit.org/server-mods/antiguest/files/9-anti-guest-v3-0-3-1-1-r4/
-
View User Profile
-
Send Message
Posted Mar 4, 2012@QuickWango
Wow, that's pretty amazing from you :0 Hopefully i'm able to test it soon. Thank you so much for doing this. Will keep you updated :)
-
View User Profile
-
Send Message
Posted Mar 4, 2012So for all those who still use R4: I modified version 3.0.1 to be partially compatible with Bukkit 1.1-R4.
Preventions that are not compatible (all those which are inventory related) will just fail to load, the rest should work fine.
Also disabling of preventions does not completely work.
http://dev.bukkit.org/server-mods/antiguest/files/8-anti-guest-v3-0-2-1-1-r6/
-
View User Profile
-
Send Message
Posted Mar 4, 2012@ThisUsernameIsMine
I could try to make it R4 compatible, but the preventions that are inventory related (chest, furnace, ...) would not load.
-
View User Profile
-
Send Message
Posted Mar 3, 2012@QuickWango
Thanks for the effort! Unfortunately i'm forced to stick to R4 for a bit longer... :-/
Best regards ;)
-
View User Profile
-
Send Message
Posted Mar 3, 2012@ThisUsernameIsMine
The new version fixeing this end some other things awaits approval :)
http://dev.bukkit.org/server-mods/antiguest/files/7-anti-guest-v3-0-1-1-1-r6/
-
View User Profile
-
Send Message
Posted Mar 3, 2012@QuickWango
It used to work so its probably a bug yes. Thanks for the clarification ;-)
-
View User Profile
-
Send Message
Posted Mar 3, 2012@ThisUsernameIsMine
Activate the preventions you need and set the specific permissions.
Note that the SNAPSHOT version of 3.0 has some bugs (a bunch of preventions did not work correctly), so I think it would be better to stick with 2.5 till you update your server.
-
View User Profile
-
Send Message
Posted Mar 3, 2012@ImHackinBored
I thought about making the placeblock and preakblock preventions filterable, but I dropped the idea in favor of performance.
Using things when not aimed at a block seems tobe a bukkit failure, is the specific event is not fired as is should be. I'll try to fix this but I can't promise it