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.
@2008 Choco:
It is bpermissions it shows so in the timings.
Also my server has 64 gigs of ram.
http://timings.aikar.co/?url=13502060
My Permissions files:
Link Removed: https://www.mediafire.com/?pi7h2uplhi8r4he
I use /bp save whenever a player is ranked up or recieves a new user permission.
Am I doing something wrong ? If so I apologize Rymate. It just lags so bad. I did a cleanup on my files 3 days ago.
Also , there are only 4 world permissions in use. The rest are mirrored.
World -Mirrors: mining - worldnether/end - spawn
tempMap- Mirrors: skywarsarenaworld
factions
dungeon- Mirrors: godofwar
@tcarey2015
That's not bPermissions. That's simply your server having little RAM. When a player joins, they generate the chunks around them at a very fast pace, this spiking your memory temporarily, and lagging your server. That lag isn't bPermissions fault. My suggestion is get more RAM for your server
Every time a new player comes on my server , we get 1-3 seconds of lag.
Whenever a player recieves a permission for an exotic pet : /bp save
Whenever a player is ranked up. /bp save
Is it better to just do a /bp save command once per 2 hours or something ?
I am sorry maybe I am just using this plugin incorrectly. /bp save lags my server for 1-5 seconds.
Please help.
@tcarey2015
For a start, saving and loading files is done in a seperate thread - this should not cause server lag on the main thread.
Secondly, files are only loaded in three instances:
Once loaded, the files are only only touched when they're saved, which happens in two instances:
Other than that, bPermissions NEVER touches the files. It doesn't read the files every time a player joins, or when calculating a players permissions if they change ranks. This is all handled in memory - with files only touch when putting the new rank on the player.
Of course, an SQL backend is likely to be faster, but are a couple of reasons why I'm reluctant to work on an SQL backend:
If you really need SQL in your permissions plugin, there are currently many permissions plugins available that do support it, which you probably could've chosen rather than a permissions plugin which has no current SQL support.
If you want to help me improve bPermissions as it currently exists though, there's a couple things you can do:
Sorry if this comment seems a bit ranty, you've honestly done very little to help resolve your issue. A single timings file does not help when debugging an issue relating to your users / groups configs. I also find it unlikely that bPermissions causes lag whenever a player logs off, as was mentioned in your first comment, as bPermissions doesn't even do anything when a player logs off.
If you used sql u probably wouldn't have as much lag rymate.
Even after cleaning my permissions files every month it still lags . Your recent update won't help me much.
I am pretty sure the reason for the lag is how you are saving things. Maybe it's also flatfile related.
@DontKillCZ
MySQL support
no, sorry
bungee mode
probably not
Good plugin, but can you add MySQL support? And... hmm bungee mode? This right good.
Someone else made a ticket about it and I also showed my timings. It's very close to the top of the list. You must be having a lot of fun wasting your time looking for a ticket that doesn't exist to make your ego bigger on dev bukkit.
@tcarey2015
Right, cause I'm the nucklehead posting to a plugin's page to complain how awful it is. Stating I opened a ticket that never got answered, but now I'm saying I removed that ticket because i just don't care anymore, but the ticket that I have that is STILL there, I resolved.
Show me your logic? I don't understand here...
Also, you claim "this lags me" what proof you have that it is bperms? Just your best guess? I don't see any timings you've posted, nothing. For all I can see here, is you're just cranky and pointing fingers at the first thing you can grasp your hands on.
Stop being a whinny little kid, swap your perms plugin already, and stop trying to deter people away from plugins that you've up and decided are "bad" simply because you want to point fingers with no proof.
And worse off, want to try to come back at someone attempting to help you resolve you "ignored ticket" (which you have claimed to have already removed/deleted) and get nasty with.
If you're not using the plugin anymore, leave the page be, unsubscribe and move on. You're posts here are no longer relevant and your initial was rude and uncalled for in the first place. You don't go around on other servers claiming yours is better do you? Don't do that with plugin pages either guy... It's rude.
Also News: I hate to break it to you buddy, but even if you create a ticket, abandon it or otherwise. There is still a record of it. Having gone back through 2 years of Tickets made for bPermissions. THAT IS the only ticket created by you.. So unless you're one of those people that lurk around on the same sites, with multiple logins... You either A: Didn't make a ticket at all and just want to assume things. -or- B: That IS the ticket you made, and because you've been pointed out to be wrong somewhere here, are upset...
So unless that ticket is magically hiding somewhere, and I highly doubt it. But feel free to prove me wrong with a link to it...
My conclusion: You're angry. It happens. Get over it, go get your other plugin and move on. With an attitude like that, it's not going to get you far in life though. And you should probably thank someone for trying to help you out, rather than turning around foaming at the mouth like you did.. Doesn't make you look cool buddy.
That's not the ticket I was talking about. I solved that issue on my own. Don't assume you know what ticket I posted that didn't get answered you dimwit.
@tcarey2015
You fail to mention your bpermissions version in your ticket, just posting an error and your server version doesn't provide all the information for someone to help you either.
From the looks of this, it's an ERROR, not "lag".
So no, changing your permissions plugin won't solve your "lag" because it isn't lag. It's an error, which means your version is wrong or something is wrong with your files.
Looking at this error, I'm going to say it's probably a file error, or a conflict within your setup or version. But what would I know? You provide so little information in your ticket to begin with, that someone who DOES NOT code or 'completely' understand errorlogs of code they cannot read themselves, couldn't begin to tell you otherwise without an educated guess.
So before you go BLAMING bpermissions for what appears to be an actual error somewhere on your part. How about you provide a little more information on your ERROR, so that your ERROR can be resolved.
It's not lag.. It's an error..
For the record, I have used bperms for years. I run a 1.8.8 server myself with bperms. I have had 0 issues, what-so-ever and there is NO lag on my server, NO errors that come up in my console, and I also use HeroChat and a slew of custom plugins otherwise.
net.milkbowl.vault.chat.plugins.Chat_bPermissions2.getPlayerSuffix(Chat_bPermissions2.java:107) - Vault
com.dthielke.herochat.StandardChannel.applyFormat(StandardChannel.java:139) - HeroChat
bPerms is trying to communicate with these, and something is going wrong.
org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) - Here is your lag... bPerms is struggling to communicate because something is wrong with your versions/setup. It's locking up your main server thread as a result.
de.bananaco.bpermissions.imp.YamlWorld.setupPlayer(YamlWorld.java:316) - This makes me think it may be a file thing specifically.
But lack of information otherwise, I cannot help you. Stop placing blame until you have all your information. Just because a plugin is having errors, doesn't mean it's the plugin's fault. It's something you've done wrong setting it up. This error proves that, and I can attest to bPerms being just fine as it's working 100% for me no issues.
@sakura_blades : I already posted tickets , they aren't being looked at. Yes switching perms would fix this issue.
@tcarey2015
I have never had any issues with bpermissions. Just because you have been having trouble within your setup does not necessarily mean that it is bperms itself. Perhaps somewhere the communication with your permissions is causing problems or perhaps you should update your version.
If you are convinced it is a bperms lag issue, perhaps the best approach would be to explain your situation, why you think it's bperms all in a ticket to the developer. Rather than posting "don't use this" comments on the page.
Ultimately that doesn't really help anything, doesn't help bperms improve if it's there issue. Doesn't help you resolve your issue, if it isn't actually bperms and is something else entirely or related otherwise.. Which if the latter is the case, switching permissions won't solve your problem.
I do not recommend this plugin to anyone. It lags whenever a player logs into my server, ranks up, or logs off.
It wasn't always like this, I think since around 1.7 it was bad. I don't think a permissions plugin should lag this bad.
I am now looking into switching to zperms, sql based.
@HydraxousHD
if you are attempting to give the bukkit nodes, apearently you must give the minecraft nodes as well, I had this issue, and after giving the groups both minecraft and bukkit nodes it worked perfectly
I have noticed for the past few months i have been getting lots of these in the server logs and the more players online the more rapidly they appear:
[Essentials] Lag Notice - Slow Permissions System (bPermissions) Response - Request took over 109.439ms!
Anyone have any ideas or suggestions as to why or what that means? I have googled it and nothing comes up. Anyone else have this problem or think they know how to fix it?
if you would like more information or for me to submit a ticket please let me know what you need.
Read this example: http://pastebin.com/Drz89EGe Which way would be the Best/Fastest to use?
Thanks
@AKlarvanto
I cannot update the bPermissions webgui, and therefore cannot fix this.
I have used this permission plugin since 2011 and have always loved it. However, since UUID came in, I have not been able to update it anymore. Funny but true, I still use bpermissions version dated back to 2013. It works on Spigot 1.8.8 with no problems and best of all, I can manage players with WebGUI. If I go to latest version, WebGUI only show UUID numbers and not actual player name. So my question to the developer is:
- What happened to WebGUI and Is WebGUI going to be available in the future with option to see real player usernames? This is very important because I don't like manual ingame commands and using WebGUI makes managing server so simple. Should there be way to pull usernames in GUI and match them with UUID in real time...?
I just spent 2 hours setting things up in notepad ++ and none of it is working the way the video shows. I entered in things character by character only using spaces in yml. Don't waste your time here, I already did. I am so aggrevated now I don't even want to run my server anymore. If I could put curse words on here I would.
Trying for ~6hours now ... Came to the conclusion that it wont work for non-OPs.
Everything worked fine while beeing OPed but take that away -> no rights.
Does this work flawless with 1.8.8 or just with 1.8/1.8.1? ( or dont even with that version? )