Permissions

## What is the Permission File?

The Permission File is located in your server folder under Configuration/Permissions.cfg.

Here's a simple example of a permission file:

```
   groups {
       default {
           default = 'True'
           nameFormat = '%name%'
           chatFormat = '%name% : %message%'
           guildFormat = '[00CC00][%guild%] %chatFormat%[-]'
           inherits =
           permissions {
               - 'rok.fairplay'
           }
       }
       admin {
           nameFormat = '%name%'
           chatFormat = '%name% : %message%'
           guildFormat = '[00CC00][%guild%] %chatFormat%[-]'
           inherits =
           permissions {
               - '*'
           }
       }
   }
   macros {
   }
   users {
   }

```

## What are Permissions?

Permissions are what allow a player to perform actions in game. When a player performs an action, such as eating,

the server checks to see if that player has permission to eat. If not it will deny that ability.

Currently permissions are mainly used for commands.

In *Alpha 11* a permission was added for fairplay called 'rok.fairplay'. This permission is actually called a Macro

but we'll get into that later. So basically without proper permissions your players may not be able to play correctly.

Fortunately when you start your server for the first time, it **auto-generates your permissions** for you. It does

this because it notices that the file is missing. So in the future if you mess up your permissions you can always

delete the *permissions.cfg* file located in the *Configuration/* folder of your server and the next time you

start the server it will generate a new one.

### The Default Group

The default group is the group players are automatically added to. Usually the default group has just enough permissions

for the players to play.

In this instance the default group inherits the guest group as indicated by *inherits = 'guest'* .

Any group can be set to the default group. Simply adding *default = 'True'*  to any group will make it so players get

automatically added to that group when they are registered. (via Character Customization)

```
   groups { # This is a comment.
       default { # Normal players
           default = 'True' # Players will automatically be put in this group.
           inherits = 'guest' # The default group inherits all permissions from guest.
       }

```

For example the above could look like this and still work:

```
   groups {
       member { # Notice this is now "member" instead of default.
           default = 'True' # This must be the same.
           inherits = 'guest'
       }

```

### The Admin Group

This group is the group that is given to users so they can moderate and manage the server.

This group has the \* permission, this means that anyone who belongs to this group is allowed to perform any action.

This also means that administrators can use any command as well.

```
       admin {
           permissions {
               - '*' # A * means all permissions
           }
       }

```

### So How Do I Make Myself An Admin?

If this is the first time you run your server you will need to add yourself to the user list.

Once you are added you may then use the permission command to modify the permissions while the server is running.

For help with permissions type  ***/help permission***  while in-game.

```
   users {
       YourNameHere {
           groups {
               - 'admin'
           }
       }
   }

```

### Modifying the File While the Server is Running

It is possible to modify the permission file while the server is running.

You simply make any changes to the file then in-game type */permission reload* and it will load any changes to

permissions on the server.

## Adding a User via Command

Before you start you might want to learn a bit about Commands.

Once you are an admin (read above) on the server you can make other players admins as well with the /permission command.

First add the user to the permissions file. (We have not assigned a group yet.)

```
   /permission user [userName] add - Adds a user to the permissions config.
   /permission user Bob add

```

Second add the admin group to that user.

```
   /permission user [userName] addgroup [groupName] - Adds a user to a group.
   /permission user Bob addgroup admin

```

Again you can get more info on the permission command by typing */help permission*

## Removing a User via Command

Before you start you might want to learn a bit about Commands.

Once you are an admin (read above) on the server you can remove other players from the admin group.

```
   /permission user [userName] removegroup [groupName]
   /permission user Jane removegroup admin

```

If you would like to remove them completely from the permissions: (This removes all groups, chat formatting, permissions, etc..)

```
   /permission user [userName] remove
   /permission user Jane remove

```

Again you can get more info on the permission command by typing */help permission*

## What a config looks like with an admin user

```
   groups {
       default {
           default = 'True'
           nameFormat = '%name%'
           chatFormat = '%name% : %message%'
           guildFormat = '[00CC00][%guild%] %chatFormat%[-]'
           inherits =
           permissions {
               - 'rok.fairplay'
           }
       }
       admin {
           nameFormat = '%name%'
           chatFormat = '%name% : %message%'
           guildFormat = '[00CC00][%guild%] %chatFormat%[-]'
           inherits =
           permissions {
               - '*'
           }
       }
   }
   macros {
   }
   users {
       GOD {
           groups {
               - 'admin'
           }
       }
   }

```