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 Aug 12, 2013When one of my admins (mightymcc) trys to log in, it gives this error and lags so bad people loose connection:
2013-08-12 13:12:21 [SEVERE] Could not pass event PlayerJoinEvent to bPermissions v2.10.2
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:35)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at net.minecraft.server.v1_6_R2.PlayerList.moveToWorld(PlayerList.java:475)
at org.bukkit.craftbukkit.v1_6_R2.entity.CraftPlayer.teleport(CraftPlayer.java:396)
at org.bukkit.craftbukkit.v1_6_R2.entity.CraftEntity.teleport(CraftEntity.java:194)
at me.zeeveener.ZPort.CommandHandlers.ZPTpCmd.tp(ZPTpCmd.java:169)
at me.zeeveener.ZPort.CommandHandlers.ZPTpCmd.<init>(ZPTpCmd.java:43)
at me.zeeveener.ZPort.CommandHandlers.Delegator.onCommand(Delegator.java:50)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.dispatchCommand(CraftServer.java:523)
at net.minecraft.server.v1_6_R2.PlayerConnection.handleCommand(PlayerConnection.java:964)
at net.minecraft.server.v1_6_R2.PlayerConnection.chat(PlayerConnection.java:882)
at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:839)
at net.minecraft.server.v1_6_R2.Packet3Chat.handle(SourceFile:49)
at net.minecraft.server.v1_6_R2.NetworkManager.b(NetworkManager.java:296)
at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:118)
at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37)
at net.minecraft.server.v1_6_R2.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:590)
at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226)
at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486)
at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419)
at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
Caused by: java.lang.StackOverflowError
at java.util.WeakHashMap.hash(WeakHashMap.java:364)
at java.util.WeakHashMap.put(WeakHashMap.java:516)
at org.bukkit.plugin.SimplePluginManager.subscribeToPermission(SimplePluginManager.java:628)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:187)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
at org.bukkit.permissions.PermissibleBase.calculateChildPermissions(PermissibleBase.java:190)
... and keeps going for about a page then repeats.
Please help! it started in 1.6 but happens in any version. it also seems unique to my server, could t be some kind of typo in my config or something?
-
View User Profile
-
Send Message
Posted Aug 12, 2013So, to recap, stay on 2.10.4..
-
View User Profile
-
Send Message
Posted Aug 12, 2013@10jared105
I didn't mean literally in the default root folder. I meant one user.yml file per world folder inside the root folder. Check those and see if people show different ranks in different worlds that way. If you have the same names in different user.yml files, then that's what's going on. And to answer your new question, it all has to do with your mirrors.yml file. As an example, look at what I have written in mine. This points all my other worlds to listen to the groups.yml and users.yml files inside the "world" folder. So when I rank players, I do not even have to specify which world I'm talking about. (1) It already knows because of this configuration and (2) it knows that that one world sets the permissions/standards for all worlds:
world_nether: world
world_the_end: world
world_creative: world
battleground: world
creative: world
-
View User Profile
-
Send Message
Posted Aug 12, 2013I'll just say this again; I still have groups.yml and users.yml but any new ranks or perms added don't save after a server restart. Any time a new user joins or gains a new rank it will trigger a "write-error" in console which I've posted previously. So while it isn't clearing out my files...its not functioning at an acceptable level. (My submitted ticket included pastebins of these errors)
-
View User Profile
-
Send Message
Posted Aug 12, 2013@xanderortiz
Sorry it took me so long to reply, lol.. I checked my users.yml in every other world and even the global one in the bPermissions folder were blank so I don't think that they are being ranked up in a different world. But I think when the /promote and /demote commands are used they are trying to affect something else but it is not actually doing it. You also said I had more than one users.yml in the default root folder but all I have inside it are: config.yml, custom_nodes.yml, groups.yml, mirrors.yml, tracks.yml, users.yml, and then all my world folders. And then how do I make it so that it only has to affect one world file for all world permissions(world)?
-
View User Profile
-
Send Message
Posted Aug 12, 2013@WauloK
I used 1.5.2 version of bPermissions when there was no issues, after going into 1.6.2 minecraft these wipings started :E
-
View User Profile
-
Send Message
Posted Aug 12, 2013@WauloK
No idea why people are installing the new one which is known to delete data...
Just a moment. They've released 2.11.5 two days ago, with the hopes that it would solve the wiping. Because most of us want to keep our plugins up-to-date we try those new builds.
The old oversion works fine for me.
Which is? (i'm still @ 2.10.4)
-
View User Profile
-
Send Message
Posted Aug 11, 2013The old version works fine for me. No idea why people are installing the new one which is known to delete data...
-
View User Profile
-
Send Message
Posted Aug 11, 2013@xbaxdark
2.11.5 is still under approval but it is already confirmed that it will 'kill' your groups.yml and users.yml. I'm not sure if they will pull the update because of that, only one person can tell (rymate1234) ;-)
-
View User Profile
-
Send Message
Posted Aug 11, 2013How is there not a decent update yet? The bugs have been acknowledged time and time again, last release was nearly a month ago...
-
View User Profile
-
Send Message
Posted Aug 11, 2013Yeah.... umm 2.10.5 running on the Beta Build...Just wiped my permissions.
No problem though, I had a backup.
Just letting you peeps know.
-
View User Profile
-
Send Message
Posted Aug 10, 2013@ThisUsernameIsMine
We're seeing the same thing. 2.11.5 made the problem FAR worse, in addition to the groups file getting deleted, the users file is now also getting deleted which did not used to happen. Also it's happening far more often now, almost after every /bp reload. This is a major step backward.
-
View User Profile
-
Send Message
Posted Aug 10, 2013@rymate1234
2.10.4 ;-)
@rymate1234
Best of luck :)
-
View User Profile
-
Send Message
Posted Aug 10, 2013@ThisUsernameIsMine
Also looking at the errors I think I have a potential fix for the problem.....
-
View User Profile
-
Send Message
Posted Aug 10, 2013@ThisUsernameIsMine
It is not
AUTO-SORT because i have it FALSE and i still get wiping.
Also
Moderators have
- worldguard.region.wand
etc other worldguard related , worldedit related stuff. Still it says "You do not have permission to use this command" or something when they are trying to use the wand or such...
Perm nodes are fine....but in the other hand, VIP+ still is able to do /lc c to go into creative and /lc s to get out... so they kind of work....
-
View User Profile
-
Send Message
Posted Aug 10, 2013@ThisUsernameIsMine
wait, does 2.10.3 work fine?
-
View User Profile
-
Send Message
Posted Aug 10, 2013Interesting... 2.11.5 just wiped both groups.yml and users.yml of the standard worlds (world, world_nether and world_the_end), leaving the remaining worlds (guestland, mineworld and creative) untouched.
edit: well, this goes beyond my understanding... After restoring my most recent backup and leaving auto-sort on true, all world groups.yml and users.yml were wiped (users.yml completely empty, groups.yml with only default:default)....
edit-edit: disabling auto-sort seems to have stopped the wiping.
Besides the wiping /perm cleanup also shows me some errors in the console:
- java.lang.NullPointerException: Nodes must be provided (which nodes? all groups.yml / users.yml parse without errors)
- java.util.ConcurrentModificationException
Whole error: http://dev.bukkit.org/paste/8332/
- I sometimes ask myself the question what makes me stick with bPermissions for so long. I know developing and maintaining these type of plugins isn't a simple task, but bPermissions used to be good and simple, until updates 2.10.4 > came along. I'm no programmer myself, but (with all due respect) i'm starting to feel that bPermissions is becoming one of the most frustrating permission mods, and i pity that.. :-(
-
View User Profile
-
Send Message
Posted Aug 10, 2013I'm getting entirely different complications. My server crashes occasionally, and when it does it deletes all of the permissions for a certain group. It doesn't just wipe the entire file.
-
View User Profile
-
Send Message
Posted Aug 10, 2013@nixbeast
I am perfectly happy with bpermissions, ive never had issues before. 1.6.* fucked things up hard time thats just a fact..
But like i said, auto-save is true, which is why i wonder the permissions being reseted.
People buy rank, works for a couple of hours and then after restart their rank has returned back to previous one. Really strange thing if it saves the damn change..
If i do /permissions reload and then /permissions save, it wont do it. It is issue with bpermissions thats all. The "auto-save" saves the "new" permissions into the old one..
-
View User Profile
-
Send Message
Posted Aug 10, 2013@semirotta
Have you read anything about this plugin on this page?
Here, everything is described, you need to read.
And then if you do not understand something, ask clear questions.
PS
There's a lot of information, and the plugin is quite handy if you can deal with it.