PermissionsEx

From Nitradopedia EN
Jump to: navigation, search
PermissionsEx (PEX)
PermissionsEx.png
Servermod: Bukkit
Category: Permissions
Developer: t3hk0d3
Developer Website: Link
Description: Manage Permissions
Features: Serves to manage player permissions
Download: Link

Welcome to the PermissionsEx Tutorial
PermissionsEx (PEX)is a permissions plugin, based on Permissions by TheYeti / Nijikokun. It supports the newest Bukkit-Permissions-Standard. But PermissionsEx (PEX) is way more! It provides a powerful and structured Ingame command management and fine tuned restrictions for players(Modifyworld).

Features

  • YAML-Backend: "permissions.yml" - All users, groups and permissions are saved in this file.
  • MySQL and SQLite support, but also other DB-server (like PostgreSQL) are possbile. PEX creates the DB-scheme (tables and first entries) automatically.
  • A lot of chat and commands. You can even control PEX via ingame commands. There is no need to edit the files manually.
  • Complete control over what players can do (Modifyworld). E.g. Allow or deny destroying blocks, riding a boat or not getting attacked by monsters.
  • You can control inheritance and players' prefix/suffix.
  • Multi world permissions - global permissions
  • Easy migration from Permissions 2.x! Converter for YAML and SQL using PermissionsCompat.
  • Performance friendly - Low-Level-Caching helps a lot when you have 100+ players online (decreases sever load).
  • Chat-Manager - useful Chat-Plugin, coming with PEX. Supports default settings like displaying prefix, suffix and colors. (Alternatives are Mchat or Herochat).

Installation

The newest PermissionsEx version can be found here [1].


You can either install PEX

1) via a FTP browser like Filezilla by upload the 'PermissionsEx.jar' file into the ,,plugins folder

or

2) via the Nitrado Webinterface under ,,Bukkit Plugins

  • Click on "Plugins" under 'Minecraft - Bukkit' (left sidebar)
  • Select PermissionsEx
  • Click install
  • Using Modifyworld.jar, to restrict building/destroying blocks and much more.
  • Using ChatManager.jar, if you want to use "&-color codes". (Or you can use other chat plugins like herochat or mchat)


PermissionsEx (PEX) creates all needed config-files automatically on it's first start.
Make sure, PermissionsEX (PEX) is the only Permissions-Plugin running!

Only use the "permissions.yml" in the 'PermissionsEx' folder!

Basics

  • After starting your server with PEX it will create a folder called ,,PermissionsEx containing the "permissions.yml" and "config.yml" file
  • After creation of ,, Permissions.yml, you can edit the file with Notepad or Notepad ++
  • Activate ChatManager if installed by setting "enable: true" in plugins/ChatManager/config.yml

The next step is to configure the "permissions.yml"

Create Groups

At first, we create a group called "Admin", which gets all permissions to administrate the server. This can be achieved using the console or by editing the "permissions.yml" file.

Using the console:

To create a group open the console and type:

pex group Admin create

Using the following you grant the group "Admin" all permissions ("*"):

pex group Admins add *

Add the admin to this group:

pex user YourUsername group set Admin


Editing the permissions.yml located in the PermissionsEx folder:

Insert the following into 'permissions.yml'

# This is a comment and has no effect
groups:
 Player:
   default: true
   prefix: 'Player'
   suffix: ' '
   permissions:
 Admin:
   default: false
   prefix: 'Admin'
   suffix: ' '
   permissions:
   - '*'
users:
    YourUsername:
        group:
        - Admin


CAUTION: Only the server admin should be entered into the ops.txt (located in the root directory). This overrides PEX's permissions! Players entered into ops.txt have complete access to all commands!

The default group (Player) should not get admin permissions (- '*').

What we keep in mind:
Create groups: /pex group <Group> create
Set a player's group: /pex user <Player> group set <Group>
Give someone all permissions: /op <Player>

Add Permissions

To set a group as default, so that every new player joins this group, you have to add "default: true" to this group. Other groups can have a "default: false", but this is not necessary.

groups:
 Player:
   default: true    #<--
   prefix: 'Player'
   suffix: ' '
   permissions:

To give a group enough rights so that they can play normal, you have to add "modifyworld.*" to this group. (This can be entered ingame or via console)

To give a specific group a specific permissions, you can use

pex group <Group> add <Permission>

To add modifyworld.* to the group "Player" we execute the following command:

pex group Player add modifyworld.*

The permissions.yml file should look like:

groups:
 Player:
   default: true
   prefix: 'Player'
   suffix: ' '
   permissions:
   - modifyworld.*
 Admin:
   default: false             #<-- optional
   prefix: 'Admin'
   suffix: ' '
   permissions:
   - '*'
users:
    YouPlayername:
        group:
        - Admin


Summary:
Add a permissions to a group: /pex group <Group> add <Permission>
To do this for a specific world only: /pex group <Group> add <Permission> <World>

Negativ Permissions:
Should a group be allowed to execute all but one command, you can keep the '- *' permissions and add a permissions with an extra '-'.

 groups:
  Admin:
    prefix: 'Admin'
    suffix: ' '
    permissions:
    - -bukkit.command.stop          #<-- All permissions expect to stop the server
    - '*'

