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!
Development builds of this project can also be downloaded from GitHub now. These builds have not been approved by the BukkitDev staff, and are possibly buggy. Use them at your own risk.
-
View User Profile
-
Send Message
Posted Jun 27, 2014When I do /w bPermissions v2.10.8b thinks that I'm trying to select a world but I'm actually trying to whisper. Plugins I'm using to chat:
bPermissions EssentialsChat HeroChat
-
View User Profile
-
Send Message
Posted Jun 27, 2014@rymate1234
that might be for the best I think. That way you know someone took the name and recently swapped from it.
This would be rare of course, but best to nip it in the butt ahead of time. :P
-
View User Profile
-
Send Message
Posted Jun 27, 2014@sakura_blades
In this instance, maybe the /user command should come up with a selection of people who have been called Steve
/user Steve
[bPermissions] 2 matches!
Current User: Bob - Past User: Steve
Current User: Steve - Past User: Mike
-
View User Profile
-
Send Message
Posted Jun 26, 2014@rymate1234
Well of course, but Commodore was referring to past user names of Bob being Steve and not knowing that Steve was now Bob.
I was going off the reference that it was checking past usernames.. >.> You know, if you didn't know Steve was now Bob and wanted to revoke "Steve's" permission (who is now Bob) but there is another name change, of Mike who is now Steve instead.
I know it's hard to follow, it makes my brain hurt to try to explain it..
-
View User Profile
-
Send Message
Posted Jun 25, 2014@sakura_blades
the command /user Steve would look up the current UUID of that username.
-
View User Profile
-
Send Message
Posted Jun 24, 2014@CommodoreAlpha
@rymate1234
Trouble with this though, is players can choose to essentially use someone's old username, so old "Steve", who is now "Bob". Say "Mike" is now using "Steve" and you go to do command "/user Steve" would you be getting the new Steve who used to be Mike, or the old Steve who is actually Bob now?
-
View User Profile
-
Send Message
Posted Jun 22, 2014@eeg111
Can you pastebin your tracks.yml?
Also a list of plugins so I can attempt to reproduce this bug.
-
View User Profile
-
Send Message
Posted Jun 21, 2014The plugin was working great while I was setting up my server and all of a sudden I could no longer do /promote or /demote. When I did that the server would hang and we would get timed out and the console would get flooded with hundreds of at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
Here are my groups and user files: Groups http://pastebin.com/Gf3GB8yd Users: http://pastebin.com/4NqNrFyp
-
View User Profile
-
Send Message
Posted Jun 20, 2014@MindCoil1
try making your group names lowercase
-
View User Profile
-
Send Message
Posted Jun 19, 2014I've been messing with bPermissions for quite some time but I cannot get it to display colored prefixes. I know I need a chat plugin to display them. I've tried mchat, essentialschat, ichat and some others that say they work with this plugin. Not sure if I configured it wrong are really what is wrong here.
Bukkit Version: 1.7.9-R0.2
pastebins: group: http://pastebin.com/ptZCBFNm tracks: http://pastebin.com/D4hFjy7K config: http://pastebin.com/rBELuNyA User, Custom Nodes, mirrors are empty files
Any help would be appreciated.
-
View User Profile
-
Send Message
Posted Jun 17, 2014@CommodoreAlpha
I could have it as a list of past usernames like:
-
View User Profile
-
Send Message
Posted Jun 16, 2014@rymate1234
Oops, I worded that incorrectly. Sorry about that.
Let me clarify: From the omnipotent standpoint, Bob is Steve. But I, the server admin, don't know that. And I want to clear the permissions node from Steve, but Steve no longer "exists" on the server, and I have no idea who Bob is (I don't know that he used to be Steve).
So, as stated in an earlier comment, a way around this would be to keep track of the past usernames a player has had. So when I look for the keyword "Steve" in the users.yml, I'll find that name next to "Bob" as they share the same UUID.
-
View User Profile
-
Send Message
Posted Jun 16, 2014@CommodoreAlpha
Ok, so you would use /user Bob as you already know that bob was steve in the past, and then /user rmperm permissionsnode
Concerning backwards compatabiliy - yes, the UUID update of bPerms will work with 1.7.5+ and 1.8. I'll also include a converter to convert users files (run manually by a command that only works if the users file doesn't start with a UUID)
-
View User Profile
-
Send Message
Posted Jun 16, 2014@rymate1234
That's not the problem - the problem isn't adding permissions to usernames. The problem is that, in this hypothetical situation, I added the permissions node to Steve's UUID. But later on, I found out I needed to revoke it, but Steve changed his username. If I know that the new username, Bob, had a past username as Steve, I could lookup "Bob" (who has Steve's UUID) and take action from there.
Also, concerning relevance with 1.7.5+ servers, I assume the 1.8 version of bPermissions will be backwards compatible with 1.7, because there will still probably be servers staggering behind when it comes to updating to 1.8, so they'll still need a 1.7 UUID-compatible version of bPermissions.
Thanks for continuing work on this great plugin, though. You're pretty much the only person keeping this alive (and thriving) while many people use it, so I can understand the great deal of pressure that puts on you.
-
View User Profile
-
Send Message
Posted Jun 16, 2014@Faldonboy
From the FAQ on nick changes:
I think its safe to say that UUID support isn't terribly important until 1.8 is out.
As I said, I'm still going to work on it as soon as I find out whether the new beta is significantly less buggy than previous versions.
@CommodoreAlpha
If it's a plugin that manages the quest, the plugin could lookup the UUID of steve, and add the permissions node to steve's UUID once the quest is complete, rather than his username.
-
View User Profile
-
Send Message
Posted Jun 15, 2014@SuperPyroManiac
I like the idea, but in the case that you're handling certain permissions on a per-player basis, and for some reason you have to mess with someone's individual permissions, chances are you'll remember that player by their name, not their UUID.
For example, if I have an RPG server, and a player named "Steve" completes a quest which gives him a permissions node, THEN I find out this "Steve" cheated on the quest (somehow), the intuitive thing to do would be to look for "Steve" in the users.yml file to revoke the permissions node(s). But the problem could be that I only remembered the player under the name of "Steve" and now he has a different name - I probably didn't remember his UUID so I've no way of tracking him now.
Don't get me wrong though because it's still a good idea - this is probably a small issue depending on well the server is designed concerning handing out permissions. One fix to this would be for bPermissions to keep track of all the previous usernames of the same UUID, but this would have two issues in itself. The first issue is if someone's current username is the same as someone's previous username. That can be fixed by adding yet another additional line, maybe like so:
Embarrassingly enough, this has its own even smaller issue, where multiple people can have the same past username, turning back to the same problem where I can't distinguish who to punish. But this is unlikely to happen, and if it were to happen, it'd more likely be a conspiracy or something.
Now, issue number two with recording past usernames is that you have to record more things, and recording more things is... bad. A player could have a long, long list of past usernames, or many players could have some past usernames. The users.yml file would quickly get flooded if each username was displayed as a vertical list rather than a horizontal list, so the solution would be to list each name out horizontally.
-
View User Profile
-
Send Message
Posted Jun 15, 2014@rymate1234
How is UUID support not relevant since its in versions 1.7.6-1.7.9 which most servers are already on?
-
View User Profile
-
Send Message
Posted Jun 14, 2014@rymate1234
Possibly do it like this:
That way you can still search people based on Username, but the UUID part never changes. Username part just changes when someone of that UUID comes on with a different ign.
-
View User Profile
-
Send Message
Posted Jun 13, 2014@SuperPyroManiac
Yeah it's not too big an update, just gotta find a good way of having the username in the users.yml so it's possible to manually edit them without too much difficulty
Unless you're really good at remembering 16 character UUIDs.... :p
-
View User Profile
-
Send Message
Posted Jun 13, 2014@rymate1234
I know, just wanted to make sure it will be there. Sounds good though.