Privileges
Privileges
Privileges seeks to be a familiar face for Permissions, and uses the Permissions 2.x format of lists of nodes for users. It offers inheritance, multi-world permissions, and promotion tracks.
This plugin is designed to implement Super perms (Bukkit Permissions). It does not provide an extensible API for permissions handler hooking, except in the form of getGroup().
by krinsdeath
Pages
- Configuration / groups.yml
- Configuration / config.yml
- Example Setup
- Commands
- Jenkins / Github 5.1. Use of the plugin builds from Jenkins is unofficial, unsupported and unapproved by BukkitDev Staff!
Features
- Multi-world compatible permissions management, with a familiar interface.
- Easy-to-use, powerful, and accurate inheritance.
- Promotion ladders and tracks through group ranks.
- Anti-build with permissions nodes
privileges.build
andprivileges.interact
. - Expanded anti-build permissions with
privileges.interact.[block id]
, to prevent interaction on a block-by-block basis. - Extremely powerful command system!
- Incredibly light-weight registration of players. Thousands of nodes can be applied in only a few millionths of a second.
- Plugin Metrics! Privileges reports the total number of groups and users registered in its config files to mcstats.org. This data is 100% anonymous and is only used for informational purposes. You can disable this in config.yml by changing
plugin.metrics: false
Commands
- /priv - Top level command. Does nothing.
- /priv check [player] [node] - Checks the specified node for the specified player. If player is omitted, checks your own nodes.
- /priv list [player] [page] - Lists the specified player's permissions nodes. If player is omitted, lists your own nodes. 7 nodes are listed per page.
- /priv reload - Saves Privileges' currently loaded configuration to disk and reloads all files.
- /priv save - Saves Privileges' currently loaded configuration to disk.
- /priv load - Unloads current configurations and loads from the disk - used to pick up external file changes.
- /priv backup [name] - Creates a configuration snapshot including users and groups, and saves it to a directory: privbackup/[name].
- /priv restore [name] - Restores the specified configuration snapshot.
- /priv version - Shows Privileges' current version and build numbers.
- /priv group [option] - Top level 'group' command
- * /priv group create [name] [rank] - Creates a group with the specified name and rank. If your current rank is equal to or lower than the rank you specify, the command will fail.
- * /priv group remove [name] [--safe] - Removes the specified group. If your rank is lower than the target group's rank, the command fails. If --safe is specified, the command will attempt to remove all references to the group from all users (and set them to your default group), and remove the group from all inheritance references as well.
- * /priv group set [player] [group] - Attempts to set the specified player's group to the specified group. If the target group's rank is equal to or higher than the command sender's rank, the command fails.
- * /priv group show [player] - Shows the sender the specified player's group.
- * /priv group list - Lists the available groups and their ranks.
- * /priv group perm - Top level 'group permission' command
- * * /priv group perm set [group] [node] [true|false] - Attempts to set the specified node to the specified value for the specified group. Fails if you don't have a higher rank setting than the target group.
- * * /priv group perm remove [group] [node] - Attempts to remove the node specified from the group. Fails if your rank is not higher than the target group.
- /priv user perm [option] - Top level 'user permission' command
- * /priv user perm remove [player] [node] - Removes the node specified from the target player.
- * /priv user perm set [player] [node] [true|false] - Sets the specified node to the value for the target player.
- * /priv user reset [player] - Resets the specified user to the default group and erases any individual permissions.
more commands will be added as I think of them
Permissions
- privileges.interact (defaults true) - Allows the player to interact with objects like buttons and switches
- privileges.build (defaults true) - Allows the player to break/place blocks
- Base commands
- * privileges.reload - /priv reload
- * privileges.save - /priv save
- * privileges.load - /priv load
- * privileges.backup - /priv backup [name]
- * privileges.restore - /priv restore [name]
- * privileges.version - /priv version
- * privileges.debug - /priv debug
- Administrative
- * privileges.promote - /promote [player]
- * privileges.demote - /demote [player]
- * privileges.check - /pc [player] [node]
- * privileges.list - /priv list [player] [page]
- * privileges.info - /priv info [player]
- Group base commands
- * privileges.group.create - /pgc [group] [rank]
- * privileges.group.remove - /pgr [group] [--safe]
- * privileges.group.set - /pgs [player] [group]
- * privileges.group.show - /pg show [player]
- * privileges.group.list - /pg list
- Group permissions commands
- * privileges.group.perm.set - /pgps [group] [node] [true|false]
- * privileges.group.perm.remove - /pgpr [group] [node]
- User permissions commands
- * privileges.user.perm.remove - /pupr [player] [node]
- * privileges.user.perm.set - /pups [player] [node] [true|false]
- * privileges.user.reset - /pur [player]
Special thanks
- gravypod - Small performance tweaks and optimizations. Thanks a bunch!
- Wolvereness - Massive improvement to node registration performance through templating. Keep on keepin' on!
@krinsdeath: Thanks for the explaination. Do you think the plugin is good to handle 500 thousand players in the file, with 300 players online at one time? I'm trying to compare Privileges with PEX in terms of timing, and thinking of replacing PEX with Privileges, your statement is highly regarded.
Is there a donation link that I can contribute to you the developer? This is seriously the best permissions plugin out
mcly: It only removes players with the default group that don't also have extra permissions set, and it only removes those players when the server is restarted or reloaded.
flurryknox: This plugin will almost never break between versions. It is perfectly stable.
kickingandscreaming: Thanks for the notice. It seems I forgot to re-add pgp to the list of available aliases. I will make sure it is in the next version of the plugin that I put out.
Does this still work for 1.7.2?
What does the feature clean_old actually do? I personally understood it as it will delete players with no permissions and group from the file in a period of days, however when I tried to test it, the plugin doesn't remove players without permissions and rank from the file.
Hello there.
Just a note that it does not look like /pgp or "/pgp set" is a vaild command. Doing it like "/pg perm set" or /pgps does work, and even though the aliases show /pgp and "/pgp set" and the examples say /pgpset. Might just need clarification in the example.
Great plugin btw. Thanks!
Blokizaki: I replied to your ticket way back when and then completely forgot about checking it, but it appears that it was simply a configuration issue and not related to the plugin itself. I have marked the ticket as resolved.
mcly: I will not be adding timed or temporary permissions to this plugin. A scripting plugin or a plugin that allows timed execution of commands will accomplish this without any additional changes to Privileges.
As for the 'cleanup' feature, that only applies when the server is started or if you run a full plugin reload (
/reload
, which is not recommended). Privileges does not do this with a timer.Also, I tried to test the cleanup in the config, I set it to 1 day. However, players who are not logged in in 1 day doesn't get deleted from users.yml
Could you please add temporary permissions. Thanks!
Is there an update for 1.6.4R2?
I'm having major permissions issues and submitted a ticket . . . was just curious if a Privileges update is in the works or even necessary.
I would like to request permission bundles. Basically a separate file with sections that can then be assigned to users. I'm trying to add some things to my server's shop and I currently need about 10+ commands run to assign a single ability to a user. :(
So lets say a file named bundles.yml:
and then in the users section I could just add the groups
Is it possible to configure from- and to which rank someone can (de/pro)mote, and is it possible to exempt certain ranks/players from being (de/pro)moted?
Thanks ;)
how do i give my ranks a prefix?
@krinsdeath
Thanks, I'll check out RankSuite. Also discovered that probably tracking blocks placed is not a good indicator of amount built or time spent on a server since the player can just randomly spam blocks all about the place to get the count up. I do think XP or Money gained could be a good stat to track & reward.
Also -- thanks for the reminder on /priv check permission.node good to keep in mind.
Blokizaki: I wrote RankSuite, which actually provides the time played feature you're looking for. It does not (unfortunately) support XP/Money gained, or blocks placed/destroyed, but I could probably add that feature in when I get some free time.
Edit: If you encounter a permission that doesn't have a description or you don't understand, do /priv check permission.node. Privileges will attempt to learn information about the node and show you the results.
Anyone know of a good Auto Rank plugin that works well with Privileges?
AutoRank doesn't work (tired it).
I'd like to promote players automatically for time accrued, blocks destroyed/place and maybe even XP and money gained.
None of the plugins I've reviewed mention Privileges as compatible and I thought someone here may have experience with a good one :)
(I'll be sure to post an update if I do find one)
@Blokizaki
Privileges.restricted denies a user with that node build and interact rights. It isn't given by default and can safely be ignored if you don't wish to give it to anyone.
Hi. I just installed Privileges and so far, I like it! [this is my 3rd perm plugin after things break :/ ]
I need a little help with something:
Thanks!
Hi I am In need of dear help for I do not know how to get my friend on my server to be an admin I tried putting him in the configs but nothing works or even all the commands in game, I Don't know if I'm putting these commands in the wrong place but Helping me would be greatly appreciated, thanks for your time :)
urg, how can I look at what node is being checked by a command? Something is overriding essentials /pt and I cannot figure out what. I tried looking for another plugin that could intervene and report it to me but that seems to be a no-go as well :(