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
Yes it is. Did I need some kind of other plugin added...? I wanna use this plugin but that's the only thing not working...
Using CraftBukkit 1149
@Unsetdev
Thanks for the kind words :)
@IAreKyleW00t
Is override-player: true enabled?
Thanks for this awesome plugin :D I installed it using /p helpme, it worked great! Only some plugins didn't pass their permissions to bpermissions. (This has something to do with their plugin.yml afaik, it's their fault)
The only error I found was when I added the color %PURPLE% instead of %LIGHT_PRUPLE% in the name prefix :P
Another great thing is the short "/p reload" command, instead of the long "/permissions -reload all"
Never installed a permissions plugin with so much ease :)
@codename_B
By 'won't work' it doesn't give me all permissions like it should. http://pastebin.com/v0jPGDhK sorry, I would have posted on PasteBin but I was on my phone. :P
Not using spout either.. Only bPermissions, bChat and iConomy 6 on a test server.
@IAreKyleW00t
Define "won't work"
It will only give you all permissions if you are in that group. Why not pastebin your world.yml file for me? Are you using spout?
Thanks for the reply. But why is the -'*' node not working? I got override-player in true but it still wont work. Did I miss something :(?
@wachnlurn
What other plugins? Have you tried removing all other plugins and running and seeing if you can replicate that bug?
i have spout.old in my plugins folder so it is not loaded
@wachnlurn
So you don't have the spout.jar in your plugins folder?
@codename_B
Ahhhhh that's why I got it wrong. I tried out prefix.0.newbie+GREEN and that didn't work. [Unless that works too and my world.yml is just messed up (which I bet it is.)] Anyway I try that out next time.
i dont even have spout installed :(
@thejoe4949
You mean including in said prefix the appropriate chat plugin's color codes or the ASCII color code via the simolean symbol?
Yeah - that'd be adding the color code that's appropriate to the prefix/suffix. EXAMPLE for bChat: prefix.0.+GREENnewbie
@codename_B
A variation of what IAreKyleW00t asked, is there a way so that you can change a whole groups' prefix/suffix's color? I mean a WHOLE group and not only 1 person. :)
@IAreKyleW00t
Give them a special custom group?
Per-player permission support is being added.
@wachnlurn
Don't use spout and 1.8
Is there anyway I can make it so a specific person has a different colored name using a suffix? I mean ONLY 1 person, not a whole group.
Sorry but I can't find it or figure it out. >.>
EDIT: Also, the '*' commands don't work. Keeps telling me I don't have permissions with override-player: true
Sorry, ignore what I said! I had an old Spout :P
im getting this when a new player joins the server info part should be normal the rest does not seem normal :D cb1137
Im getting a list of errors anny idea whats wrong? server is running 1.8'
de.bananaco.permissions.PermissionBridge.internalGetGroups(PermissionBridge.java:78) at de.bananaco.permissions.PermissionBridge.getGroup(PermissionBridge.java:84) at com.earth2me.essentials.Permissions2Handler.getGroup(Permissions2Handler.java:20) at com.earth2me.essentials.Permissions2Handler.getPrefix(Permissions2Handler.java:41) at com.earth2me.essentials.User.getNick(User.java:251) at com.earth2me.essentials.EssentialsPlayerListener.onPlayerTeleport(EssentialsPlayerListener.java:355) at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:300) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:385) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:353) at net.minecraft.server.Packet10Flying.a(SourceFile:126) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:91) at net.minecraft.server.NetworkListenThread.a(SourceFile:108) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
15:14:27 [SEVERE] Could not pass event PLAYER_TELEPORT to Essentials
java.lang.NullPointerException at de.bananaco.permissions.PermissionBridge.internalGetGroups(PermissionBridge.java:78) at de.bananaco.permissions.PermissionBridge.getGroup(PermissionBridge.java:84) at com.earth2me.essentials.Permissions2Handler.getGroup(Permissions2Handler.java:20) at com.earth2me.essentials.Permissions2Handler.getPrefix(Permissions2Handler.java:41) at com.earth2me.essentials.User.getNick(User.java:251) at com.earth2me.essentials.EssentialsPlayerListener.onPlayerTeleport(EssentialsPlayerListener.java:355) at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:300) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:385) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:353) at net.minecraft.server.Packet10Flying.a(SourceFile:126) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:91) at net.minecraft.server.NetworkListenThread.a(SourceFile:108) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
15:14:28 [SEVERE] Could not pass event PLAYER_TELEPORT to Essentials
java.lang.NullPointerException at de.bananaco.permissions.PermissionBridge.internalGetGroups(PermissionBridge.java:78) at de.bananaco.permissions.PermissionBridge.getGroup(PermissionBridge.java:84) at com.earth2me.essentials.Permissions2Handler.getGroup(Permissions2Handler.java:20) at com.earth2me.essentials.Permissions2Handler.getPrefix(Permissions2Handler.java:41) at com.earth2me.essentials.User.getNick(User.java:251) at com.earth2me.essentials.EssentialsPlayerListener.onPlayerTeleport(EssentialsPlayerListener.java:355) at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:300) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:385) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:353) at net.minecraft.server.Packet10Flying.a(SourceFile:126) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:91) at net.minecraft.server.NetworkListenThread.a(SourceFile:108) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
15:14:28 [INFO] Da_Cookie_Raider [/81.96.59.95:54838] logged in with entity id 4246 at ([FactionAction] -2119.699999988079, 102.76320007324239, -27.425000011920936) 15:14:28 [SEVERE] java.lang.NullPointerException 15:14:28 [SEVERE] at de.bananaco.permissions.PermissionBridge.internalGetGroups(PermissionBridge.java:78) 15:14:28 [SEVERE] at de.bananaco.permissions.PermissionBridge.inGroup(PermissionBridge.java:95) 15:14:28 [SEVERE] at de.bananaco.permissions.PermissionBridge.inGroup(PermissionBridge.java:110) 15:14:28 [SEVERE] at com.sk89q.bukkit.migration.NijiPermissionsResolver.inGroup(NijiPermissionsResolver.java:77) 15:14:28 [SEVERE] at com.sk89q.bukkit.migration.PermissionsResolverManager.inGroup(PermissionsResolverManager.java:106) 15:14:28 [SEVERE] at com.sk89q.worldguard.bukkit.WorldGuardPlugin.inGroup(WorldGuardPlugin.java:250) 15:14:28 [SEVERE] at com.sk89q.worldguard.bukkit.WorldGuardPlayerListener.onPlayerJoin(WorldGuardPlayerListener.java:168) 15:14:28 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:244) 15:14:28 [SEVERE] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) 15:14:28 [SEVERE] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) 15:14:28 [SEVERE] at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:126) 15:14:28 [SEVERE] at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:116) 15:14:28 [SEVERE] at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:34) 15:14:28 [SEVERE] at net.minecraft.server.NetworkListenThread.a(SourceFile:94) 15:14:28 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464) 15:14:28 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) 15:14:28 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 15:14:28 [SEVERE] java.lang.NullPointerException 15:14:28 [SEVERE] at de.bananaco.permissions.PermissionBridge.internalGetGroups(PermissionBridge.java:78) 15:14:28 [SEVERE] at de.bananaco.permissions.PermissionBridge.inGroup(PermissionBridge.java:95) 15:14:28 [SEVERE] at de.bananaco.permissions.PermissionBridge.inGroup(PermissionBridge.java:110) 15:14:28 [SEVERE] at com.sk89q.bukkit.migration.NijiPermissionsResolver.inGroup(NijiPermissionsResolver.java:77) 15:14:28 [SEVERE] at com.sk89q.bukkit.migration.PermissionsResolverManager.inGroup(PermissionsResolverManager.java:106) 15:14:28 [SEVERE] at com.sk89q.worldguard.bukkit.WorldGuardPlugin.inGroup(WorldGuardPlugin.java:250) 15:14:28 [SEVERE] at com.sk89q.worldguard.bukkit.WorldGuardPlayerListener.onPlayerJoin(WorldGuardPlayerListener.java:173) 15:14:28 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:244) 15:14:28 [SEVERE] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) 15:14:28 [SEVERE] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) 15:14:28 [SEVERE] at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:126) 15:14:28 [SEVERE] at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:116) 15:14:28 [SEVERE] at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:34) 15:14:28 [SEVERE] at net.minecraft.server.NetworkListenThread.a(SourceFile:94) 15:14:28 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464) 15:14:28 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) 15:14:28 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 15:14:28 [SEVERE] Could not pass event PLAYER_JOIN to Essentials
java.lang.NullPointerException at de.bananaco.permissions.PermissionBridge.internalGetGroups(PermissionBridge.java:78) at de.bananaco.permissions.PermissionBridge.getGroup(PermissionBridge.java:84) at com.earth2me.essentials.Permissions2Handler.getGroup(Permissions2Handler.java:20) at com.earth2me.essentials.Permissions2Handler.getPrefix(Permissions2Handler.java:41) at com.earth2me.essentials.User.getNick(User.java:251) at com.earth2me.essentials.EssentialsPlayerListener.onPlayerJoin(EssentialsPlayerListener.java:265) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:244) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:126) at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:116) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:34) at net.minecraft.server.NetworkListenThread.a(SourceFile:94) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
15:14:28 [INFO] Wrong location! net.minecraft.server.EntityChicken@1099 15:14:28 [INFO] -2192.0625,-78.4375(-138,-5) vs -134,-3 15:14:28 [SEVERE] Could not pass event PLAYER_TELEPORT to Essentials
java.lang.NullPointerException at de.bananaco.permissions.PermissionBridge.internalGetGroups(PermissionBridge.java:78) at de.bananaco.permissions.PermissionBridge.getGroup(PermissionBridge.java:84) at com.earth2me.essentials.Permissions2Handler.getGroup(Permissions2Handler.java:20) at com.earth2me.essentials.Permissions2Handler.getPrefix(Permissions2Handler.java:41) at com.earth2me.essentials.User.getNick(User.java:251) at com.earth2me.essentials.EssentialsPlayerListener.onPlayerTeleport(EssentialsPlayerListener.java:355) at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:300) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:385) at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:117) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:34) at net.minecraft.server.NetworkListenThread.a(SourceFile:94) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
15:14:28 [SEVERE] Could not pass event PLAYER_TELEPORT to Essentials
java.lang.NullPointerException at de.bananaco.permissions.PermissionBridge.internalGetGroups(PermissionBridge.java:78) at de.bananaco.permissions.PermissionBridge.getGroup(PermissionBridge.java:84) at com.earth2me.essentials.Permissions2Handler.getGroup(Permissions2Handler.java:20) at com.earth2me.essentials.Permissions2Handler.getPrefix(Permissions2Handler.java:41) at com.earth2me.essentials.User.getNick(User.java:251) at com.earth2me.essentials.EssentialsPlayerListener.onPlayerTeleport(EssentialsPlayerListener.java:355) at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:300) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:385) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:353) at net.minecraft.server.Packet10Flying.a(SourceFile:126) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:91) at net.minecraft.server.Ne
any way to get timerank to work with bpermissions? i get this error when i enable it and someone logs on