I cannot for the life of me figure out how permissions.yml works for a CraftBukkit Minecraft Server. Here is what I want:

I would like three groups: admin, user, and default.

  • Admins should have complete access to all commands
  • Users should be able to use /tp and maybe a couple other commands
  • Defaults should not be able to use any command.

Here's what I have:

  5 users:
  6     my-name:
  7         groups:
  8         - admin
  9 groups:
 10     default:
 11         permissions:
 12             bukkit.command.*: false
 13     admin:
 14         permissions:
 15             bukkit.command.*: true
 16         inheritance:
 17         - user
 18     user:
 19         permissions:
 20             bukkit.command.teleport: true
 21             bukkit.command.tell: true
 22             bukkit.command.me: true
 23             bukkit.command.kill: true
 24         inheritance:
 25         - default
 26 messages:
 27     command.*: '&cYou do not have permission to use that command'

Can someone please do me a huge favor and help.

  • I' m not the best at explaing this, so here is a tip instead. I would recommend using permissionsEX as it allows for easier use of permission nodes and integrates features such as name prefixes, suffixes, and in-game commands. NOTE: If you want to use essentials, it will not be compatible. Other plugins may not be either, but the more popular ones tend to be alright.
    – Jonny
    Commented Feb 15, 2012 at 5:45

3 Answers 3


Quite simply, the permissions.yml file that is in the root directory of your server does nothing on its own. It's a somewhat odd and misleading feature, so it's understandable that you'd be confused. The permissions.yml file is used only to create custom permissions node aliases and group nodes. To be perfectly honest, I find it fairly useless.

The format you are using does not go in the root permissions.yml, it goes in the config.yml of a plugin known as PermissionsBukkit. This is a plugin that actually manages the permissions for you, and you need some kind of permissions plugin to use the system effectively. You should be able to cut/paste your current permissions.yml file into the PermissionsBukkit config.yml, and it should work just fine.

This is a somewhat opinionated note, but I think it's worth pointing out that there are other permissions plugins out there besides PermissionsBukkit. There are two other main permissions plugins out there, PermissionsEX (my personal favorite) and bPermissions. These have a format slightly different from PermissionsBukkit, but they have many more features, including a good command system and much better APIs, so they might save you trouble in the long run.


Looks pretty good

Things to check:

This is the permissions file in your plugins/PermissionsBukkit folder.

You are missing users--you need to assign groups to each user (just like your name)

Don't use tabs, make sure everything is spaces.

I'm not sure how much indentation matters, but the default file is indented 2, not 4.

permGroup.* is not specifically implemented in permissionsbukkit, it's generally passed through to the plugin which seems to often implement it, but there is no guarantee. I give bukkit.* to my admin and that seems to work.

To test, put your account in the group you want to test, get on the game, muck with the permissions file then go to the console and type "reload", then use:

"perms dump myplayername"

to page through the permissions and see if you got it right. (Please add comments if you have better ways to test this, I've had a hell of a time with permissions)


I find this file completely USELESS. Actually, download and install the GroupManager plugin, put it in your plugins folder, and run your server. Then stop it.

Next, open the GroupManager folder- it'll be in your plugins folder. You can actually do this in-game, but I'll guide you through the folder first.

Okay, so go into your plugins folder and open the GroupManager folder. You will see 2 folders, and 2 yml files, config.yml and globalgroups.yml. Open the folder labeled, "worlds". You will see however many worlds you have. Open your hub world.

You will see 2 yml files-groups.yml, and users.yml. Open groups.yml and open it with Notepad++(right-click and select "Edit with Notepad++). You will see something like this-mine's already been edited as I own a server-

Group inheritance

Any inherited groups prefixed with a g: are global groups and are inherited from the GlobalGroups.yml.

Groups without the g: prefix are groups local to this world and are defined in the this groups.yml file.

Local group inheritances define your promotion tree when using 'manpromote/mandemote'

groups: Moderator: default: false permissions: [] inheritance: - builder - g:groupmanager_moderator - g:bukkit_moderator - g:essentials_moderator - g:towny_moderator - g:vanish_moderator info: build: true prefix: '&5[Moderator]' suffix: '' Owner: default: false permissions: - +vanish.effects.toggle.all - -vanish.effects.* - '*' - dmt.admin - dmt.default inheritance: - admin info: build: true prefix: '&1&k[&1[Owner]&k]' suffix: '' Builder: default: false permissions: [] inheritance: - default - g:essentials_builder - g:towny_builder info: build: true prefix: '&2' suffix: '' Admin: default: false permissions: [] inheritance: - moderator - g:groupmanager_admin - g:bukkit_admin - g:essentials_admin - g:towny_admin - g:vanish_admin info: build: true prefix: '&3[Admin]' suffix: '' Default: default: true permissions: - -bukkit.command.kill inheritance: - g:groupmanager_default - g:bukkit_default - g:essentials_default - g:towny_default info: build: false prefix: '&e' suffix: ''

Now, you can edit the groupnames, add the perms, whatever. Now for in-game-

First, open your server and get on. Next, type in chat /mangadd

Second, keep on doing that until you have all of the desired groups. Third, add yourself/player to that group by doing /manuadd

Fourth, you've done it! Now for the perms. I hate this part. Okay, so now, type in chat /mangaddp <group> <permission> <permission2> and so on. Do that for ALL of your groups. It is such slow work. Search online for permissions for all of your plugins, and decide which ones for which groups you want. Hope this helped.

You must log in to answer this question.