mirror of
https://github.com/garbagemule/MobArena.git
synced 2024-11-23 11:06:14 +01:00
180 lines
7.1 KiB
ReStructuredText
180 lines
7.1 KiB
ReStructuredText
|
###########
|
||
|
Permissions
|
||
|
###########
|
||
|
|
||
|
A permissions plugin **is NOT required** for MobArena to work, but if
|
||
|
you want that extra bit of control, here's a rundown of the different
|
||
|
types of permission nodes you can use with MobArena.
|
||
|
|
||
|
**NOTE: MobArena uses sane defaults. This means that by default, all
|
||
|
players can use all arenas and all classes, and ops can use all admin
|
||
|
and setup commands. Unless you want to prevent some groups from
|
||
|
accessing certain arenas or classes, or you want to give non-ops admin
|
||
|
and setup permissions, there is no need to mess with any permissions at
|
||
|
all, so go away from this page and remove all occurrences of
|
||
|
``mobarena`` in your permissions-file!**
|
||
|
|
||
|
Arenas
|
||
|
~~~~~~
|
||
|
|
||
|
Did you read the note at the top? If not, read it before you continue.
|
||
|
|
||
|
So, you want to remove permissions for certain arenas from certain
|
||
|
users? Alright, that means you will have to *negate* or *revoke* the
|
||
|
permissions in your permissions plugin. In bPermissions, the negation
|
||
|
modifier is a caret, ``^``, in GroupManager and PermissionsEx it is a
|
||
|
minus, ``-``, and in zPermissions it is by setting the permission to
|
||
|
``false``. The examples below revoke the permission for the default
|
||
|
arena.
|
||
|
|
||
|
| bPermissions: ``^mobarena.arenas.default``
|
||
|
| GroupManager: ``-mobarena.arenas.default``
|
||
|
| zPermissions: ``mobarena.arenas.default: false``
|
||
|
|
||
|
I recommend letting everyone enjoy all your arenas, but this could be
|
||
|
used in combination with "leveling" plugins to allow players to use
|
||
|
"harder" arenas at higher levels. It could also be used for
|
||
|
sponsors-only arenas.
|
||
|
|
||
|
Still confused? Check the `sample setup <#sample-setup>`__ at the bottom
|
||
|
of the page!
|
||
|
|
||
|
Classes
|
||
|
~~~~~~~
|
||
|
|
||
|
Did you read the note at the top? If not, read it before you continue.
|
||
|
|
||
|
Alright, if you're reading this, you want to remove permissions for
|
||
|
certain classes from certain users. As with the arena permissions, you
|
||
|
need to *negate* or *revoke* the permissions in your permissions plugin.
|
||
|
In bPermissions, the negation modifier is a caret, ``^``, in
|
||
|
GroupManager and PermissionsEx it is a minus, ``-``, and in zPermissions
|
||
|
it is by setting the permission to ``false``. The examples below revoke
|
||
|
the permission for the Knight class.
|
||
|
|
||
|
| bPermissions: ``^mobarena.classes.knight``
|
||
|
| GroupManager: ``-mobarena.classes.knight``
|
||
|
| zPermissions: ``mobarena.classes.knight: false``
|
||
|
|
||
|
**Note how the class name is lowercase.** This is important. Even if the
|
||
|
Knight class is called ``KnIGhT`` in your config-file, it MUST be all
|
||
|
lowercase in your permissions-file.
|
||
|
|
||
|
As with arenas, I recommend letting everyone enjoy all the classes,
|
||
|
unless you have a special reason not to.
|
||
|
|
||
|
Still confused? Check the `sample setup <#sample-setup>`__ at the bottom
|
||
|
of the page!
|
||
|
|
||
|
Commands
|
||
|
~~~~~~~~
|
||
|
|
||
|
Did you read the note at the top? If not, read it before you continue.
|
||
|
|
||
|
If you're reading this, you want to either give certain users access to
|
||
|
some of the admin and/or setup commands, or you want to remove some of
|
||
|
the user commands from some groups. If this is not the case, stop
|
||
|
reading and leave this page!
|
||
|
|
||
|
The first group of commands are the user commands. They are accessible
|
||
|
by all players by default, so don't put ``mobarena.use.*`` or something
|
||
|
stupid like that in your permissions-file! If you want a group to not
|
||
|
have access to the user commands, *negate* the permission
|
||
|
``mobarena.use``, which is the *parent permission node* for all the user
|
||
|
commands. See the classes and arenas sections for information on how to
|
||
|
negate permissions. If that doesn't work, negate the
|
||
|
``mobarena.use.join`` and ``mobarena.use.spec`` permissions. That should
|
||
|
be enough.
|
||
|
|
||
|
::
|
||
|
|
||
|
mobarena.use.join
|
||
|
mobarena.use.leave
|
||
|
mobarena.use.spec
|
||
|
mobarena.use.arenalist
|
||
|
mobarena.use.playerlist
|
||
|
mobarena.use.notready
|
||
|
mobarena.use.class
|
||
|
|
||
|
The admin commands are simple. They allow disabling/enabling MobArena
|
||
|
and individual arenas, kicking players from the arenas, restoring player
|
||
|
inventories if they got lost somehow, forcing arenas to start or end,
|
||
|
and teleporting in and out of arenas regardless of what the arena state
|
||
|
is. If you want to grant all of these permissions, use the *parent
|
||
|
permission node* ``mobarena.admin``. Don't mess around with ``*`` or
|
||
|
something stupid like that.
|
||
|
|
||
|
::
|
||
|
|
||
|
mobarena.admin.enable
|
||
|
mobarena.admin.kick
|
||
|
mobarena.admin.restore
|
||
|
mobarena.admin.force
|
||
|
mobarena.admin.teleport
|
||
|
|
||
|
Setup commands are only for ops, just like admin commands. **Do not**
|
||
|
give these permissions to random people, because they can remove your
|
||
|
arenas and destroy your config-files, if they do something stupid. The
|
||
|
setup commands allow you to manage arenas, regions, spawnpoints, chests,
|
||
|
leaderboards, etc. They also allow you to set up new classes in-game. If
|
||
|
you want to grant all of these permissions, use the *parent permission
|
||
|
node* ``mobarena.setup``. Don't mess around with ``*`` or something
|
||
|
stupid like that.
|
||
|
|
||
|
::
|
||
|
|
||
|
mobarena.setup.config
|
||
|
mobarena.setup.setup
|
||
|
mobarena.setup.setting
|
||
|
mobarena.setup.addarena
|
||
|
mobarena.setup.removearena
|
||
|
mobarena.setup.editarena
|
||
|
mobarena.setup.spawnpoints
|
||
|
mobarena.setup.containers
|
||
|
mobarena.setup.checkdata
|
||
|
mobarena.setup.checkspawns
|
||
|
mobarena.setup.classchest
|
||
|
mobarena.setup.classes
|
||
|
mobarena.setup.leaderboards
|
||
|
mobarena.setup.autogenerate
|
||
|
mobarena.setup.autodegenerate
|
||
|
|
||
|
Sample setup
|
||
|
~~~~~~~~~~~~
|
||
|
|
||
|
Assume you have a class called DiamondKnight that you only want your
|
||
|
donors to be able to use (very common use case). How do you set up your
|
||
|
permissions plugin when you have to revoke the class permission from the
|
||
|
default group, but the donor group inherits from the default group? It's
|
||
|
very simple: You're doing it wrong...
|
||
|
|
||
|
What you have to do instead is make an *auxiliary default*-group that
|
||
|
contains all your default permissions, and have your default group
|
||
|
inherit from that group, and furthermore revoke the DiamondKnight class
|
||
|
permission in MobArena. Your donor group then also inherits from the
|
||
|
auxiliary group, and everything is wonderful. Confusing? Here's a
|
||
|
pseudo-code example:
|
||
|
|
||
|
::
|
||
|
|
||
|
default-aux: <-- This is the auxiliary group that is to
|
||
|
permissions: be inherited by the default group and
|
||
|
- essentials.balance the donor group. It is not used for
|
||
|
- essentials.pay anything else.
|
||
|
- essentials.sell
|
||
|
|
||
|
default: <-- This is the default group. It inherits
|
||
|
inherits: default-aux from default-aux, but also revokes the
|
||
|
permissions: permission for the special class.
|
||
|
- -mobarena.classes.diamondknight
|
||
|
|
||
|
donor: <-- This is the donor group, which also
|
||
|
inherits: default-aux inherits from default-aux, but it
|
||
|
permissions: does not revoke any class permissions,
|
||
|
- essentials.balance.others which means it has access to all of
|
||
|
- essentials.kit them by default.
|
||
|
|
||
|
This sample setup is **pseudo code** and cannot be simply copy/pasted
|
||
|
into your own permissions file. It's your job to figure out how your
|
||
|
permissions plugin works, and what its syntax is.
|