Noob's Guide to Bukkit permissions [Inc example files]
Level 73 : Legendary Warrior
Level 73 : Legendary Warrior
Posted 12/3/11 5:58 pm
These days I play Supreme Commander, which is probably the greatest RTS you've never heard of!
I do daily uploads of gameplays, replays and tutorials - check out my videos you might like them :)
One part of: The Ultimate Server Guide
This guide is part 5 of the ultimate server guide. For all other server stuff, check out the ultimate server guide. Includes: Making a server, using plugins, great plugins to have, stopping cheaters and griefers, and a noob's guide to permissions!
A noobs guide to Permissions
- If you liked it, please Diamond and maybe Favourite ^_^
- Also, subscribe to me if you want more tutorials!
Permissions, they are an absolute pain, and never seem to be explained in an easy way. This should hopefully be able to get you to set up your own permissions system and be able to use permissions just fine. The 2 plugins available are bPermissions and PermissionsEX. Apologies for length!
Allows you to give ranks/groups to certain players, meaning different players can have different prefixes in front of their name and have access to different commands.
Default has access to basic stuff. Trusted gets access to a bit more and [Trusted] before their name. Moderator gets access to /mute, /kick, /ban etc and [Mod] before their name.
Inheritance:Inheritance allows you to have all the commands from a lower group. 'Inheritance' in bPermissions works a little differently (see later).
Example: A moderator has inheritance from default users and trusted users. This means they get access to all commands that those two user groups have, as well as the moderator commands.
Nodes:A node basically refers to which /command you are giving or restricting access to. By adding a permissions node, you give access to that particular command. To find which command refers to which node, go to the plugin's page on bukkit (search bukkit.org or dev.bukkit.org) and view the page on their 'permissions nodes'.
Permission node format:
Permissions files are done in yaml format. You cannot use tabs in yaml format, you need to use multiple spaces instead. I highly recommend using Notepad++, as it is very easy to use and shows when you have formatted incorrectly by changing text to red.
When you have finished formatting your permissions file, you need to put it through a yaml parser. This basically checks to see if it conforms to the yaml formatting. Copy the permissions into the window. If it displays fine, then great. If it shows you errors, then navigate to the line the error is shown in and check what you have done wrong.
Setting up Permissions
There are two main options for permissions, bPermissions and PermissionsEX. I am going to go into PermissionsEX in detail and give a brief overview of bPermissions. I recommend using PermissionsEX.
1 Permissions are a nightmare. If you do just one thing wrong it is likely absolutely nothing will work. Don't do anything unless you are sure it is the right thing to do. Don't just guess how it should be! Best way is just to copy from the examples I give.
2 After you do some editing and before you load it up, copy the whole text in your permissions file into HERE. If you get errors then go to line the error is on, and work out what you did wrong. 90% of the time it is adding a tab by accident. Always uses spaces and not tabs.
3 Go really slowly. Don't do or add too many things at once. Go in game and check it is working properly before you move on too far. Otherwise you don't know which bit is wrong.
4 Keep at it, permissions is something you eventually learn from making mistakes and fixing them. It gets easier with practice as you stick with it.
5 Use Google. Find out how to fix various things from other people with the same problem.
1 Download and install Notepad++. Open all these .yml files using Notepad++.
2 Download PermissionsEX and put all 4 jar files in your plugins folder. Startup your server, and then type 'stop' in the server command window.
3 Download THIS and open the example files as your read through each part
1 Basic structure of permissions file, with default member, trusted member, moderator and admin.
1 Go to your plugins/chatmanager folder and open config.yml. Change the line 'enable:false' to 'enable:true'. ChatManager is needed to add colours and prefixes.
Open up file 1 and have a look through as you read.
2 'default:true' means that a new player joining the server will start in the group 'Default'
Each group has its own prefix, which you can change to whatever you want. The suffix is currently left blank.
'permissions:null' means that currently none of the groups have any permissions to use commands.
'inheritance:' means that that group inherits all the nodes (commands) from that group.
The admins have - '*' in their permissions list. The * means 'everything' so this means they can use every single command possible.
3 Take the file and put it into you plugins/permissionsEX folder. Rename it to permissions.yml. Now replace 'zaphodx' with your minecraft name at the bottom in the 'users:' section. Try it out and you should see when you chat that your prefix will change depending on what group you are in. Also notice you can only use basic commands unless you are in the admin group.
2 Adding basic Bukkit commands
Open up file 2 and check through it as you read this portion.
Important Note:When adding nodes, you MUST NOT add any tabs. When you press enter to add another line of nodes, it will automatically add 2 tabs. YOU MUST delete these tabs and enter 8 spaces instead!
1 First of all go HERE.
These are the basic commands for a Bukkit server. Look through them and decide who should have which commands. Here is how I decided to do it:
I decided moderators can have the following commands: /kick, /ban, /ban-ip, /pardon and /pardon-ip.So from the list I can see the permission nodes I need to add are:
Using the * wildcard I can reduce the nodes I need to add to the 'Moderators' group to just this:
2 Now moving on to trusted players, I don't really need to give them anything, since they inherit all the commands that Default users have anyway.
And for Default users, Looking at the 'permissions default' column of the Bukkit commands I can see they already get some commands. However I also want to let them have /help and /list so I add:
3 However, If you have read my guide HERE, I recommend disabling /version and /plugins to make it harder for griefers and cheaters. So I will add a negative permissions node to the default group.
Optionally, you could allow your trusted members to access those two commands. In this example I have decided to let the trusted users access these commands. Check the difference in-between the 'Default' group and the 'Trusted' group. Default have a negative node stopping them from using them, and then the Trusted have a normal node added, allowing them to use these commands again.
4 Look through file 2 and make sure you understand where and why I added the nodes.
3 Adding a couple of plugins
So, I'm now going to add a few plugins, NoCheat and Lockette.
First check out the NoCheat permissions nodes HERE.
1 I don't want to let any of my players cheat, but I do want my moderators and admins to be able to fly. From the NoCheat permissions page I see I can add nocheat.checks to stop nocheat checking players.
Add to Moderators group:
2 Admins have '*' so they have access to all commands. But I don't want my admins to be able to cheat, so I have to place a negative permissions node for all NoCheat checks. This means they aren't immune to NoCheat. However I do still want to let my admins fly and check in-game logs from nocheat. So these are the permissions nodes that I add for admins:
-nocheat.* (even admins are checked)
nocheat.checks.moving.* (Admins can still fly)
nocheat.admin.* (Admins can check NoCheat logs)
Go to the Lockette page HERE. Scroll down and open the spoiler called 'advanced setup (permissions)'.
1 Looking through the permissions nodes, I want my moderators to be able to check up on anyone suspicious, so I will let them have all the admin permissions for snooping, by giving them the node:
2 I want to be able to allow even new guest users in the Default group to lock their chests/furnaces, so I will give the Default group the node:
3 Have a look through file 3 and check you understand how I edited the permissions file.
4 Multiple world permissions
Multiple worlds:If you have multiple worlds or want seperate permissions for the nether, just split the permissions up into 2 groups, based on the worldname (name of the folder your world is in).
Check file 4 to view how to convert file 3 into worlds with different permissions.
Modifyworld is an optional part of PermissionsEX that gives you some extra control over what you choose to let players do.
Go HERE and check out what it can do. In particular, scroll down to the 'generic' modifyworld permission nodes.
First open up your plugins/modifyworld folder. Open the config.yml and set enable:true.
Until you add some modifyworld nodes, nobody can do anything. To enable all, add the permissions node:modifyworld.*
Examples of how you could use modify world:
Protect a VIP's tamed wolves by putting a negative permission on damaging a certain player's wolves:
Stop Default users from using flint and steel (item ID=259):
To make a special 'Guest' group that can only walk around and check out the server, make a new group and give them only these two nodes and no others:
If you want some more support for PermissionsEX check out BENNETTMAN's guide here!
1 A few different player groups, prefixes, players
First open file 1, in the bPermissions folder HERE and look at it in notepad++. I've created 5 groups.
Scroll down to the bottom and you will see names of players and then the groups of commands they are allowed to use. For example a VIP has default, trusted and VIP groups. This means they get access to all commands that default and trusted players get, as well as VIP commands.
Scroll back up to the top, and you can see which nodes are in each group. The default group has 'bpermissions.build' which means they can break and place blocks. If you only want guests to be able to walk around, then you could put that node into the trusted group.
A prefix appears before your name in chat. Each group has a prefix, in the format:- prefix.[strength].[text]The strength indicates whichever prefix a player has will override any other prefix which has a lower strength. Example: admins have strength 50 for the prefix [Admin], so in-game they will only have '[Admin]', and not get any other prefixes that have a lower strength. I have left the prefixes as the same name as the groups but they can be changed to whatever you want.
The moderators and admins have 'bpermission.' nodes that allow them to promote or demote up to their rank of moderator/admin.
Important things to note:
You cannot use '*' as a wildcard in bPermissions, you MUST enter every permission node.
Capital letters are very important! You MUST enter player's names and group names with the correct capital letters!
Using /p helpme:
This is a useful command in bPermissions, but be very careful! Backup your permissions file FIRST. By typing /p helpme it will generate a new permissions file that generates all the permission nodes for the plugins that support it, and auto-places them into groups based on a guess of where they should be. This isn't supported by all plugins, but it does work for quite a few. You can then cut and paste the permissions into the groups you want them to be in.
Use the YAML parser and check you do not have any errors
Be very careful with capital letters of player names and group names
You have to stop the server to reload permissions changes
|Tags:||Tutorial, Minecraft, Server, Make, Setup, Create, Host, Beta, Hosting, Vanilla, Bukkit, Plugins, Help, Hamachi, Port, Forwarding, Portforwarding, Guide, Herobrine, Permissions, BPermissions, PermissionsEX|