configuration/groups.yml
Table of Contents
- Yaml Basics
- groups
- groupname
- rank
- permissions
- worlds
- groupname
- default groups.yml
Yaml Basics
First off, YAML (files with the file extension .yml) relies heavily on indentation. My files will all use two spaces; tabs will break your parser and cause errors, so don't use them. For more information on how to work with YAML, this page helped me a lot.
notes
Lines that start with a # (pound symbol) are comments; they are ignored by the parser.
groups
This value is the top level delimiter for the file. It has no purpose, other than to organize the other values in the file.
notes
This key should have no indentation (zero spaces before it), and no value after the colon.
groupname
By default, there are 4 groups: default
, user
, admin
and owner
, each with a few permissions nodes thrown in as examples.
notes
Group name keys should be prefixed by 2 spaces, and should not have any values after the colon.
rank
Each group should have a rank. The rank determines the group's 'power' when attempting to edit other groups, as well as the order in which the /promote command works (in order of rank, from lowest to highest).
notes
Each group's rank should be unique; do not duplicate them unless you're comfortable with the configuration process, as it may cause interesting errors.
permissions
Each group should have a permissions key. The permissions key shows a list of values as indicated in the example below. If you want a permission to evaluate true
, add the node normally to the list. If you want it to evaluate false
, add it with a '-' before it (a hyphen or minus sign). The default groups.yml has a few examples of how to do this.
notes
Should be prefixed by 4 spaces, and have no value immediately after the colon.
example
groups:
default:
rank: 1
permissions:
- example.true.node
- -example.false.node
worlds:
world:
# set a node that's only active for this world
- example.true.world.node
# override a global 'true' node to false
- -example.true.node
worlds
Worlds keys are optional; they specify permissions nodes that are only active in the world specified by the key. This key is case-sensitive, and must match the name of the world folder exactly. If your world name has spaces in it, enclose the key in single quotes.
notes
Your 'worlds' key should be on the same indentation level as the permissions key (4 spaces), and have no value immediately after the colon.
example
See permissions
default file
groups:
default:
rank: 1
permissions:
- group.default
- privileges.check
worlds:
world: []
world_nether:
- -privileges.build
world_the_end: []
inheritance: []
user:
rank: 2
permissions:
- group.user
- privileges.dump
worlds:
world: []
world_nether:
- privileges.build
inheritance:
- default
admin:
rank: 3
permissions:
- group.admin
- privileges.promote
inheritance:
- user
owner:
rank: 4
permissions:
- group.owner
- privileges.self.edit
- privileges.*
inheritance:
- admin
how do i add the ability to break and build to the default group?
nevermind im stupid
I can't seem to get this to work. I'm using Bukkit 1.5 and I have the groups and users set up as you show, but when I set my rank to the 'owner' rank, it doesn't let me use any of the commands in return. Any help on what I may be doing wrong?