The Ultimate Guide on setting up PermissionEX!

Discussion in 'Bukkit Help' started by Micro5, Jul 5, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    Micro5

    [​IMG]


    Hello everyone,
    In this thread I will be teaching the ones that would like to learn how to code permissions using PermissionsEX. If you need any help or have any questions feel free to send me a message or post on this thread!

    Chapters:
    • Getting the Plugins we need
    • Getting the Permission Nodes from the plugins
    • Our Template
    • Learning the Basics of PermissionsEX
    Chapter 1, Getting the Plugins we need:
    The following plugins you will need for your permissions.
    PermissionsEX: http://dev.bukkit.org/server-mods/permissionsex/
    HeroChat ( Optional ): http://dev.bukkit.org/server-mods/herochat/
    Vault ( Have to get with HeroChat! ): http://dev.bukkit.org/server-mods/vault/
    Essentials & EssentialsChat (Optional): http://dev.bukkit.org/server-mods/essentials/

    You have to choose either HeroChat & Vault or just Essentials & EssentialsChat. When you download PermissionsEX it will come with three .jar files. PermissionsEX.jar, ModifyWorld.jar, and ChatManager.jar. You can keep ChatManager but in that case you cannot get EssentialsChat or HeroChat. I recommend getting HeroChat. If you get HeroChat or EssentialsChat you must delete ChatManager or else your permissions/prefixes will not work correctly.

    Chapter 2, Getting the Permission Nodes from the plugins:
    Your probably wondering, "What are Permission Nodes?!" well, permission nodes are the permissions itself from the plugin. Its the permission that you would use for what command you would like what group to be able to do. For example, lets take the plugin "AlphaChest". If we want our players to be able to use /chest and /workbench then we need to find the permissions for that. Let's go to their bukkit page. Scroll down to the section called "Commands". As you see in that section, they have the command and the permissions for that command. If we would like the default group to be able to use /chest and /workbench, then we need to add that into our permissions.yml. Here is what it would look like:

    Code:
    groups:
      default:
        default: true
        permissions:
        - alphachest.chest
        - alphachest.workbench
        prefix: '&7[Guest]'
    We added in the two permissions for /chest and /workbench as you saw on the AlphaChest Dev Bukkit page. You can do this for any plugin. All you have to do is type into google "<Plugin Name> Permissions" and you can find the permissions there and add them to the group you would like them to be in.

    Chapter 3, Our Template:
    In this Chapter I am going to show you a old permissions.yml I used along time ago for one of my servers. Feel free to put it on your own server or change it around the way you want it.
    Code:
    groups:
      default:
        default: true
        permissions:
        - essentials.warp.vault
        - lockette.user.create.*
        - worldgaurd.group.Guest
        - worldgaurd.group.default
        - warp.out
        - essentials.warp.out
        - protectionstones.destory
        - warp
        - auction.info
        - auction.bid
        - modifyworld.*
        - essentials.balance
        - essentials.help
        - essentials.helpop
        - essentials.home
        - essentials.kit
        - essentials.kit.Starter
        - essentials.list
        - essentials.warp
        - essentials.msg
        - essentials.tell
        - essentials.t
        - essentials.pay
        - essentials.signs.use.buy
        - essentials.signs.use.sell
        - essentials.portal
        - essentials.sethome
        - essentials.spawn
        - essentials.tpa
        - essentials.tpaccept
        - essentials.tpahere
        - essentials.tpdeny
        - essentials.warp
        - essentials.warp.list
        - factions.join
        - factions.help
        - factions.leave
        - factions.chat
        - herochat.speak.global
        - mcmmo.ability.acrobatic
        - mcmmo.ability.archery
        - mcmmo.ability.axes
        - mcmmo.ability.excavation
        - mcmmo.ability.herbalism
        - mcmmo.ability.mining
        - mcmmo.ability.taming
        - mcmmo.ability.unarmed
        - mcmmo.ability.woodcutting
        - mcmmo.skills.acrobatic
        - mcmmo.skills.archery
        - mcmmo.skills.axes
        - mcmmo.skills.excavation
        - mcmmo.skills.fishing
        - mcmmo.skills.herbalism
        - mcmmo.skills.mining
        - mcmmo.skills.taming
        - mcmmo.skills.unarmed
        - mcmmo.skills.woodcutting
        - modifyworld.chat
        prefix: '&b[&8Plot&b]'
      Member:
        permissions:
        - group.Member
        - modifyworld.*
        - herochat.speak.global
        inheritance:
        - Default
        prefix: '&9[Member]'
      Builder:
        permissions:
        - group.Builder
        - essentials.fly
        - essentials.tp
        - essentials.tphere
        inheritance:
        - Member
        prefix: '&2[Builder]'
      Trial-Mod:
        prefix: '&3[Trial-Mod] '
        inheritance:
        - Moderator
      Moderator:
        permissions:
        - -essentials.ban
        - -essentials.tempban
        - protectionstones.destory
        - protectionstones.destory
        - protectionstones.create
        - protectionstones.flag.pvp
        - protectionstones.flag.build
        - -vanish.vanish
        - alphachest.workbench
        - alphachest.chest
        - alphachest.admin
        - essentials.baltop
        - essentials.nick
        - simplehat.*
        - essentials.back
        - essentials.sethome.multiple
        - essentials.fly
        - auction.admin
        - essentials.heal
        - essentials.jail
        - essentials.color
        - essentials.kick
        - essentials.mute
        - essentials.warp
        - essentials.help
        - essentials.clearinventory
        - essentials.delwarp
        - essentials.eco.loan
        - essentials.ext
        - essentials.getpos
        - essentials.helpop.recieve
        - essentials.home.others
        - essentials.invsee
        - essentials.jails
        - essentials.jump
        - essentials.kick
        - essentials.kick.notify
        - -essentials.kill
        - essentials.mute
        - essentials.realname
        - essentials.setwarp
        - essentials.signs.create.*
        - essentials.signs.break.*
        - essentials.spawner
        - essentials.protect.alerts
        - essentials.protect.admin
        - essentials.protect.ownerinfo
        - essentials.togglejail
        - essentials.tp
        - essentials.tphere
        - essentials.weather
        - essentials.whois
        - essentials.world
        - essentials.spawn
        - playerz.1
        - herochat.join.staff
        - herochat.speak.staff
        - herochat.leave.staff
        - herochat.speak.global
        - herochat.leave.global
        - worldguard.god
        - worldguard.region.define
        - -worldedit.wand
        - worldguard.region.info
        - worldguard.region.addowner.*
        - worldguard.region.removeowner.own.*
        - worldguard.region.removemember.own.*
        - worldguard.region.flag.regions.*
        - worldguard.region.remove.*
        inheritance:
        - Member
        prefix: '&b[Mod]'
      Semi-Admin:
        permissions:
        - protectionstones.flag.chest-access
        - essentials.gamemode
        - alphachest.admin
        - essentials.ban
        - essentials.ban.notify
        - essentials.thunder
        - essentials
        - essentials.heal
        - essentials.jail
        - essentials.kick
        - essentials.mute
        - essentials.spawn
        - playerz.1
        - herochat.speak.global
        - modifyworld.*
        - modifyworld.mobtarget.*
        inheritance:
        - Moderator
        prefix: '&c[Semi-Admin]'
      Admin:
        permissions:
        - null
        - coreprotect.inspect
        - -coreprotect.rollback
        - herochat.autojoin.Staff
        - protectionstones.*
        - protectionstones.flag.passthrough
        - vanish.see
        - essentials.smite
        - simplehat.51
        - essentials.broadcast
        - essentials.spawn
        - essentials.unban
        - playerz.1
        - herochat.speak.global
        - herochat.join.upperstaff
        - herochat.leave.upperstaff
        - herochat.speak.upperstaff
        - mobdisguise.*
        - lockette.admin.snoop
        inheritance:
        - Semi-Admin
        prefix: '&c[Admin]'
      Super-Admin:
        permissions:
        - essentials.invsee
        - essentials.nick.others
        - essentials.gamemode
        - playerz.1
        inheritance:
        - Admin
        prefix: '&3[&cSuper-Admin&3]&c'
      Head-Admin:
        permissions:
        - vanish.*
        - alphachest.admin
        - alphachest.chest
        - alphachest.workbench
        - essentials.spawn
        - essentials.banip
        - playerz.1
        - herochat.speak.global
        - mobdisguise.player
        inheritance:
        - Super-Admin
        prefix: '&6[&cHead-Admin&6]&c'
      Operator:
        permissions:
        - herochat.autojoin.Staff
        - '*'
        - bukkit.command.op
        inheritance:
        - Head-Admin
        prefix: '&6[&eOP&6]&e'
      Co-Owner:
        permissions:
        - '*'
        - bukkit.command.op
        inheritance:
        - Operator
        prefix: '&4[Co-Owner]'
      Developer:
        permissions:
        - '*'
        - bukkit.command.op
        inheritance:
        - Co-Owner
        prefix: '&e[&4Developer&e]&4'
      Owner:
        permissions:
        - '*'
        inheritance:
        - Developer
        prefix: '&4[Owner]'
    
    Chapter 4, Learning the Basics of PermissionsEX:
    Now that you know everything you need to know about permissions its time to get to the good stuff. Whenever you start your permissions, you always start with the Group Name. If you are starting off with the first group ( default ) then you need to put
    Code:
    groups:
      default:
        default: true
        permissions:
    first, always. So, lets code our permissions.
    Code:
    groups:
      default:
        default: true
        permissions:  //We always start with permissions: after the group name.
        - alphachest.chest
        - alphachest.workbench
        - modifyworld.*
      Moderator: //Now to start with the group name
        permissions: //Next comes permissions:
        - essentials.kick //And now comes the permission nodes
        - essentials.jail
        - essentials.nick
        - essentials.nick.others
    If you would like your group to be able to do what the group above it can do as well as the permissions you coded for the group then you have to add
    Code:
    groups:
      default:
        default: true
        permissions:
        - alphachest.chest
      Moderator:
        permissions:
        - essentials.kick
        inheritance:
        - default
    Whenever you are doing the "inheritance:" code you need to put "- <groupname>" below it. For the example above we have added it so that Moderators have inherited all of the permissions from default.

    Last but not least, adding prefixes. All you have to do, is add in "prefix:" below "inheritance:". Here is some code to help you:

    Code:
    groups:
      default:
        default: true
        permissions:
        - alphachest.chest
        - alphachest.workbench
      Moderator:
        permissions:
        - essentials.kick
        inheritance:
        - default
        prefix: '&b[Mod]'
    There you have it! You now should be able to code your own permissions! I hope you liked my guide and if you have any questions, anything you think I should add, or need any help, feel free to send me a message or post on this forum! :)

    Have a nice day!

    - Micro
     
  2. Offline

    Omnitv

  3. Offline

    Micro5

    bump
     
  4. Offline

    ShootToMaim

    Omnitv likes this.
Thread Status:
Not open for further replies.

Share This Page