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.
@rymate1234 Great. I'm eagerly awaiting this update so I can get my server back up and running at 100% again.
@rymate1234
Thank you!
@ateam55
I'm working on a version that fixes a couple things and adds the username -> uuid converter for commands
@MightyFlyRudy
uh, fixing now!
Hey there. I've updated my server to Spigot 1.8 and tried using /permissions convert. I get the error message posted below. What's up?
17.01 10:38:02 [Server] INFO ... 8 more 17.01 10:38:02 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO at de.bananaco.bpermissions.imp.Permissions.onCommand(Permissions.java:510) [?:?] 17.01 10:38:02 [Server] INFO at de.bananaco.permissions.ImportManager.importUuid(ImportManager.java:359) [?:?] 17.01 10:38:02 [Server] INFO at de.bananaco.bpermissions.api.World.remove(World.java:194) [?:?] 17.01 10:38:02 [Server] INFO Caused by: java.lang.NoSuchMethodError: java.util.Map.remove(Ljava/lang/Object;Ljava/lang/Object;)Z 17.01 10:38:02 [Server] INFO at java.lang.Thread.run(Unknown Source) [?:1.7.0_72] 17.01 10:38:02 [Server] INFO at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:317) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO at net.minecraft.server.v1_8_R1.DedicatedServer.aM(DedicatedServer.java:353) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchServerCommand(CraftServer.java:631) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:645) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [Spigot18.jar:git-Spigot-fa7cbf9-00eba53] 17.01 10:38:02 [Server] INFO org.bukkit.command.CommandException: Unhandled exception executing command 'permissions' in plugin bPermissions v2.10.9 17.01 10:38:02 [Server] WARN Unexpected exception while parsing console command "permissions convert"
@rymate1234
Thanks. I've done some more investigating, and it looks like non-standard world names are converting OK. Not sure if the problem I was seeing was to do with multiple worlds, but oh well.
The bigger issue is the fact that new users have to be added by their UUID - is there no way for the plugin to convert this?
EDIT: Just to clarify, I had to download the users.yml locally, and then do the conversion on a simple 3 world server (Overworld, Nether and End). Still didn't want to work on the multi-world server.
@ateam55
I'll take a look at it later - the conversion should work though
Just tried the new 2.10.9 build on the server I help on, /permissions convert doesn't seem to want to do anything. Newest build of Spigot 1.8, using the Multiverse Dev builds for multi-world support. It is worth noting that non-standard world names are being used (i.e. 'world' is not present, and is instead called 'hub')
Then tried it on a local server with only a world named 'world' active, and the conversion happened as planned with the expected output to the console.
Could someone else with a multi-world server see if the conversion is working for them?
EDIT: It also looks like new users are still being added to the users.yml using their usernames - Are there any plans to add an on-the-go UUID conversion, or will we have to lookup the UUID each time we want to add a new member?
@sakura_blades
EDIT: quick testing suggests it works! :D
Does : v2.10.9 work for 1.7.10 server?
Please tell me it does.. And please tell me there aren't any "hiccups" on server start-up...
@TheOriginalSparc
CraftBukkit: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/commits
Spigot: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/commits
@I9hdkill
I do apologize, I haven't located any such 'changelogs' :(
Tested and working now w/ 2.10.8!
It was indeed my error, but I was right in concluding it wasn't the plugin (bPerms), but that the node was no longer bukkit.command.X
If you happen to have a link for the changes/changelog that would be greatly appreciated.
@TheOriginalSparc
This stuff with bukkit.command is a spigot 1.8 !feature!, please read the changelog. you cannot longer use bukkit permissions. All (bukkit, like op etc.) commands are now using the minecraft.command by default. You need to add minecraft.command.op and so on. 2.10.4 is working fine, as I said:)
@I9hdkill
Nope, and it's not working with 2.10.4 either. I implicitly created a brand new directory for a brand new server and explicitly gave the default group (before I ever even joined a fresh server to test it) the permission bukkit.command.op (also tried the individual ones [both] bukkit.command.op.give & bukkit.command.op.take) and I could *not* op myself (as I should have been able to do with my config/test).
Doing this with 2.10.8 works just fine for CB 1.6.4, 1.7.2, and 1.7.9 though, just not CB 1.8 (newest build confirmed when running /ver)
Of course I would not really want to assign bukkit.command.op to the 'default' user group, but that test (to me anyway) demonstrates that I cannot use bPerms to control bukkit.commands (whether I want to make certain OP commands available to non ops, or whether I wanted to block (^) certain commands from OP's)...
I actually went ahead and tested *every* bPerms version on all of page one, none of them allowed me to op myself even though I had the users and groups file set correctly (and I know that because as I stated it works just fine on 164, 172, and 179)...
Puzzling to me, very puzzling - but again, I don't think it has anything really to do with bPerms as much as I have a feeling that the newest build of CB has (somehow) something to do with it (again, since it works with all the other versions of CB that I have archived)...
I'm even wondering if the (default) bukkit command node hasn't been changed in said build, and I wonder if it's not even bukkit.command.op.<x> any longer... ... Surely something like /that/ would explain why it's not working, and only not working for 1.8
Old developer here again
I'm removing the 3.0 build as a download due to continued user reports of it not working for them. My recommendation is to use various builds of 2.10.x and see if you have any luck with them on 1.8.
For people who tried to use it - it's a completely different version of bPermissions to the one that was on this bukkitdev page. It was originally going to be a seperate project to this version of bPermissions due to the fact that codename_B changed everything in it. Hopefully this doesn't happen again :)
@TheOriginalSparc
Sure, that works. I doesn't with 2.10.8? Anyways, as I said, 2.10.4 is the latest version that is not bugging out:)
@I9hdkill
Does it work with the bukkit.command.nodes ?
IE: say I /did/ want to add bukkit.command.op.give under default, (again not that I would but) does it work? If it does I may switch down to that version. If not I will just stick with 2.10.8
BTW Yes I too am staying up to date with their newest CB 1.8 build I updated mine as of today JAN.14.15 (and when I run ver that's confirmed by telling me "You are running the latest version") :D
v2.10.4 is a pretty decent build. Using it since months on all our servers. It's working with latest spigot 1.8 from today (14.1.15) http://dev.bukkit.org/bukkit-plugins/bpermissions/files/141-v2-10-4/
@TheOriginalSparc
@TheCODManCan
@Pixiyo
@TheOriginalSparc
and I would guess this has more to do with the latest snapshot of 1.8 rather than bPermissions itself... (since it works just fine even with bukkit.command.op for 1.6.4 1.7.2 and 1.7.9)
A+ ★★★★★ (Five Star) perfect 10/10 - on bPermissions (SO much better than PEX <.<)!!!!!!!!!!
@TheOriginalSparc
I take that back, in part:
In testing, it still would seem v3.0 doesn't work whatsoever. Although similar to TheCODManCan I am able to make v2.10.8 work with my (currently) latest (most recent) build of CB 1.8. Only catch, and the only reason I thought it was not working is, it does NOT work for adding permissions to bukkit.command.<anything>
Initially this is all I was attempting to do in my 'tests', which led me to think it was not working at all. Specifically I tested bukkit.command.op and bukkit.command.time. Then I decided to add a color text plugin that required perms. Needless to say, it seems v2.10.8 works for CB 1.8, just not for bukkit.command.<anything> (only personally tested bukkit.command.op and bukkit.command.op.give and bukkit.command.op.take and bukkit.command.time), but will work for plugins that require permissions... I installed the color text plugin and added pluginname.* and presto, it worked (doesn't work w/o permission so I know bPermission is working on that front)...
Funny though because the bukkit.command.<anything> worked in 1.6.4 and 1.7.2 and 1.7.9 (used to bukkit.command.op just for testing and it worked across all 3 of those versions)... Not that I'd want to actually give a low ranking member the ability to op themselves, but it would still come in handy to be able to add or remove bukkit commands through bPermissions for 1.8!
To chime in:
It would seem v2.10.8 works for CB 1.6.4, 1.7.2, and 1.7.9
but neither v2.10.8 OR v3.0 work for CB 1.8
(Java v1.7.0_72 [7u72])