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 Apr 24, 2012@Ciph911
that error is already fixed in the source and will be released with 3.3, just use 3.1 till its done
@Zone22
I'm currently overloaded with work
-
View User Profile
-
Send Message
Posted Apr 24, 2012Breakblock and Place preventions seam not to work
-
View User Profile
-
Send Message
Posted Apr 24, 2012@QuickWango
Thank you for quick reply! I tried the older version and it works like a charm. I love how you can customize preventions and their permission message.
-
View User Profile
-
Send Message
Posted Apr 24, 2012@Ciph911
Will be fixed tomorrow
-
View User Profile
-
Send Message
Posted Apr 24, 2012Thanks for your great work with this plugin!! I am trying to install it on my server, but I dont get it to work properly. It doesnt create any configuration files (just a folder /plugins/antiguest/). I get this error:
2012-04-24 11:18:54 [INFO] [AntiGuest] Enabling AntiGuest v3.2.0 2012-04-24 11:18:54 [SEVERE] Error occurred while enabling AntiGuest v3.2.0 (Is it up to date?) java.lang.IllegalStateException: Requested language was not found! at de.cubeisland.libMinecraft.Translation.<init>(Translation.java:35) at de.cubeisland.libMinecraft.Translation.get(Translation.java:88) at de.cubeisland.AntiGuest.AntiGuest.onEnable(AntiGuest.java:45) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:336) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:250) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:232) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:371) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:358) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:187) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:422) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
-
View User Profile
-
Send Message
Posted Apr 23, 2012@QuickWango
I'm not sure what changed... but some preventions aren't working anymore in v3.2.0 on my server.
Breakblock and Place preventions are both not working... but afk was working. Maybe a conflict? Anyway, I have reverted back to 3.1.0 for now
-
View User Profile
-
Send Message
Posted Apr 23, 2012read^
-
View User Profile
-
Send Message
Posted Apr 22, 2012@QuickWango
Thanks for working on it ;-)
-
View User Profile
-
Send Message
Posted Apr 22, 2012@Hvarr
That is still no AntiGuest problem. Check your permission plugin.
-
View User Profile
-
Send Message
Posted Apr 22, 2012permissions are not working. people can chat and do all the things.
Minecraft v1.2.5
-
View User Profile
-
Send Message
Posted Apr 22, 2012@dabomb665m
I'll added that as an issue for a later version
@ThisUsernameIsMine
working on that now
-
View User Profile
-
Send Message
Posted Apr 22, 2012v3.2.0 loads but it doesn't create the neccesary config/files:
[SEVERE] Error occurred while enabling AntiGuest v3.2.0 (Is it up to date?)
java.lang.IllegalStateException: Requested language was not found!
This occurs with any CB 1.2.5 build (i'm using Java 6)
- ThisUsernameIsMine
-
View User Profile
-
Send Message
Posted Apr 21, 2012Hi Devs. Could you possibly add more control to the vehicles besides a general "everything about vehicles is off/on" switch?
We have sections of the world that have rails/trains that are set up to automatically dock when the users get off... we would like to allow them through permissions to ride/get in... but prevent them from breaking or adding vehicles. I'm sure this would be very helpful to some admins. I am currently using worldguard to achieve this, but as we all know, those worldguard regions can get be quite costly to your server's load.
-
View User Profile
-
Send Message
Posted Apr 21, 2012Released new version!
Download: http://dev.bukkit.org/server-mods/antiguest/files/11-anti-guest-v3-2-0-1-2-5-r1-0/
Tell me what you think: Talk to the developers (#cubeisland-dev on EsperNet)
-
View User Profile
-
Send Message
Posted Apr 20, 2012@zachbora
I could make the door prevention filterable, so that you can specify which doors should be prevented. would be nice if you could add a issue at https://github.com/CubeIsland/AntiGuest/issues
@Jythri
Please just read the description properly... It tells you everything you need to know.
For example the "Watch out! Tips for common mistakes" section which mentions that all preventions are disabled by default in with the new configurations.
I release the new version tomorrow which will convert your old configuration to the new conigurations and adds some other (hopefully) useful stuff.
-
View User Profile
-
Send Message
Posted Apr 19, 2012I do not see a config file for trapdoors. Is it possible to make one? I would like to allow guests to use doors but not trapdoors.
-
View User Profile
-
Send Message
Posted Apr 17, 2012<<reply 658770>>
You haven’t seen nothing yet. Do a browse and look for AntiShare ;-)
About the problem: try to enable the preventions by editing the according yml-files and setting enable to true.
Then give the groups/players that are allowed to build the permission/node antiguest.preventions.placeblock and they will pass the prevention (thus are able to place blocks/build). Then do the same with/for antiguest.preventions.breakblock.
groups/players that aren’t allowed to build shouldn’t have/get these permissions/nodes so remove those if they exist.
(also check if those groups inherit antiguest permissions/nodes from other groups. If so, negate these permissions in the group that inherit them)
Hope that helps! :-)
- ThisUsernameIsMine
-
View User Profile
-
Send Message
Posted Apr 17, 2012This is quite possibly the most confusing description I've read recently. This was all set up and working fine. Then I updated.
It SEEMS you've reversed the way it works, but now I have no idea how to configure my permissions.
If I want "guest" to NOT be able to build, what do I add to their group permission? - antiguest.preventions.placeblock ?
Your description says that lets players PASS permissions. What do I do to turn OFF building?
Guh. So unclear.
-
View User Profile
-
Send Message
Posted Apr 16, 2012I'm currently working on some server stuff, so I don't have any time for the plugins atm.
Sorry for that!
-
View User Profile
-
Send Message
Posted Apr 12, 2012Not working for me. Ive gave them permission to use prussure pad but when the step on the it dose not open the door but there no messge saying they don t have permission. Great plugin otherwise.