YAPP (Yet Another Permissions Plugin)

There are many permission plugins available to choose from. This is yet another one.

Introduction

The aim of this plugin is to make managing permissions as user-friendly as possible. It has an easy to use in-game menu system for making permission modifications, as well as fairly easy to understand commands. The files it creates are also very user-friendly, as they are not as strict as YAML files. Indentation and whitespace are not a concern.

Features

  • Server-wide permissions
  • Per-world permissions
  • Inherit multiple groups
  • Chat prefixes and name colors
  • Promote and demote players
  • Rename and delete groups
  • Complete in-game menu system

Guide

The full guide to this plugin can be found here:

http://nisovin.com/yapp/

What Are Permissions?

If you have never used a permissions plugin before, you may not know exactly how they work or what they are used for. If that is true, then this section is for you. If you are already familiar with other permissions plugins, you can skip this section.

A permissions plugin allows you to have detailed control over what kinds of things your players can do. Each plugin can define certain permission "nodes" that control certain actions from that plugin. A node generally takes the form of pluginname.command or pluginname.feature.something. In order for a player to use that command or feature, they must have the associated permission node. Each plugin should have a list of permission nodes somewhere on its project page or website.

This plugin allows you to assign permission nodes directly to players. It also allows you to set up permission groups. You can then assign permission nodes to groups instead of to the players. Then you can put a player in the groups they belong in, and they will inherit the permissions of the group.

In addition, groups can be members of other groups. So for example, you could have an "admins" group, that inherits (is a member of) the "moderators" group, which inherits the "members" group. If a player is placed in the "admins" group, then they will get those permissions, as well as the "moderators" and "members" permissions.

This plugin also allows you to set up server-wide permissions and world-specific permissions. For example, you could give a certain permission node to a group, but then remove that permission node for that group in a specific world. Or you can ignore server-wide permissions all together and put all permission data in each individual world. How you set it up is your choice.

Installation and Configuration

Simply download the file and drop it into your plugins folder to install. If you are converting from another permissions plugin, there are some conversion commands available.

When you start your server for the first time after installing, a config.txt file will be created in your plugins/YAPP folder. An important thing about this configuration file (and all files this plugin creates) is that they are much more friendly than yml files. It is okay to add extra whitespace, including both tabs and spaces.

The names of the config values are fairly self-explanatory, but a full description can be found in the config section of the plugin guide.

Permissions

This plugin uses several permission nodes. The important ones are:

  • yapp.admin - Only those with this permission can use the in-game commands to modify permission settings. Defaults to op-only.
  • yapp.build - A player must have this permission to interact with the world. This permission can be disabled in the configuration file. Defaults to false.

There are also permissions for the promote and demote commands, as well as permissions that can control a player's ability to interact with the world. A full list can be found in the permissions section of the plugin guide.

Usage

The methods for modifying permission settings are designed to be very easy to use and easy to remember. There are actually three ways to make changes to the permission system.

Remember when making changes with any of these methods you will need to reload for the changes to take effect. In the menu, the option to reload is in the main menu, option '5' or 'S' or 'R'. The command to reload is /yapp @ or /yapp reload. You can also reload just a specific player's permissions with the command /yapp @ player. Note that this will only reload simple changes, like adding or removing permission nodes or groups directly to the player (if you add or remove permissions to a group, reloading the player will not reload the group changes).

Menu

The main command in this plugin is /yapp. The aliases /perm and /perms are also available. If you use this command on its own without any arguments, it will open a guided menu system. The menu is the easiest way to make simple modifications to permission and group information.

While you are in the menu system, there are a few options that are always available to you.

  • < will return you to the previous menu
  • ! will return you to the main menu
  • ? will tell you your current selection, and will sometimes give help about the current screen
  • q or quit will exit the menu

Many of the menu screens will have a list of numbered options with highlighted words. To select an option, you can either type the number, type the highlighted word, or just type the highlighted letter within the word.

Commands

Changing settings with normal commands will require multiple commands in sequence. These commands can be used both in-game (with the yapp.admin permission node) and on the command line. In general, your commands will use the following pattern:

You can look at some examples to help you understand how it works.

There are also commands for promoting and demoting players.

Files

The file storage system for this plugin is designed to be very easy to read and understand. It is whitespace-friendly, meaning you can add extra spaces, tabs, and line breaks without problem. The one disadvantage is that the information is spread into many different files. However, this can also be seen as an advantage, as you don't have to scroll through huge files to find what you're looking for.

For further information, please see the files section of the plugin guide.

Source

The full source can be found on my repository on Google Code:

http://code.google.com/p/nisovin-minecraft-bukkit-plugins/source/browse/trunk/YAPP/

Question and Answers

Why create another permission plugin?

Partly to learn. Partly because I wanted to make a better plugin. And because I just felt like it. Some may hate me for adding yet another permission plugin to the pool, but I personally think I've created something useful.

Does this support Vault?

It should fully support Vault, including any plugins that depend on Vault.

Can I use the '*' node?

Special wildcard nodes are supported, but they have some restrictions. See the wildcard information in the guide.

Why so many files?

