PermissionsBukkit
PermissionsBukkit - the Official Default Groups Plugin
Current Version: v2.3 (beta v2.4)
Find PermissionsBukkit on the forums!
It's been a long time coming, but with the accomplishment of build 1000 Bukkit has finally accomplished a built-in Permissions system (codenamed Superperms). For more info on how they work, and how to integrate them with your plugin, see the official Permissions FAQ. Keep in mind that you should rarely, if ever, have to hook this plugin directly; instead keep things in the realm of checking player.hasPermission("yourplugin.node"). The FAQ thread has more info on how to use Superperms with things like chat prefixes/suffixes.
Features:
- Storage of users and groups in plugins/PermissionsBukkit/config.yml.
- Both users and groups can be assigned individual permissions and parent groups to inherit permissions from.
- Support for global and per-world permissions.
- Reload configuration from file without reloading the plugin.
- Ability to check if a player has a specific permission node.
- Ability to dump all permissions a player has and the plugins that set them.
- Ability to print plugin, description, and default for a given permission node.
- Ability to modify the permissions of groups and users and the groups of a user in-game.
- Built-in antibuild via the "permissions.build" node (defaults to allowing anyone to build).
Downloads:
Current Beta Version:
PermissionsBukkit v2.4 beta (details)
Current Version:
PermissionsBukkit v2.3 (jar) (details)
Previous Beta Version (for older than 1.7.6):
PermissionsBukkit v2.2 beta (details)
Other Important Information:
Commands
Configuration
FAQ
Changelog:
For changelog information, known caveats, and other release notes, see the entries on the files page.
Plugin Metrics
PermissionsBukkit gathers some information about your usage via PluginMetrics. The information is available here, and you can disable metrics on your server by changing 'opt-out' to true in plugins/PluginMetrics/config.yml. You can view your own stats with the /perm about command.
PermissionsBukkit collects this information about your specific usage:
- The number of groups, users, worlds, permissions, and permission roots (first parts) in your configuration.
- Whether you use per-user permissions, per-world permissions, group inheritance, and API features.
- Whether anti-build is enabled, assigned to the default group, and has a message.
- Whether debug mode or custom permissions (permissions.yml file) are in use.
- Whether the example user "ConspiracyWizard" is in your configuration (this is not a real person).
Additionally, some information is collected by PluginMetrics by default:
- Java version
- Operating system
- Authentication mode (online/offline)
- System architecture (32/64-bit) and core count
- Game version
- Server location
@FlawlessSin
give a list of plugins you used and the build of your craftbukkit so i can repeat the problem and i will see if i can help at all.
also give the premissions config to me so i can set that up the same way as well
will PermissionsBukkit and SuperpermsBridge ever support prefixes/suffixes
Is there any support for permission values (store a variable for a user)?
Fabian
Is there a way to have a player only be able to set a chosen group? Like i want my Ops only to be able to set someone to Builder. But admin can set to all ranks exept owner.
I made a video that has a large focus on PermissionsBukkit maybe it will help you.
is there a way to make it so new users are automaticly added to a group? i added "default: true" (no quotes) to my "default" (again no quotes) group but it dosnt seam to work. also the /permissions commands are not working even from the server console.
help? when I first get Permissions, it works for awhile then when i edit more than one prefix it shuts off and doesn't work.
CB.bat:
161 recipes 17 achievements 12:21:45 [INFO] Starting minecraft server version Beta 1.8.1 12:21:45 [INFO] Loading properties 12:21:45 [INFO] Starting Minecraft server on *:25565 12:21:45 [WARNING] SERVER IS RUNNING IN OFFLINE/INSECURE MODE! 12:21:45 [WARNING] The server will make no attempt to authenticate usernames. Be ware. 12:21:45 [WARNING] While this makes the game possible to play without internet a ccess, it also opens up the ability for hackers to connect with any username the y choose. 12:21:45 [WARNING] To change this, set "online-mode" to "true" in the server.set tings file. 12:21:45 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1131 -g86b7fa8-b1337jnks (MC: 1.8.1) 12:21:46 [INFO] Preparing level "MythicCraft" 12:21:46 [INFO] Default game type: 0 12:21:46 [INFO] Preparing start region for level 0 (Seed: 1769068302186833732) 12:21:47 [INFO] Preparing spawn area: 65% 12:21:48 [INFO] Preparing start region for level 1 (Seed: 1769068302186833732) 12:21:48 [INFO] Preparing spawn area: 56% 12:21:49 [INFO] [AuthMe] Authme 2.5 enabled 12:21:49 [INFO] [BetterSleep] - v0.4.1 loaded. 12:21:49 [INFO] Loaded Essentials build 2.6.3 by: Zenexer, ementalo, Aelux, Bret tflan, KimKandor, snowleo, ceulemans, Xeology, KHobbits 12:21:49 [INFO] Essentials: Using config based permissions. Enable superperms in config. 12:21:49 [INFO] [iConomy - Celty] Enabled (118 ms) 12:21:50 [INFO] [Essentials] Payment method found (iConomy version: 6) 12:21:50 [INFO] [PorteCoulissante] plugin version 1.2.6 by Captain_Chaos enabled
12:21:50 [INFO] [Simple Prefix v1.0.1] Configuration Loaded. 12:21:50 [INFO] [Simple Prefix v1.0.1] Plugin enabled! 12:21:50 [INFO] WorldEdit 4.7 enabled. 12:21:50 [SEVERE] WorldEdit: Unable to read default configuration: config.yml 12:21:50 [INFO] WorldEdit: Using the Bukkit Permissions API. 12:21:50 [INFO] WorldGuard: Using the Bukkit Permissions API. 12:21:50 [SEVERE] WorldGuard: Unable to read default configuration: blacklist.tx t 12:21:50 [WARNING] WorldGuard blacklist does not exist. 12:21:50 [INFO] WorldGuard: (MythicCraft) Single session is enforced. 12:21:50 [INFO] WorldGuard: (MythicCraft) TNT ignition is PERMITTED. 12:21:50 [INFO] WorldGuard: (MythicCraft) Lighters are PERMITTED. 12:21:50 [INFO] WorldGuard: (MythicCraft) Lava fire is blocked. 12:21:50 [INFO] WorldGuard: (MythicCraft) Fire spread is UNRESTRICTED. 12:21:50 [INFO] WorldGuard: Loaded configuration for world 'MythicCraft" 12:21:50 [SEVERE] WorldGuard: Unable to read default configuration: blacklist.tx t 12:21:50 [WARNING] WorldGuard blacklist does not exist. 12:21:50 [INFO] WorldGuard: (MythicCraft_nether) Single session is enforced. 12:21:50 [INFO] WorldGuard: (MythicCraft_nether) TNT ignition is PERMITTED. 12:21:50 [INFO] WorldGuard: (MythicCraft_nether) Lighters are PERMITTED. 12:21:50 [INFO] WorldGuard: (MythicCraft_nether) Lava fire is blocked. 12:21:50 [INFO] WorldGuard: (MythicCraft_nether) Fire spread is UNRESTRICTED. 12:21:50 [INFO] WorldGuard: Loaded configuration for world 'MythicCraft_nether" 12:21:50 [WARNING] WorldGuard: Region file for world "MythicCraft" missing or in accessible. 12:21:50 [WARNING] WorldGuard: Region file for world "MythicCraft_nether" missin g or inaccessible. 12:21:50 [INFO] WorldGuard 5.3 enabled. 12:21:50 [INFO] BookWorm v1.8 loaded! 12:21:50 [INFO] [Citizens] NPC types loaded: blacksmith, guard, healer, quester, trader, wizard 12:21:51 [INFO] [Citizens] Permissions system found (PermissionsBukkit v1.2) 12:21:53 [INFO] [Citizens] version [1.1.2] loaded. 12:21:53 [INFO] [Citizens] Economy plugin found (iConomy v6) 12:21:53 [INFO] [mcMMO] Using Bukkit Permissions. 12:21:53 [INFO] Loading Config File... 12:21:54 [INFO] mcMMO version 1.1.16 is enabled! 12:22:16 [INFO] mcMMO is keeping usage stats an. To opt-out for whatever bizarre reason, check plugins/stats. 12:22:16 [SEVERE] Error occurred while enabling PermissionsBukkit v1.2 (Is it up to date?): while scanning a simple key; could not found expected ':' while scanning a simple key in "<reader>", line 65, column 9: Hero ^ could not found expected ':' in "<reader>", line 66, column 9: permissions: ^
at org.yaml.snakeyaml.scanner.ScannerImpl.stalePossibleSimpleKeys(Scanne rImpl.java:398) at org.yaml.snakeyaml.scanner.ScannerImpl.needMoreTokens(ScannerImpl.jav a:229) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:17 8) at org.yaml.snakeyaml.parser.ParserImpl$ParseIndentlessSequenceEntry.pro duce(ParserImpl.java:535) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.jav a:203) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:158) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12 3) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106)
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons tructor.java:121) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) at org.yaml.snakeyaml.Yaml.load(Yaml.java:423) at org.bukkit.util.config.Configuration.load(Configuration.java:89) at org.bukkit.plugin.java.JavaPlugin.getConfiguration(JavaPlugin.java:11 6) at com.platymuus.bukkit.permissions.BlockListener.<init>(BlockListener.j ava:15) at com.platymuus.bukkit.permissions.PermissionsPlugin.onEnable(Permissio nsPlugin.java:39) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:174) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader .java:957) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage r.java:280) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:171) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:154 ) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 12:22:16 [INFO] Essentials: Using PermissionsBukkit based permissions. 12:22:16 [INFO] Server permissions file permissions.yml is empty, ignoring it 12:22:16 [INFO] Done (3.001s)! For help, type "help" or "?" 12:22:16 [INFO] [Citizens] Loaded 1 NPCs. 12:22:16 [INFO] [Citizens] Loaded 0 quests.
code for bukkit perms: users: FlawlessSin: permissions: permissions.example: true groups: - Urchin groups: default: permissions: simpleprefix.Urchin: true permissions.build: false God: permissions: permissions.*: true simpleprefix.God: true simpleprefix.Demigod: False inheritance: - Demigod Citizen: permissions: permissions.build: true simpleprefix.Citizen: true simpleprefix.Urchin: False worlds: creative: coolplugin.item: true inheritance: - default Demigod: permissions: permissions.*: true simpleprefix.Demigod: true simpleprefix.Hero: False inheritance: - Hero Hero: permissions: permissions.*: true simpleprefix.Hero: true simpleprefix.Citizen: False inheritance: - Citizen messages: build: '&cYou do not have permission to build here.'
--- Output for YAML Parser: Output{ "messages": { "build": "&cYou do not have permission to build here." }, "users": { "FlawlessSin": { "groups": [ "Urchin" ], "permissions": { "permissions.example": true } } }, "groups": { "default": { "permissions": { "simpleprefix.Urchin": true, "permissions.build": false } }, "God": { "permissions": { "permissions.*": true, "simpleprefix.God": true, "simpleprefix.Demigod": false }, "inheritance": [ "Demigod" ] }, "Citizen": { "worlds": { "creative": { "coolplugin.item": true } }, "Demigod": null, "permissions": { "permissions.*": true, "simpleprefix.Citizen": false, "simpleprefix.Hero": true }, "Hero": null, "inheritance": [ "Citizen" ] } } }
Code for simplePrefix:
Template: format: '<[prefix][name][suffix]> ' time: hh:mm a Group: God: prefix: '&c[God]&f' suffix: '' Demigod: prefix: '&[bDemiGod]&f' suffix: '' Hero: prefix: '&a[Hero]&f' suffix: '' Citizen: prefix: '&2[Citizen]&f' suffix: '' Urchin: prefix: '&7[Urchin]&f' suffix: '' Server: register: true
--would love help, this has been the only permissions that has worked for me.
I can't see the prefixes nor do the nodes work or the "can't build here' message
I may have done my code wrong, as I've only been coding for a few years and I've never touched YAML before Minecraft starting about 3-4 months ago
has anyone got permissionsbukkit to work with essentials.joinfullserver ??
@Keitho15
There is no 'VIP' group, but there is a 'V.I.P' group. (NEVER use periods in those names >_>)
Default should be default (lowercase d)
And fix your spacing. :|
@drudigger
You're also using tabs. No tabs in YAML files.
@ama26826
You're using tabs. Tabs cannot be used in YAML files.
im about to freak out, is there a node for sprinting, my users cant sprint! everything else seems fine i just want them to be able to sprint!
I am having a problem when I am trying to set up permissions with my server i already have everything setup but when the server loads or when i start it at the top it says:
While scanning for the next token found character '\t' that cannot start any token
in "<reader>", line 20, column 33:
Then it says a bunch of gibberish that i do not understand. Not sure what the problem is but it was working about 2 weeks ago.
Thanks
Yup, some errors are creeping in with the newest build.
I have a custom self designed plugin that needs to sync my ranks/titles with PermissionsBukkit. Short of recompiling your code and adding some public methods in so I can switch one user from one group to another by hooking in to your plugin, how else is this accomplished?
Is there already a way that we can switch one person from one group to another through code? It seems that you have made all those methods private.
thanks
:P MySQL Support anytime soon? ^^
Please update to the latest RB 1317. I cant use any commands ingame or in console.
Commands:
And player join:
Please fix this :/
Okay so I am having a really hard time setting up permissions. I have done this before so note that I am not a complete idiot... but I have my moments. Anyway, I can't seem to get my permissions to work. As a test I am only using PermissionsBukkit 1.2 and WorldEdit 4.7 to get started off.
I have my permissions and config files set up: http://pastebin.com/xDwX2uaK
I have also tested my permissions in game: http://i157.photobucket.com/albums/t80/Ninja_Is_Me/2011-10-11_212828.png (this picture demonstrates me using the wand command for WorldEdit 4.7 it looks like it recognizes the commands are implemented but I cant use them)
However for some reason I am unable to use any permissions if I am no OP. Can anyone help me? Possibly review my configuration?
Thank you
As a developer, I need to know this: How does one get a list of the groups a given player belongs to?
Sure its easy to get weather or not a player has a specific permission, but I need to know all of the groups a player belongs tho.
i need alot of help is there any other permissions like this one thats updated?
my server is running haywire
-Errors i get when i start up bukkit
161 recipes 17 achievements 11:25:30 [INFO] Starting minecraft server version Beta 1.8.1 11:25:30 [INFO] Loading properties 11:25:30 [INFO] Starting Minecraft server on *:25565 11:25:31 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1112 -g54a13b2-b1240jnks (MC: 1.8.1) 11:25:32 [SEVERE] ebean.properties not found 11:25:32 [INFO] DataSourcePool [rTriggers] autoCommit[false] transIsolation[SERI ALIZABLE] min[2] max[20] 11:25:32 [INFO] SubClassFactory parent ClassLoader [org.bukkit.plugin.java.Plugi nClassLoader] 11:25:33 [INFO] Entities enhanced[0] subclassed[1] 11:25:34 [INFO] LWC: Loading shared objects 11:25:34 [INFO] LWC: Protection cache: 0/10000 11:25:34 [INFO] LWC: Native library: plugins/LWC/lib/native/Windows/x86/sqlitejd bc.dll 11:25:34 [SEVERE] Could not load 'plugins\PermissionsBukkit-1.2.jar' in folder ' plugins': while scanning for the next token found character '\t' that cannot start any token in "<reader>", line 5, column 1: /stop: true ^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja va:360) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:18 3) at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(Par serImpl.java:564) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :228) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :230) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :230) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :230) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12 2) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons tructor.java:124) at org.yaml.snakeyaml.Yaml.load(Yaml.java:264) at org.bukkit.util.config.Configuration.load(Configuration.java:82) at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:157) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:175) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:215) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:136) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:139) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:104) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur ationManager.java:52) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:136) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 11:25:35 [INFO] Preparing level "world" 11:25:35 [INFO] Default game type: 0 11:25:35 [INFO] Preparing start region for level 0 (Seed: -2371862144130187827) 11:25:44 [INFO] Preparing spawn area: 24% 11:25:45 [INFO] Preparing spawn area: 61% 11:25:46 [INFO] Preparing start region for level 1 (Seed: -673451055627626173) 11:25:46 [INFO] Preparing spawn area: 0% 11:25:47 [INFO] Preparing spawn area: 12% 11:25:48 [INFO] Preparing spawn area: 57% 11:25:49 [INFO] Preparing spawn area: 97% 11:25:49 [INFO] CommandBook 1.6 enabled. 11:25:49 [SEVERE] CommandBook: Unable to read default configuration: config.yml 11:25:49 [SEVERE] CommandBook: Unable to read default configuration: kits.txt 11:25:49 [WARNING] CommandBook: 2 Warps(s) loaded 11:25:49 [WARNING] CommandBook: 1 Homes(s) loaded 11:25:49 [INFO] CommandBook: Maximum wrapper compatibility is enabled. Some feat ures have been disabled to be compatible with poorly written server wrappers. 11:25:49 [INFO] CommandBook: 0 banned name(s) loaded. 11:25:49 [INFO] CommandBook: Using the Bukkit Permissions API. 11:25:50 [INFO] [HeroChat] HeroChat version 4.10.3 enabled. 11:25:50 [INFO] [rTriggers] Loaded: Version 2.32 11:25:50 [INFO] WorldEdit 4.7 enabled. 11:25:50 [SEVERE] WorldEdit: Unable to read default configuration: config.yml 11:25:50 [INFO] WorldEdit: Using the Bukkit Permissions API. 11:25:50 [INFO] LWC: Loaded 137 locale strings (0 overrides) 11:25:51 [INFO] LWC: Permissions API: SuperPermsPermissions 11:25:51 [INFO] LWC: Currency API: NoCurrency 11:25:51 [INFO] LWC: Loading SQLite 11:25:51 [INFO] LWC: Using: Native 11:25:51 [INFO] LWC: Precached 58 protections. 11:25:51 [INFO] LWC: At version: 3.53 (b294) 11:25:51 [INFO] Done (1.649s)! For help, type "help" or "?"