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!
grate
Tried re-installing Privileges.jar and same mistake is happening. I think I was able to execute debug before re-installing jar file. Here's the pastebin from the console: Task #3 Error
Unfortunately, I can't run debug again due to error messages. Can anyone help with this? I'd hate for this plugin to go away. It's great and simple to use.
I'm getting an error message in the console and the other owners can't promote in-game past a certain rank. Apparently Task #3 generated an exception and I don't know what to do to fix it. Below is a PasteBin of the error message(s). Please let me know if I need to post anything else or if I need to open a ticket.I'm using Spigot 1.8.
http://pastebin.com/9HucitDg
Not working on Spigot 1.8 :- (
I just want a quick notification if this project is abandoned as the Jenkins is down. It would be such a waste to abandon this project. THanks.
How can I negate a permission node? I want to negate -bukkit.command.* so that players can't use /me command
@mcly
Config option for default users.
users.yml usually register players who don't have any permission, which can become thousands of unnecessary registry. Can you fix this?
Is there any way to not having to type /priv reload after giving player a permission? It's annoying having to do that everytime a permission is given and not very good to use with Buycraft.
@mcly He says "will release an update as soon as it is necessary" http://dev.bukkit.org/bukkit-plugins/privileges/tickets/23-uuid-support/
It sucks to not knowing if this plugin is still in development for UUID or abandoned, I guess I'll stick with PermissionsEx.
Is this plugin going to be updated for UUID change?
Help, i get a "cannot build here" message when i try and break/place a block, here is my group.yml folder;
groups:
newcommer:
rank: 1
permissions:
- group.newcommer
- privileges.check
- simpleprefix.newcommer
worlds:
Buildserver:
- privileges.build
data:
promotion: builder
inheritance: []
builder:
rank: 2
permissions:
- group.builder
- privileges.dump
- simpleprefix.builder
- ctl.blue
worlds:
Buildserver:
- privileges.build
data:
promotion: trusted
demotion: newcommer
inheritance: []
trusted:
rank: 3
permissions:
- group.trusted
- privileges.dump
- simpleprefix.trusted
- ctl.yellow
worlds:
Buildserver:
- privileges.build
data:
promotion: artist
demotion: builder
inheritance: []
artist:
rank: 4
permissions:
- group.artist
- privileges.dump
- simpleprefix.artist
- ctl.green
worlds:
Buildserver:
- privileges.build
data:
promotion: artisan
demotion: trusted
inheritance: []
artisan:
rank: 5
permissions:
- group.artisan
- privileges.dump
- simpleprefix.artisan
- ctl.lightpurple
worlds:
Buildserver:
- privileges.build
data:
promotion: mod
demotion: artist
inheritance: []
mod:
rank: 6
permissions:
- group.mod
- privileges.promote
- simpleprefix.moderator
- ctl.darkgreen
worlds:
Buildserver:
- privileges.build
data:
promotion: admin
demotion: artisan
inheritance: []
admin:
rank: 7
permissions:
- group.admin
- privileges.promote
- simpleprefix.admin
- ctl.gold
worlds:
Buildserver:
- privileges.build
data:
promotion: co-owner
demotion: mod
inheritance: []
co-owner:
rank: 8
permissions:
- group.co-owner
- privileges.self.edit
- privileges.*
- simpleprefix.co-owner
- ctl.aqua
worlds:
Buildserver:
- privileges.build
data:
promotion: owner
demotion: admin
inheritance: []
owner:
rank: 9
permissions:
- group.owner
- privileges.self.edit
- privileges.*
- simpleprefix.owner
- ctl.darkred
data:
demotion: co-owner
inheritance: []
I have the - privileges.build in the world... what did I do wrong?
Is it possible to promote and demote players with command blocks using @p(closest player)?
Edit: Also, is there a permission node for commandblocks?
Plans for UUID support?
no prefix/suffix support?
@Durzanult
There is no functional way for this to be possible - it is also a huge security risk.
Does this plugin support universal wildcards... you know, where I can just say - '*'
and have that one player or group have access to all the commands?
Great, thanks! One last question regarding config. Could you please explain persist_default functionalities?
flurryknox: There is a donate button on the top of this page (and all other pages of the project).
mcly: It would handle that number of players properly, but continuous writes to the file would take longer than average due to the size of the file. If you were going to do that, I would recommend turning off auto_reload in the config and making all changes to the permissions through external edits (and using
/priv load
).The number of players online at any one time does not change the performance of Privileges. You could have a thousand players at once and Privileges would perform exactly the same as it does with five.