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.
Hello, hoping to get help with Bedrock support via Geyser. Users groups will update once but then not change after that despite being different in the file. It's very odd, it seems it updates their groups but doesn't update it to any other plugin or the server.
Help is appreciated if someone's out there!
i don't have the option to allow offline mode (allow-offline-mode)
please answer
Im using bpermission 2.12.3 + coloredgroups2.1.0 + vault1.7.2
On my bukkit server 1.13.2
Im having some problem, i cant give permissions to any group.
This is how it looks like before i do it:
default: visitor
groups:
owner:
permissions: []
groups:
- admin
meta:
priority: '700'
builder:
permissions: []
groups:
- support
meta:
priority: '400'
admin:
permissions: []
groups:
- developer
meta:
priority: '600'
developer:
permissions: []
groups:
- builder
meta:
priority: '500'
visitor:
permissions: []
groups: []
meta:
priority: '100'
support:
permissions: []
groups:
- player
meta:
priority: '300'
player:
permissions: []
groups:
- visitor
meta:
priority: '200'
And then i add something to visitor(the default rank) like its in the vid shown
visitor:
permissions:
- ^bukkit.command.plugins
- minecraft.command.banlist
groups: []
meta:
priority: '100'
After i Save the file and reload/restart the server it will delete the added stuff. I cant figure out what to do, im dying :I everything is working except the permission stuff
Developing a new plugin. Wanted all permissions granted by default with the option to deny all permissions via permissions plugin and then grant specific permissions. This is to prevent the addition of permissions to the plugin from being a breaking change with existing server configs.
I've gotten this to work with other permissions plugins quite easily. Simply by adding a deny permission for the "plugin.*" node for my plugin to the global permissions. This doesn't work with bPermissions. Even though "plugin.*" is an explicitly defined permission node in the plugin.yml file with explicitly defined children. Even with a "^plugin.*" permission set in "plugins/bPermissions/global/groups > default" all permissions are still granted to the default group in all worlds.
How do I set a negative permission to override a "default: true" wildcard permission node? What changes would I have to make to my plugin to make this work?
Hi, so everytime I try setting up the files, all of my inputs gets deleted when I load up my world. I am using Bukkit 1.14.4 and I am editing the file through ApexHosting.
In reply to junhoyims:
I'm literally doing the same thing but in 1.15.2 and it's frustrating, maybe is a release bug.
In reply to Reverse_Flash22:
I am having this same problem. Anyone figure it out yet? I was trying to follow the video, but after uploading my config files it just reset on me.
Hello all,
I am trying to give permissions to users, but it does not work.
https://pastebin.com/SgZpSrRC
what is the error?
xp, you don't need to repeat same permissions in every group. Use inheriting option by adding lower group to "groups" field. Make sure you have all groups listed in tracks.yml. I found you have set "default: member" but your lowest group is actually "default". Change that to "default: default" and try again. Also inheriting groups go "groups:" under permissions list. Look this sample I posted in pastebin
In reply to oLDfART99687:
Still doesn't work :/ It also keeps resetting everything new I do. Ex. the prefixes, permissions (multiverse.portal.access.*) but not other permissions, and user groups I try to add. I have no clue why this is. I am saving everything correctly and I am sure it doesn't have to do with the server itself.
In reply to oLDfART99687:
It seems to reset the permissions I add. Ex. multiverse.portal.access.* and prefixes like [ADMIN]. I am making sure to save everything correctly and did this about 10 times before giving up. It also resets user groups I try to add.
https://sourceb.in/c24a190ac6
In reply to xp10d3:
In bpermissions (root) folder check that groups.yml only have entry default: default. Next check config.yml and set use-global-files: true. Next check tracks.yml and it should only say default: - default. Now you need to make sure you have two files in global folder: groups.yml and users.yml. These are only files you need to manage for all permissions in server unless you left config value to global files to false. Copy your groups.yml file (one with all your permissions) to global folder. Found error in your file: change line 1 to default: default. Please note, users with default group will not be saved to users.yml. That change was done by author some time ago to reduce size of the users.yml file. Good luck :)
In reply to oLDfART99687:
Okay; thanks for the help!
For some reason my perms to access Multiverse Portals doesn't work. I am using the perm multiverse.access.* and just the portals themselves (multiverse.access.<portal_name>) for Member, then set my group to that and deoped myself but it doesn't seem to work. I have no clue what I am doing wrong.
Groups.yml:
default: member
groups:
default:
permissions:
- group.default
- shop.epay
- shop.eshop
- shop.gui
- master.epay
- multiverse.access.*
- multiverse.access.New_Corelia
- multiverse.access.Spawn
- multiverse.access.Spawn_the_end
- multiverse.access.Survival
- multiverse.access.world
- factions.ally
- factions.auto-claim
- factions.auto-map
- factions.boost
- factions.bypass
- factions.claim
- factions.create
- factions.del-warp
- factions.info
- factions.list
- factions.map
- factions.player
- factions.radius-claim
- factions.reload
- factions.set-home
- factions.set-warp
- factions.survival
- factions.top
- factions.top-update
- factions.unclaim
- factions.unclaim-all
- factions.use-home
- factions.use-warp
groups: []
meta:
prefix: '[MEMBER]&9 user'
member:
permissions:
- group.default
- shop.epay
- shop.eshop
- shop.gui
- master.epay
- multiverse.access.*
- multiverse.access.New_Corelia
- multiverse.access.Spawn
- multiverse.access.Spawn_the_end
- multiverse.access.Survival
- multiverse.access.world
- factions.ally
- factions.auto-claim
- factions.auto-map
- factions.boost
- factions.bypass
- factions.claim
- factions.create
- factions.del-warp
- factions.info
- factions.list
- factions.map
- factions.player
- factions.radius-claim
- factions.reload
- factions.set-home
- factions.set-warp
- factions.survival
- factions.top
- factions.top-update
- factions.unclaim
- factions.unclaim-all
- factions.use-home
- factions.use-warp
moderator:
permissions:
- group.moderator
- minecraft.command.kick
- minecraft.command.ban
- minecraft.command.gamemode
- shop.epay
- shop.eshop
- shop.gui
- multiverse.core.modify
- multiverse.core.modify.*
- multiverse.core.modify.add
- multiverse.core.modify.clear
- multiverse.core.modify.remove
- multiverse.core.modify.set
- multiverse.portal.modify
- master.epay
- multiverse.access.*
- multiverse.access.New_Corelia
- multiverse.access.Spawn
- multiverse.access.Spawn_the_end
- multiverse.access.Survival
- multiverse.access.world
- factions.ally
- factions.auto-claim
- factions.auto-map
- factions.boost
- factions.bypass
- factions.claim
- factions.create
- factions.del-warp
- factions.info
- factions.list
- factions.map
- factions.player
- factions.radius-claim
- factions.reload
- factions.set-home
- factions.set-warp
- factions.survival
- factions.top
- factions.top-update
- factions.unclaim
- factions.unclaim-all
- factions.use-home
- factions.use-warp
groups:
- default
meta:
prefix: '&7[MODERATOR]'
admin:
permissions:
- 9eaf2e85-9784-48b9-bdb5-4593de0db4d0
- bPermissions.*
- bukkit.broadcast
- bukkit.broadcast.admin
- bukkit.command
- bukkit.command.help
- bukkit.command.plugins
- bukkit.command.reload
- bukkit.command.version
- chatex.allowchat
- craftbukkit
- discordsrv.admin
- discordsrv.bcast
- discordsrv.chat
- discordsrv.debug
- discordsrv.help
- discordsrv.link
- discordsrv.linked
- discordsrv.linked.others
- discordsrv.player
- discordsrv.reload
- discordsrv.setpicture
- discordsrv.silentjoin
- discordsrv.silentquit
- discordsrv.unlink
- discordsrv.unlink.others
- discordsrv.updatenotification
- factions.admin
- factions.ally
- factions.auto-claim
- factions.auto-map
- factions.boost
- factions.bypass
- factions.claim
- factions.create
- factions.del-warp
- factions.info
- factions.list
- factions.map
- factions.player
- factions.radius-claim
- factions.reload
- factions.set-home
- factions.set-warp
- factions.survival
- factions.top
- factions.top-update
- factions.unclaim
- factions.unclaim-all
- factions.use-home
- factions.use-warp
- group.admin
- master.economyadd
- master.epay
- minecraft
- minecraft.admin.command_feedback
- minecraft.command
- minecraft.command.defaultgamemode
- minecraft.command.effect
- minecraft.command.gamemode
- minecraft.command.give
- minecraft.command.help
- minecraft.command.kill
- minecraft.command.list
- minecraft.command.me
- minecraft.command.msg
- minecraft.command.say
- minecraft.command.seed
- minecraft.command.selector
- minecraft.command.stop
- minecraft.command.teleport
- minecraft.command.toggledownfall
- minecraft.command.trigger
- minecraft.command.xp
- multiverse.*
- multiverse.access.*
- multiverse.access.New_Corelia
- multiverse.access.Spawn
- multiverse.access.Spawn_the_end
- multiverse.access.Survival
- multiverse.access.world
- multiverse.core.*
- multiverse.core.anchor.*
- multiverse.core.anchor.create
- multiverse.core.anchor.delete
- multiverse.core.anchor.list
- multiverse.core.clone
- multiverse.core.config
- multiverse.core.confirm
- multiverse.core.coord
- multiverse.core.create
- multiverse.core.debug
- multiverse.core.delete
- multiverse.core.gamerule.*
- multiverse.core.gamerule.list
- multiverse.core.gamerule.set
- multiverse.core.generator
- multiverse.core.import
- multiverse.core.info
- multiverse.core.list.*
- multiverse.core.list.environments
- multiverse.core.list.who
- multiverse.core.list.worlds
- multiverse.core.load
- multiverse.core.purge
- multiverse.core.regen
- multiverse.core.reload
- multiverse.core.remove
- multiverse.core.script
- multiverse.core.silent
- multiverse.core.spawn.*
- multiverse.core.spawn.other
- multiverse.core.spawn.self
- multiverse.core.spawn.set
- multiverse.core.unload
- multiverse.core.version
- multiverse.exempt.*
- multiverse.exempt.New_Corelia
- multiverse.exempt.Spawn
- multiverse.exempt.Spawn_the_end
- multiverse.exempt.Survival
- multiverse.exempt.world
- multiverse.help
- multiverse.portal.*
- multiverse.portal.access.*
- multiverse.portal.access.To_spawn_corelia
- multiverse.portal.access.to_faction_spawn
- multiverse.portal.access.to_new_corelia_spawn
- multiverse.portal.access.to_spawn_factions
- multiverse.portal.access.to_spawn_new_corelia
- multiverse.portal.config
- multiverse.portal.create
- multiverse.portal.debug
- multiverse.portal.exempt.*
- multiverse.portal.exempt.To_spawn_corelia
- multiverse.portal.exempt.to_faction_spawn
- multiverse.portal.exempt.to_new_corelia_spawn
- multiverse.portal.exempt.to_spawn_factions
- multiverse.portal.exempt.to_spawn_new_corelia
- multiverse.portal.fill.*
- multiverse.portal.fill.To_spawn_corelia
- multiverse.portal.fill.to_faction_spawn
- multiverse.portal.fill.to_new_corelia_spawn
- multiverse.portal.fill.to_spawn_factions
- multiverse.portal.fill.to_spawn_new_corelia
- multiverse.portal.givewand
- multiverse.portal.info
- multiverse.portal.list
- multiverse.portal.remove
- multiverse.portal.select
- multiverse.teleport.*
- multiverse.teleport.other.*
- multiverse.teleport.other.a
- multiverse.teleport.other.b
- multiverse.teleport.other.ca
- multiverse.teleport.other.e
- multiverse.teleport.other.p
- multiverse.teleport.other.pl
- multiverse.teleport.other.rp
- multiverse.teleport.other.w
- multiverse.teleport.self.*
- multiverse.teleport.self.a
- multiverse.teleport.self.b
- multiverse.teleport.self.ca
- multiverse.teleport.self.e
- multiverse.teleport.self.p
- multiverse.teleport.self.pl
- multiverse.teleport.self.rp
- multiverse.teleport.self.w
- mv.bypass.gamemode.*
- mv.bypass.gamemode.New_Corelia
- mv.bypass.gamemode.Spawn
- mv.bypass.gamemode.Spawn_the_end
- mv.bypass.gamemode.Survival
- mv.bypass.gamemode.world
- mv.bypass.playerlimit.*
- mv.bypass.playerlimit.New_Corelia
- mv.bypass.playerlimit.Spawn
- mv.bypass.playerlimit.Spawn_the_end
- mv.bypass.playerlimit.Survival
- mv.bypass.playerlimit.world
- shop.epay
- shop.eshop
- shop.gui
- ^9eaf2e85-9784-48b9-bdb5-4593de0db4d0
- ^group.moderator
groups:
- moderator
meta:
prefix: '&5[ADMIN]'
impulse. Try this where default is your lowest rank.
groups.yml
Okay so I type in this in the groups (global)
default: Citizen
groups:
citizen:
permissions: []
- essentials.sethome
- essentials.home
- essentials.help
- essentials.helpop
- essentials.list
- essentials.motd
- essentials.rules
- essentials.spawn
- essentials.jail.allow.help
- essentials.jail.allow.helpop
- essentials.jail.allow.rules
groups: []
meta:
priority: 100
prefix: "[Citizen] "
default: Guard
groups:
Guard:
permissions: []
- essentials.mute
- essentials.tempmute
- essentials.unmute
- essentials.gamemode
- essentials.tpohere
- essentials.tpo
- essentials.fly.safelogin
- essentials.invsee
groups: [Citizen]
meta:
priority: 200
prefix: "[Guard] "
But everytime I do anything like restart the server it just returns to this
default: default
groups:
citizen:
permissions: []
groups: []
default:
permissions: []
groups:
What should I do to fix this problem?
I have tested bPermissions in my beta 1.8.1 server and it seem's to be fine. No errors yet so far. This plugin is exactly what i needed for my server. Thank you for the plugin!
I'm on the latest build, (after all I instigated for it) and I can tell you it works as advertised with no issues. You have a script or plugin glitch. Remove all plugins except bPerms and any scripts.
Start server and make sure your groups.yml and all bPrems is working. If you make any edits restart and confirm all is still in place.
Stop the server, add the oldest unchanged plugins back and restart/stop. Check to see if anything is missing. Repeat one new item at a time until you lose your file. Whatever you added last should be the cause.
Keeps clearing the group folder everytime the server or plugin is reloaded.
They are carefully saved on multiple occasions but it still happens. I'm at my wits end here
In reply to Forge_User_69108030:
As far as I am aware, this is due to a fault within your groups.yml script. So, check that you've followed the format from the default within groups.yml.
Once that is done '/pb reload' would be an essential command, or by restarting the server. The '/reload' causes many issues.