Prefix

Should a group (e.g. Admin) have a prefix like [Admin], you must have a Chat-Plugin like Herochat or mChat. To add a prefix to a group, we use the following command:

pex group <Group> prefix <Prefix>

Or in our example ([Admin]):

pex group Admin prefix &4[Admin]

Now all players in group "Admin" have a red [Admin] prefix.


"&4" is a color code, other color codes can be found here:

ColorCode.png

Color codes always look like "&" + number/letter without "#".

Summary:
To set a prefix we use: /pex group <Group> prefix <Prefix>


Inheritance & Ranking

Inheritance:
If a new group e.g. "Miner" is created, this group can inherit all permissions of the "Player" group. This can be achieved with a new line called "inheritance":

 groups:
  Player:
    default: true
    prefix: 'Plyaer'
    suffix: ' '
    permissions:
    - modifyworld.*
  Miner:
    prefix: 'Minenarbeiter'
    suffix: ' '
    inheritance:
    - Player        #<-- The Group Miner inherits all permissions of Player, meaning "- modifyworld.*" in our example.
    permissions:    #<-- Now the group "Miner" has all permissions of the "Player" group but even more than the Player group, which only the Miner group can use (not players in "Player")
    - simplewarp.user
    - herochat.join.global
  Admin:
    prefix: 'Admin'
    suffix: ' '
    permissions:
    - '*'



Ranking:
If a player should get promoted or demoted you can either use PermissionsEx's feature or the plugin SetRankPex.

Before you need to define a rank:

Using the "permissions.yml" it would look like:

    vip:
        inheritance:
        - default
        prefix: '&6[VIP]&f'
        permissions:
        - commandbook.home
        options:
            rank: '30'

The associated command "/pex group vip rank 30". The higher the rank is, the lower the group is. Therefore the highest rank is 1.

Using PermissionsEx (without SetRankPex):

  • 1) /pex promote <Group> <e.g. Player, Premium , Moderator , Admin>

Using SetRankPex:

  • 2) /rank <Player> <Group>


Summary:

Using inheritance, you need to add a line called "inheritance:"
and the command to set ranks: /pex promote <Group> <e.g. Player, Premium , Moderator , Admin>

Conclusion


Congratulations!, you have completed this tutorial and you're able to cope with PermissionsExsowie and also to configure it!
If there should be any errors or permissions not working, control your permissions.yml here.

More information are available at the offical PermissionsEx Wiki.

Here is a complete "permissions.yml" you can optimize for your needs:

groups:
    default:
        default: true
        permissions:
        - lwc.protect
        - bm.use
        - dt.home
        - dt.travel
        - ChestShop.shop.create
        - modifyworld.*
        - courier.send
        - courier.write
        - courier.list
        - commandbook.msg
        - mcmmo.ability.*
        - mcmmo.skills.*
        - mcmmo.chat.partychat
        - commandbook.away
        - commandbook.spawn
        - commandbook.who
        - commandbook.kit.list
        - commandbook.kit.kits.starter
        - commandbook.warp.teleport
        - iConomy.holdings
        - iConomy.help
        - iConomy.payment
        - ChestShop.shop.buy
        - ChestShop.shop.sell
        - multiverse.access.*
        - multiverse.portal.access.*
        - ultimatearena.player
        prefix: '&7[Player]&f'
        options:
            rank: '100'
        worlds:
            world_creative:
                permissions:
                - simpleregionmarket.buy
            world_city:
                permissions:
                - simpleregionmarket.buy
                - commandbook.home.set
                - commandbook.home.teleport
            world_mining:
                permissions:
                - -lwc.protect
    vip:
        inheritance:
        - default
        prefix: '&6[VIP]&f'
        permissions:
        - commandbook.kit.kits.vip
        - commandbook.time.set
        - commandbook.teleport
        - commandbook.teleport.other
        options:
            rank: '30'
    Builder:
        inheritance:
        - vip
        permissions:
        - worldedit.*
        - whomode.use
        prefix: '&6[Builder]&f'
        options:
            rank: '10'
    Mod:
        inheritance:
        - Builder
        permissions:
        - commandbook.kick
        - commandbook.bans.ban
        - commandbook.bans.unban
        prefix: '&e[Mod]&f'
        options:
            rank: '10'
    Admin:
        permissions:
        - -vanish.silentjoin
        - '*'
        prefix: '&6[Admin]&f'
        suffix: '&4'
        options:
            rank: '1'
users:
    Player1:
        group:
        - default
    Player2:
        group:
        - vip
    Player3:
        group:
        - vip
    Player4:
        group:
        - Builder
        permissions:
        - spectate.use


Find errors

  • 1) If there should be any problems, check your 'permissions.yml' here or here (German instructions)
    Copy the content of the file and paste it into the left box. If there are errors, you probably used "Tabs"
    or neglected the right format!
  • 2) Pay attention to spaces in front of all entries. You must not change the layout


About this Article

This tutorial is based on plugin version : 1.19.5
This tutorial was translated by: Facekuli This tutorial was translated on: 17.02.2014
This tutorial was originally created by: McRain This tutorial was originally created on: 08.10.2011
Last updated by: Facekuli Last update on: 17.02.2014