Why so few? I know a lot of people prefer to have their permission data crammed into just a couple files, but I personally think it's nice to have it spread out. Digging through a massive file for a specific user or group is just annoying. This way, you can easily see all the files, probably in alphabetical order, and find exactly what you're looking for fairly quickly.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of VideoGameBlackBelt VideoGameBlackBelt Apr 13, 2014 at 16:26 UTC - 0 likes

    PLEASE READ Cool plugin ive tried tons and this is by far the easiest and best. I have some ideas for the plugin maybe?

    1) (this is actually a question) can i like link it with enjin so it automatically gets they're rank when they donate and it gives them the rank with of course the permissions of the rank?If not that woud be a cool add on.

    2) (another question) for mods and admins and staff or whatever instead of opping them i use the permission thing but when i first open the permission thing for it its empty, is there a way without taking forever to put certain commands they can do like maybe just add a couple like /fly? actually now that i think about it i like the way you can choose every single command they can or cant do.

    3) Does this work with multiverse and essentials? And if not does it at least override their permissions? I was also thinking that i have yapp so there isn't exactly a need for essentials except the /nick ill just get another plugin for that...

    4) For deny permissions in the config its kinda a double negative, so do they mean set "Place Block" lets say to false so you can or cant place it? And does this set it for all the ranks? But i like how simple it is.

    5) Also i might or might not have found a bug with the rank thing if not then it would be a better way to organize the ranks if you have tons of ranks on your server. When i reload my server once ive put the ranks in the config it puts them all in random spots in the group folder.

    6) Does it allow you to have a prefix with whatever the name is and choose a color for it or maybe when you link enjin with it, it will change the name color but to be double secure (how i like it) you should also add it so you can have a color for a yapp prefix name in game?[I just read somewhere i forgot where but somewhere here on the website i saw a link clicked it and i figured out there are prefixes and colors for them just need to figure out where i do this for each rank....]

    7)(Recently Added) Make it easier to add a command someone can do im kinda confused what i do for basic command like to disable someone from doing /help or something. Please fix this soon because im about to launch my server public.

    If you finish all these things then this will definitly be the best perm plugin and you'll just have to update the versions every once in a while cause i cant think of anything else to add on it other than that.

    Overall i give this plugin a 10/10 cause it works great and very simple. If you answer any of these questions thanks!

    Last edited Apr 15, 2014 by VideoGameBlackBelt
  • Avatar of whatapigdoesdoesmakeplugins whatapigdoesdoesmakeplugins Apr 06, 2014 at 16:57 UTC - 0 likes

    You should make it so you can click the options in the menu, Shouldn't be too hard if you use fanciful

  • Avatar of slayermarth101 slayermarth101 Apr 01, 2014 at 22:18 UTC - 0 likes

    Is it possible to like promote or demote a player to a certain group without having to go up or down the ladder to the specific group?

  • Avatar of auranore auranore Mar 11, 2014 at 17:46 UTC - 0 likes

    This plugin works great for our needs, except one thing

    Maybe someone could modify this or knows of a plugin for it.

    We need to have multiple sets of groups, and we need to have group defined commands

    For instance, two groups of groups, one named User, another named Staff

    inside user, have groups "guest" and "member"

    the command to promote would be"/promote User auranore

    this would then promote auranore from guest to member

    another example would be a group of groups called "staff"

    inside this would be groups juniorstaff, seniorstaff, admin

    the commane would be /promote staff auranore

    and it would promote auranore from juniorstaff to seniorstaff

    thanks in advance

    mc.craftdoge.com

  • Avatar of ZonalYewHD ZonalYewHD Mar 05, 2014 at 02:15 UTC - 0 likes

    @xzile609: Go

    Dear Lord you are a savior. THANK YOU

  • Avatar of xzile609 xzile609 Feb 09, 2014 at 13:08 UTC - 0 likes

    To promote a player directly without using the ranks ladder (For paid ranks plugins like Donationcraft) try this. In game syntax /yapp playername | g groupname | @ playername for Donationcraft yapp {name} | g groupname | @ {name}

    Reminder the I is a key on your keyboard above the enter key gotta use shift also lol (just incase) so Shift + \ = | if that makes sense lol

  • Avatar of ParkintheDark98 ParkintheDark98 Feb 01, 2014 at 17:50 UTC - 0 likes

    Hello. I was wondering if anyone could help me with this but everytime a player logs. it resets their prefix to member. Well, Its mainly only THe Owner prefix but it still does it to the other ranks. im really curious about this. please help or if this is the plugin, please fix it >.< THankss

  • Avatar of netherslayer777 netherslayer777 Jan 26, 2014 at 03:49 UTC - 0 likes

    Would you consider implementing a better promoting system?

    Ill tag him.

    @nisovin

  • Avatar of jonnylucroy jonnylucroy Jan 23, 2014 at 03:00 UTC - 0 likes

    @netherslayer777: Go

    well, the owner runs the server off his computer and he cant get on much.. but yea :P

  • Avatar of netherslayer777 netherslayer777 Jan 22, 2014 at 22:10 UTC - 0 likes

    @datdenkikniet: Go

    I have been able to set people's chat color by simply placing the %color% in front of %message%

    However if you are using colors for the name already, it will still work just know you cant have a different colored name and a different colored chat

Facts

Date created
Jul 16, 2012
Category
Last update
Sep 17, 2013
Development stage
Release
License
GNU General Public License version 3 (GPLv3)
Curse link
YAPP (Yet Another Permissions Plugin)
Downloads
30,606
Recent files
  • R: v1.4 for CB 1.6.2-R1.0 Sep 17, 2013
  • R: v1.3 for CB 1.5.1-R0.1 Feb 28, 2013
  • R: v1.2 for CB 1.4.7-R0.1 Jan 30, 2013
  • R: v1.1 for CB 1.4.6-R0.3 Dec 31, 2012
  • R: v1.0 for CB 1.4.6-R0.1 Dec 27, 2012

Authors