[TUTORIAL] How to Install/Use PermissionsEx (Newb-Friendly)!

Discussion in 'Bukkit Help' started by ShootToMaim, Dec 21, 2011.

?

Did This Tutorial Help You?

  1. Yes.

    79.2%
  2. No.

    20.8%
  1. Notice:
    A complete rewrite is in the near future. :)

    Hey guys,
    I've noticed in a lot of posts here that people are having trouble finding out what permissions is, how to install it, how to use it, how to set up different groups, etc.
    I've gotten so tired of answering these questions, I just decided to make a thread on how to use PermissionsEx and how to install it.

    Great Features that PermissionsEx Has
    Click Me!

    1. 95% of ALL plugins are compatible with PermissionsEx!*
    2. Is the most FAMOUS permissions plugin of them all!
    3. It's ShootToMaim approved!

    * If the plugin(s) says that they are only compatible with PermissionsBukkit or another Permissions Plugin (BESIDES GROUPMANAGER), they are compatible with PermissionsEx because of the compatibility layer built into PermissionsEx. Trust me. I know.

    Parts of This Tutorial
    1. Basic Tutorial (in this post)
    2. Advanced Tutorial (in the next post)

    Things You'll Need
    Click Me!

    1. The Latest Version of Java
    2. PermissionsEx
    3. Notepad++
    4. The Latest CraftBukkit Recommended Build
    7. The CraftBukkit Starter
    8. A Brain.
    9. At least 15 minutes.


    PermissionsEx: Basic Tutorial Video
    Thanks to @Apachekiller / BukkitTeacher for making this video!​
    Basic Tutorial:
    Notes:
    1. I highly suggest you get used to using PermissionEx first, before taking the advanced tutorial.

    Steps

    1. First, download the Latest CraftBukkit Recommended Build.

    2. After downloading, make a folder on your Desktop named "Server".

    3. Open that folder up, and drop the .jar in.

    4. Rename the jar from whatever it's named to: "craftbukkit-0.0.1-SNAPSHOT" (without the quotes).

    5. Download the CraftBukkit Starter, and put it into the "Server" folder.

    6. Double-click on the CraftBukkit Starter to start the server. Starting the server will usually take 30 seconds-2 minutes on the first run. Stop the server by typing in: "stop" (without the quotes) in the CMD (the black box that was opened by the CraftBukkit Starter).

    7. After running the server, you should find many files generated.
    List of the Files

    1. A "Plugins" Folder
    2. A "world" Folder
    3. A "world_nether" Folder
    4. A "world_the_end" Folder
    5. A "banned-ips" Text File
    6. A "banned-players" Text File
    7. An "ops" Text File
    8. A "permissions.yml" Text File
    9. 2 "server" Files, 1 LOG File, and 1 PROPERTIES File
    10. A "white-list" Text File

    8. Download PermissionsEx.rar. Place the Permissions.jar and the PermissionsEx.jar in the "plugins" folder.

    9. Run your server again. Wait until it has finished loading up, and then type in: "save-all" (without the quotes. Then type in: "stop" when it's done saving.

    10. Now double-click on the "plugins" folder to open it. You will find that 1 folder has been generated: The "PermissionsEx" folder.

    11. Download Notepad++.

    12. Download Winrar.

    13. Place both files (1 .zip, 1 .exe) on your Desktop.

    14. Double click on the .exe with the "wrar" at the start of the name, and follow the on-screen steps to install Winrar.

    15. After installing Winrar, open up Notepad++ (the .zip with "npp" at the start of the name) with Winrar.

    16. Click on the "unicode" folder, then scroll down.

    17. Drag the "notepad+ +.exe" out of the .zip to the Desktop.

    18. Now on the Desktop, you should have:
    Click Me!

    1. Your "server" folder.
    2. The Winrar.exe installer.
    3. The .zip with "npp" at the start of the name.

    19. Now go back to your "plugins" folder. Double-click on the "PermissionsEx" folder in it, and double-click on the "permissions.yml".

    20. This should be in the "permissions.yml":
    Code (Text):
    1.  
    2. groups:
    3.     default:
    4.         default: true
    5.         permissions:
    6.         - "modifyworld.*"
    7.  
    The text that I quoted is called a permissions node. Most plugins will have these. modifyworld.* is useless right now, so we can delete this as shown in the next step.

    21. Now let's add some more groups into your permissions.yml. Let's say you want a "User" group to be the next rank after the "Default" group, so you would add more lines into the permissions.yml. WARNING: .yml files DO NOT read tabs!
    Code (Text):
    1.  
    2. groups:
    3.     default:
    4.         default: true
    5.         permissions:
    6.         - permissions.build: false
    7.     user:
    8.         permissions:
    9.         -
    10.         inheritance:
    11.         - default
    12.  
    The permissions node "permissions.build: false" means that the default group cannot build. If you want them to be able to build, you can change the "false" to a "true".

    22. Adding in a plugin to your server is the most fun part of being a server owner. First, let's get a plugin that is the right one for your server! Go to the plugins page to get plugins! You'll see different plugins with different headings! Here's an example of the PermissionsEx plugin:
    Code (Text):
    1.  
    2. [ADMN/DEV] PermissionsEx (PEX) v1.16 - Tomorrow Is Today! [1337]
    3.  
    Here's a list of what the 1st prefixes (ADMN/DEV) mean. There are different ones as well.
    Click Me!

    [ADMN] for plugins that provide extra plugin functionality that makes managing a server easier, like giving items, managing plugins, etc
    [SEC] for plugins that provide a way to combat and remedy griefing
    [CHAT] for plugins that provide improvements to chat like ignoring, local chat, channels
    [DEV] for plugins that provide developers with frameworks, new functionality
    [ECON] for plugins that provide an in-game economy
    [EDIT] for plugins that provide world editing functionality
    [FIX] for plugins that fix broken functionality
    [FUN] for plugins that add fun mechanics like games, destructive tools etc.
    [GEN] for plugins that provide standard functionality like playerlist, whitelist etc.
    [INFO] for plugins that provide extra information, like uptime
    [TP] for plugins that provide teleporting, homes, warps, etc.
    [MECH] for plugins that change Minecraft mechanics that don't fall under any other category
    [WEB] for plugins that are accompanied by a website script
    [WGEN] for plugins that provide custom world generators
    [RPG] for plugins that provide role playing experience mechanics
    [MISC] for plugins that don't fall into any other categories

    References:
    1. http://forums.bukkit.org/threads/pl...egory-requirements-updated-july-19-2011.1755/, by EvilSeph.

    If your server is a 1337 server (It says on the download page where you downloaded the SNAPSHOT.jar), you'll want to get a plugin that has a [1337] at the end of it on the title. In the example, PermissionsEx has a [1337] at the back of the title, so you know that the plugin is for 1337, and you can use it.

    23. Let's say that you want a jailing plugin. You would search: "jail" in the "Title:" search bar.
    Let's say that a plugin named "SimpleJail" pops up. You'll want to check it's CraftBukkit version that it is compatible with.
    [ADMN/SEC] SimpleJail v1.7 - Jail those nasty players [1337]
    Now you know that this plugin is compatible with CraftBukkit 1337, so you can go ahead and click it.

    24. Somewhere on that page it should give you a link to a BukkitDev page. If it doesn't, that's alright.
    On the SimpleJail page, you can read the description of it, and watch a video showcasing the plugin (if available). The permissions nodes for SimpleJail are:
    Code (Text):
    1.  
    2. SimpleJail.jail — Allows the use of /jail. Jail let's you jail a player.
    3. SimpleJail.unjail — Allows the use of /unjail. Unjail let's you unjail a player.
    4. SimpleJail.setjail — Allows the use of /setjail and /setunjail. Setjail allows you to set 2 points for the jail point and the unjail point.
    5. SimpleJail.* — Allows all SimpleJail commands
    6.  
    Now let's go back to the permissions.yml in the "PermissionsEx" folder.
    Code (Text):
    1.  
    2. groups:
    3.     default:
    4.         default: true
    5.         permissions:
    6.         - permissions.build: false
    7.     user:
    8.         permissions:
    9.         -
    10.         inheritance:
    11.         - default
    12.  
    Let's say you want the "user" group to be able to set the jail and unjail point, as well as jail a player, while the "default" group can be able to unjail a player, so you would do this:
    Code (Text):
    1.  
    2. groups:
    3.     default:
    4.         default: true
    5.         permissions:
    6.         - permissions.build: false
    7.         - SimpleJail.unjail: true
    8.     user:
    9.         permissions:
    10.         - SimpleJail.jail: true
    11.         - SimpleJail.setjail: true
    12.         - SimpleJail.unjail: false
    13.         inheritance:
    14.         - default
    15.  
    This will give the "user" group permissions to be able to Set the unjail point and the jail point, to jail a player, and to not be able to unjail a player.
    The "default" group will only be able to unjail a player.
    If you want the "user" group to be able to unjail a player as well, you would just remove the whole "SimpleJail.unjail" permissions node from the group, because the "user" group gets all the permissions nodes that the "default" group has because of the inheritance.

    25. Save your permissions.yml, close it, and start up your server!

    26. You're done!

    More Information Before You Start Personalizing Your "permissions.yml":
    a) If you'd like a group to have no permissions, just leave a "-" underneath the permissions like so:
    Code (Text):
    1.  
    2.     user:
    3.         permissions:
    4.         -
    5.         inheritance:
    6.         - default
    7.  
    c) The permissions.yml is something like a rank ladder. The default group is, well, the default group, the worst group in the entire permissions.yml. The "user" group is the best group in the permissions.yml.
    d) You can add groups to your permissions.yml. There is no limit of the amount of groups you can add. Just copy the "user" group settings, and paste it at the bottom of your "group" section of the permissions.yml. Change the "user:" part of the permissions settings to your new group name, and the inheritance to the group that's worser than it. For example, if I want the best group to be "Minions", I would do this:
    Code (Text):
    1.  
    2. groups:
    3.     default:
    4.         default: true
    5.         permissions:
    6.         - permissions.build: false
    7.         - SimpleJail.unjail: true
    8.     user:
    9.         permissions:
    10.         - SimpleJail.jail: true
    11.         - SimpleJail.setjail: true
    12.         - SimpleJail.unjail: false
    13.         inheritance:
    14.         - default
    15.     Minions: <------------- Remember to change this!
    16.         permissions:
    17.         -
    18.         inheritance:
    19.         - user  <------------- Remember to change this!
    20.  
    Of course, you don't need the SimpleJail permissions nodes in there, they're just examples.

    Credits
    ShootToMaim for the 2 PermissionsEx Tutorials (Basic and Advanced)!
    ApacheKiller for the PermissionsEx Video Tutorial!
     
  2. Advanced Tutorial

    Notes/Warnings:
    1. You'll have to delete all of your existing permissions before using this.
    2. After using this, you'll be able to add in Group-Specific prefixes, and certain permissions for each map.
    3. Make a backup of your permissions.yml. I cannot stress this enough. Make a backup of your permissions.yml!

    Steps
    1. Open up your permissions.yml in the PermissionsEx folder in your Server folder.

    2. Delete everything in there.

    3. Now use this template:
    users:[/SIZE]
    ShootToMaim:
    group:
    - admin
    permissions:
    - '*'
    worlds:
    SurvivalCraft:
    permissions:
    - '*'
    group:
    - admin
    prefix: '&4[Admin]&f'
    groups:
    admin:
    permissions:
    inheritance:
    - moderator
    options:
    test.test: '100500'
    worlds:
    SurvivalCraft:
    permissions:
    - nocheat.fly
    prefix: '&4[Admin]'
    moderator:
    permissions:
    inheritance:
    - VIP
    options:
    test.test: '100500'
    worlds:
    SurvivalCraft:
    permissions:
    - nocheat.fly
    prefix: '&1[Moderator]'
    VIP:
    permissions:
    inheritance:
    - advanceduser
    options:
    test.test: '100500'
    worlds:
    SurvivalCraft:
    permissions:
    - nocheat.fly
    prefix: '&6[VIP]'
    advanceduser:
    permissions:
    inheritance:
    - default
    options:
    test.test: '100500'
    worlds:
    SurvivalCraft:
    permissions:
    - nocheat.fly
    prefix: '&2[AdvancedUser]'
    user:
    default: true
    permissions:
    inheritance:
    - null
    options:
    test.test: '100500'
    worlds:
    SurvivalCraft:
    permissions:
    - nocheat.fly
    prefix: '&a'
     
  3. I added some fixes to the OP.
     
    xJennaMarieMasonx likes this.
  4. Offline

    fury

    Wow, this really helped me get my permissions system up and going! thanks! before I found permissions hard and intimidating, but this simplifies it a lot. But why does Notepad++ mark whatever I add red? i've used Notepad++ for a long time now, and I've never seen it do that. and the code that I add works., it just turns it red.
     
  5. Thanks for your feedback!
    Notepad++ marks whatever you add red to show you the difference between what was the original text, and what was the new text that you added.
    Notepad++ marks whatever you add red to show you that .yml files doesn't read tabs.
     
    xJennaMarieMasonx likes this.
  6. You referenced the CraftBukkit installer, didn't you. TnT hates that :p
    I'll take a look in a bit.
     
  7. Offline

    fury

    nah, I found why it was red: I forgot that yaml files don't read tabs, so I replaced them all with spaces and now it looks normal. Great tutorial!
     
  8. Offline

    xx_insanity_xx

    I figure you probably know this but for those who don't.

    I can't remember if Notepad++ Is set to do it by default but you can change the configuration to automatically use 4 spaces instead of a tab. It should be under: Edit -> Preferences -> Language Menu/Tab Settings.
     
  9. Offline

    fury

    no it is not, but I found this setting just a little bit ago.
     
  10. Why doesn't he like it? :D It's great!
    Thanks for the reply!
     
    xJennaMarieMasonx likes this.
  11. Any news?
    BTW, thanks for taking a look for me!
     
    xJennaMarieMasonx likes this.
  12. Offline

    Apachekiller

    Bump to let newbies see this! :)
     
    ShootToMaim likes this.
  13. I would bump, but I don't want to get an infraction for it... i'd like to keep my record clean.
     
    xJennaMarieMasonx likes this.
  14. I fixed some grammar in the original post.
     
    xJennaMarieMasonx likes this.
  15. Doesn't work. Under the "Edit" tab, there is no "Preferences".
     
    xJennaMarieMasonx likes this.
  16. Offline

    xx_insanity_xx

    i meant the edit menu

    Edit: Nvm... wow try the settings menu lol
     
  17. Anything new about the status of this being stickied?
     
    xJennaMarieMasonx likes this.
  18. @TnT says no
     
  19. Offline

    TnT Retired Staff

    @ShootToMaim I like the tutorial. You can link to it anytime you see users struggling.

    Community tutorials are great, but we simply cannot sticky every one of them. I think we should have an area on the Wiki for them, perhaps @resba can help with that?
     
  20. I'm glad you made a tutorial for this @ShootToMaim

    PermissiosnEX is by far the permissions plugin with which people have the most trouble. Hopefully this will lower the amount of posts asking for help with it!
     
    ShootToMaim likes this.
  21. These tutorials are always welcome on the wiki, feel free to set it up there @ShootToMaim and link it to the Bukkit Developers Portal.
     
  22. I plan on making a bPermissions version of this whenever I get the time... :p
     
    ShootToMaim likes this.
  23. Would you like to work with me to make a complete Permissions tutorial with me?
    When I say "complete Permissions", I mean PermissionsEx, bPermissions, GroupManager, and PermissionsBukkit.
    If you want to, PM me for more details!
     
    xJennaMarieMasonx likes this.
  24. Alright, thanks @resba.
     
    xJennaMarieMasonx likes this.
  25. I say "Thanks anyway".
     
    xJennaMarieMasonx likes this.
  26. Thanks!
    BTW, congratulations on your new position!
     
    xJennaMarieMasonx likes this.
  27. Ah, thanks ;)
     
  28. Hmm I'm sure @TnT will want it in Bukkit docs later.
     
    ShootToMaim likes this.
  29. I only use bPerms. :p
     
  30. Offline

    TnT Retired Staff

    Indeed, I think its a great idea.
    I also think this is a great idea. Maybe include a tutorial on using the built in permissions with just the basic permissions.yml?
     
    ShootToMaim likes this.

Share This Page