Welcome to the BukkitWiki!

This Wiki is home to Bukkit's documentation and regulations surrounding the Bukkit Project and it's services. Want to help out? We would love to have you! Signup to get started!


This page is part of the official Bukkit Documentation

This page has been accepted and included in the official Bukkit Documentation. You can discuss discrepancies, issues, or errors in the article on its Talk page.

Warning Warning: Permissions.yml is NOT a replacement Permission awarding/checking system and any permissions should continue to be handled by a plugin.

Permissions.yml is the default permission definition YAML file, automatically generated on startup. Its main function is to group permission nodes together into one file so that it can be used across the system by permissions plugins (and plugins utilising permissions alike).

Parent/Child Nodes[]

Server admins can assign nodes to be children of another node which means that any person given a node with children will inherit those child permissions as well.

Creating nodes[]

Permissions.yml allows creation of parent nodes for already-defined plugin permission nodes so that server administrators can easily distribute permissions.

A way to think of permissions.yml is like creating Kits of in-game materials, but instead of in-game tools and blocks what's being bundled is multiple permissions into one permission node which can then be used in any Bukkit Permission-based system.

Assigning '*' Nodes[]

CraftBukkit's default permissions system does not support '*', or wildcard nodes. This is because the system implements a feature known as parent/child Nodes where the plugin developer is tasked to define nodes that will act as '*' nodes rather than having a system with a built in "access-all" method, which is what the OP command is used for. Permissions.yml helps server administrators consolidate permission nodes for ease of distribution in other permissions systems.

Setting up Permissions.yml[]

To begin setting up your YAML file you will first need to define a new parent-node. In this example we will be using 'server.basics' followed by it's description, default value, and children with their default values.

YAML Part Description Example
Parent Node The defined parent-node. This is the permission you will put into Bukkit Permission-based plugins rather than the children nodes assigned to it. server.basics:
description: The description of the parent-node, as used by the Bukkit Help System. description: Basic permissions for Server.
default: The default value for the parent-node if its value is not set. The four values that can be set are: true, false, op, and not-op. default: not-op
children: The last of the values for the parent node. Marks the beginning of the child node definitions. children:
Child Nodes The value set for each child node will apply whenever the parent-node is called. The two values that can be set are: true and false. BukkitWiki.cmd1: true

       description: Basic permissions for My Cool Server.
       default: true
          BukkitWiki.cmd1: true
          BukkitWiki.cmd2: true
          BukkitWiki.cmd4: true
          BukkitWiki.cmd5: true