bPermissions
bPermissions
Welcome to bPermissions, a Superperms Manager for Bukkit! bPermissions focuses on being unique from the rest of the Permission managers. It's very simple to set up and use, it's lightning fast, fully featured, and has a great support team!
Some features:
- bPermissions has a gui client specifically designed to make running a server so easy that you'll forget that you ever used any other permissions plugin. Get it here!
- bPermissions has a unique command structure, never before seen in a permission manager. It's best used for adding lots of nodes to a user or group from the console or in-game, less typing!
- bPermissions has everything you would expect from a Permissions manager. Prefix and suffix support, inheritance, per-player permissions, multiworld support, promotion/demotion tracks, and even group priorities for multi-group setups.
- Note - bPermissions only defines prefixes and suffixes. You need a chat plugin such as bChatManager for them to show up in chat.
Commands
Say you have a user called 'Bob' and you want to put him in the group 'admin' and give him the prefix 'awesome'.
- /world yourmainworld - selects the world "yourmainworld"
- /user bob - selects the user "bob"
- /user setgroup admin - set bob's group as "admin"
- /user meta prefix awesome - set bob's prefix to "awesome"
You can do the same with groups!
- /world yourmainworld - again, selects the world
- /group admin - selects the group "admin"
- /group addgroup moderator - makes the admin group inherit from the moderator group
- /group meta prefix &c[Admin] - sets the admin prefix to "&c[Admin]"
Some other commands are as follows
- /permissions (or /bperms,/bp,/p) - general commands for bPermissions are prefixed by this
- /permissions import pex - import a pex permissions.yml in the pex folder
- /permissions reload - reloads your bPermissions files
- /permissions save - if auto-save is false, this saves your perms
- /permissions backup - backup your permissions
- /permissions helpme - for the lazy among you, this spews out some basic permissions files into your folder.
In order to use these commands, you'll need the permissions node bPermissions.admin
For configurable /promote and /demote tracks, you'll want to use permissions tracks. To read about those, visit this page
Want more commands? We have some others over on the commands page. Check 'em out!
Editing Files
bPermissions creates per world groups.yml and users.yml files in the bPermissions folder, which allow you to configure permissions on a per world basis.
Because bPermissions was designed to be configured largely via commands, bPermissions will often overwrite changes to these files especially if you /reload or restart the server.
If you've edited the files, you MUST use /permissions reload to load the modified files into the server, otherwise the permissions changes won't apply. Because a standard /reload unloads all plugins like a server stop, we cannot tell the difference between them and this will overwrite changes to your files with whatever the server last stored.
World mirroring
Worlds are mirrored like so:
world_mirroring_to: world_mirroring_from world_nether: world world_the_end: world
This duplicates the whole config for that world. Currently there's no way to have just the users or the groups mirrored, stay tuned for an update that adds this!
bPermissions and EssentialsChat
Allow me to put this issue to bed. Essentials Chat + bPermissions works for prefix and color.
This guide is for current users of EssentialsChat and want to use bPermissions along with it.
Players have colored rank prefixes and faction chat modes are also colored. All text can be colored by the players too using color codes such as &c.
bPermissions\world\groups.yml ( code snippet )
default: default groups: ## Peasant ## default: permissions: - group.default - group.userannouncer - group.userauction groups: - userannouncer - userauction meta: priority: '100' ## Citizen ## rank1: permissions: - group.default - group.rank1 groups: - default meta: priority: '200'
It has nothing configured for prefix but the group names are important (default, rank1)
Essentials\config.yml ( Code Snippet )
change-displayname: true #add-prefix-suffix: false player-commands: - chat.color - chat.format - chat.shout - chat.question chat: radius: 0 group-formats: default: '&8&lPeasant &r&8{DISPLAYNAME}&7:&r {MESSAGE}' rank1: '&8&lCitizen &r&7{DISPLAYNAME}&7:&r {MESSAGE}' moderator: '&e&l[Mod] &r&3{DISPLAYNAME}&7:&r {MESSAGE}' admin: '&c&l[Admin] &r&e{DISPLAYNAME}&7:&r {MESSAGE}'
Please direct all other Essentials support to their official support networks.
How do I get support?
First, we highly recommend you go read the FAQ page. If the answer isn't there, there's a few options of support.
- Visit the #bananacode irc channel on irc.esper.net. Just head there, as your question, and wait for someone to help you. It might be a while before you get an answer, so be patient!
- You can file a ticket. This is recommended if you don't have the time to hang around in the IRC or you have a bug report. Be prepared to check back to the ticket though, and make sure you attach your bPermissions groups and users yml files to the ticket.
- Comment on the bPermissions main page.
Note that as there's only one (slightly inactive) maintainer at the moment, any support queries may take some time.
However you choose to get support, "pls dont use txt spk," and make sure you use actual grammar.
I'm a developer!
If you wish to hook your plugin into bPermissions, please see the Developer Page for more information! If you wish to contribute code to bPermissions, fork us on GitHub!
Jenkins
Development builds of this project can now be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff, and are possibly buggy. Use them at your own risk.
@codename_B Sorry, I assumed you would have that kind of feature built-in as it wasn't mentioned anywhere that a chat handler/formatter was required and no where on any of the bukkit websites does it state that a permissions handler/plugin can not have built-in chat formatting. Since you're the kind of guy to do things differently - such as adding * - I thought you would do such a thing with the chat but I see I am mistaken.
@ivals
I assume you know to format chat you need a chat plugin - bPermissions works with bChat herochat iChat mChat jChat
It supports bChat native prefix/suffix via the bInfo interface It supports P2/3 native prefix/suffix via the PermssionHandler interface
This is the main method within bPermissions itself https://github.com/codename-B/bPermissions/blob/master/src/de/bananaco/permissions/info/InfoReader.java
This is bridged here to Niji's old permissions method (for P2/P3) https://github.com/codename-B/bPermissions/blob/master/src/de/bananaco/permissions/PermissionBridge.java
This means that it fully supports ANY pre-existing chat plugin - as well as any modern chat plugins designed to use any of these interfaces - I am working on adding support for more.
But yes - to format chat - you need a chat formatting plugin.
I'm sorry - you have a purple name - I assumed you would realise you needed a chat plugin to format chat. I will not make this mistake next time and spell things out for you as clearly as possible.
a chat plugin is required to format chat - this does not have to be bChat it can be any chat plugin
@codename_B Yes, I know many people make that mistake but I'm not that dumb. Of course I assigned the nodes and read that section twice. The answer was, yes, you do need bChat (or any chat formatter/handler). Next time you should mention that you need a chat plugin for the prefixes to take effect as nowhere did you state it was required.
There is no inheritance - there is multigroup - if you want someone to have two groups permissions, give them two groups.
@ivals http://dev.bukkit.org/server-mods/bpermissions/#w-prefix-suffix-nodes
What's not clear about that post? The title?
How would I go about using prefixes? They have no effect. No where does it mention I need bChat. Do I need that?
How exactly does inheritances work with bpermissions?
@McSushi I can't replicate your bug - perhaps you can redownload bPermissions and make a step by step for me, as well as giving me copies of your world.yml?
@codename_B
Excellent explanation, thank you. I'm going to make myself look old here, but I used to do a bit of coding in lpc on an lpmud back in the early-mid-90's. Completely foreign to Java, but concepts are pretty much universal.
i am using version 1.4.0.2, and i am typing in this.
/p global rmgroup Grower Bob
@foopex
override-player: true uses reflection to replace the CraftPlayer object on the server with our own custom overriden one - this allows for fun stuff like overriding methods and values.
Atm we're only touching on the possibilities using an override of player.has("permission") with our own custom method, but it works well and provides the '*' node to those who need it, since SuperPerms will never support it.
I was afraid this using /p with this one would stop me from using /p in the other one. It didn't, mcMMO overrided your /p so it is fine. But you are right I could just remove /p from your plugins.yml if it really came down to it. I always forget how much power we have just by editing what's in the jar's etc.
I do have one request,. Would you mind describing the override-player option in config.yml? I realize you state to use it when using the * node, but I'm not following the purpose or what it would be used for otherwise.
@foopex - there are other commands for this too.
You can edit them in the plugin.yml manually, I provide p, perms, permissions as possible commands to get around other plugins using "p".
I'm keeping the "p" as its very popular and easy to use, why not just use /perms?
One thing I'd like to point out is how often using /p will have potential conflicts. For example, mcMMO uses /p for party chat, which is common in many games. Would it be possible to have an option to remove /p entirely or change it to /bp in configuration?
McSushi - I need more info - what command did you use? What version of bPermissions?
Hey i found a fairly large bug in this plug in. When you are using the ingame commands to remove someone from a group; it actually adds them to the group instead. Eg. Bob is in the Grower group. I add bob to the Dealer group. I remove bob from the Grower Group. Bob is now in the following groups: Grower, Dealer, Grower
Please tell me i have done something wrong, because this ingame permission editing would be fantastic.
@obscurehero I guess it means they don't support anyone using bPermissions - which seems a little odd :S
Why not ask them about it?
The author of administrate is saying yours is not a "supported" permissions plugin. Does this make any sense?
Edit: For anyone else having trouble, for star nodes it's 'node.*', not node.* If you need help and don't understand the above, use a converter ;)
http://permicon.nexua.org/ - For converting the old permissions format to the new ones.
@ElementalBliss
@SS94_
Hey, I use this too :P I just don't check my console log as often as you guys do!
Any other problems or suggestions, you bring em to me and you can be sure I'll give them a good look at at the very least.