[ADMN/DEV] PermissionsBukkit v2.0 - Official Default Groups Plugin [1.5.2-R1.0]

Discussion in 'Archived: Plugin Releases' started by SpaceManiac, Jul 17, 2011.

  1. Offline

    SpaceManiac

    PermissionsBukkit - the Official Default Groups Plugin
    Current Version: v2.0
    Find PermissionsBukkit on BukkitDev!

    If you are getting a specific error or cannot determine what is wrong with your permissions file, filing a ticket on BukkitDev will make me much more likely to respond to you; general questions are best to ask in this thread or on the forums on BukkitDev.

    It's been a long time coming, but with the accomplishment of build 1000 Bukkit has finally accomplished a built-in Permissions system (codenamed Superperms). For more info on how they work, and how to integrate them with your plugin, see the official Permissions FAQ. Keep in mind that you should rarely, if ever, have to hook this plugin directly; instead keep things in the realm of checking player.hasPermission("yourplugin.node"). The FAQ thread has more info on how to use Superperms with things like chat prefixes/suffixes.

    Features:
    • Storage of users and groups in plugins/PermissionsBukkit/config.yml.
    • Both users and groups can be assigned individual permissions and parent groups to inherit permissions from.
    • Support for global and per-world permissions.
    • Reload configuration from file with out reloading the plugin.
    • Ability to check if a player has a specific permission node.
    • Ability to dump all permissions a player has and the plugins that set them.
    • Ability to print plugin, description, and default for a given permission node.
    • Ability to modify the permissions of groups and users and the groups of a user in-game.
    • Built-in antibuild via the "permissions.build" node (defaults to allowing anyone to build).
    • A minimalistic bridge from Permissions 3.0 to Superperms is available as a separate plugin, which does not depend on PermissionsBukkit.
    Command Usage:

    Show Spoiler
    PermissionsBukkit uses the command /permissions, with aliases /perms and /perm.

    /permissions reload - reload the configuration from disk.
    /permissions check <node> [player] - check if a player or the sender has a permission (any plugin).
    /permissions info <node> - prints information on a specific permission.
    /permissions dump [player] [page] - prints info about a player's (or the sender's) permissions.
    /permissions setrank <player> <group> - set a player to be in a group with per-group permissions.
    /permissions group - list group-related commands.
    /permissions group list - list all groups.
    /permissions group players <group> - list players in a group.
    /permissions group setperm <group> <[world:]node> [true|false] - set a permission on a group.
    /permissions group unsetperm <group> <[world:]node> - unset a permission on a group.
    /permissions player - list player-related commands.
    /permissions player groups <player> - list groups a player is in.
    /permissions player setgroup <player> <group,...> - set a player to be in only the given groups.
    /permissions player addgroup <player> <group> - add a player to a group.
    /permissions player removegroup <player> <group> - remove a player from a group.
    /permissions player setperm <player> <[world:]node> [true|false] - set a permission on a player.
    /permissions player unsetperm <player> <[world:]node> - unset a permission on a player.

    All commands have in-game help and are usable from the server console.

    Configuration:
    Show Spoiler
    A permission node is a string like 'permissions.build', usually starting with the name of the plugin. Refer to a plugin's documentation for what permissions it cares about. Each node should be followed by true to grant that permission or false to revoke it, as in 'permissions.build: true'. Some plugins provide permission nodes that map to a group of permissions - for example, PermissionsBukkit has 'permissions.*', which automatically grants permissions for all PermissionsBukkit commands. You can also specify false for permissions of this type.

    Users inherit permissions from the groups they are a part of. If a user is not specified here, or does not have a 'groups' node, they will be in the group 'default'. Permissions for individual users may also be specified by using a 'permissions' node with a list of permission nodes, which will override their group permissions. World permissions may be assigned to users with a 'worlds:' entry.

    Groups can be assigned to players and all their permissions will also be assigned to those players. Groups can also inherit permissions from other groups. Like user permissions, groups may override the permissions of their parent group(s). Unlike users, groups do NOT automatically inherit from default. World permissions may be assigned to groups with a 'worlds:' entry.

    The cannot-build message is configurable. If it is left blank, no message will be displayed to the player if PermissionsBukkit prevents them from building, digging, or interacting with a block. Use '&' characters to signify color codes.

    An example configuration file might look like this:
    Code:
    users:
        ConspiracyWizard:
            permissions:
                permissions.example: true
            groups:
            - admin
    groups:
        default:
            permissions:
                permissions.build: false
        admin:
            permissions:
                permissions.*: true
            inheritance:
            - user
        user:
            permissions:
                permissions.build: true
            worlds:
                creative:
                    coolplugin.item: true
            inheritance:
            - default
    messages:
        build: '&cYou do not have permission to build here.'
    

    Permissions:
    Show Spoiler
    PermissionsBukkit checks for the following permission nodes:
    • permissions.build - Allows a player to build. Defaults to true.
    • permissions.help - Allows viewing of usage for /permissions.
    • permissions.reload - Allows use of /permissions reload.
    • permissions.check - Allows use of /permissions reload.
    • permissions.info - Allows use of /permissions reload.
    • permissions.dump - Allows use of /permissions reload.
    • permissions.group.help - Allows viewing of usage for /permissions group.
    • permissions.group.list - Allows use of /permissions group list.
    • permissions.group.players - Allows use of /permissions group players.
    • permissions.group.setperm - Allows use of /permissions group setperm.
    • permissions.group.unsetperm - Allows use of /permissions group unsetperm.
    • permissions.player.help - Allows viewing of usage for /permissions player
    • permissions.player.groups - Allows use of /permissions player groups.
    • permissions.player.setgroup - Allows use of /permissions player setgroup.
    • permissions.player.addgroup - Allows use of /permissions player addgroup.
    • permissions.player.removegroup - Allows use of /permissions player removegroup.
    • permissions.player.setperm - Allows use of /permissions player addgroup.
    • permissions.player.unsetperm - Allows use of /permissions player removegroup.
    Also, the following parent nodes are provided for convenience:

    • permissions.* - Maps to permissions.help, .reload, .check, .info, .dump, and to permissions.group.* and permissions.player.*. Defaults to op.
    • permissions.group.* - Maps to permissions.group.help, .list, .players, .setperm, and .unsetperm.
    • permissions.player.* - Maps to permissions.player.help, .groups, .setgroup, .addgroup, .removegroup, .setperm, and .unsetperm.


    Frequently Asked Questions:
    1. Where are my * nodes? (open)
    Bukkit's Superperms has no built-in concept of a global '*' node that automatically gives all permissions, which is intentional - a player can instead be given all permissions by being given 'op' status (that is, listed in ops.txt). Additionally, individual plugins define a parent node (which could be 'pluginname.*' or 'pluginname.all' or anything else) which maps to whatever subpermissions in that plugin the author desires.

    An example is PermissionsBukkit, which provides three such permissions: 'permissions.group.*' for all /permissions group commands, 'permissions.player.*' for all /permissions player commands, and'permissions.*' for all /permissions commands (including permissions.group.* and permissions.player.*).

    If you are using SuperpermsBridge, you can do something similar to '*' nodes for plugins which use Permissions 2.7/3.1 - see the next FAQ for more information.
    2. How do I use SuperpermsBridge? (open)
    SuperpermsBridge is kind of like FakePermissions for GroupManager or PermissionsBridge for PermissionsEx. Once it's installed, it pretends to be the Permissions plugin and converts any plugins that use Permissions 2.7 or Permissions 3.1 to use Superperms instead.

    You can have PermissionsBukkit without SuperpermsBridge or SuperpermsBridge without PermissionsBukkit if you like, but both of these are limited in functionality. If you install SuperpermsBridge without PermissionsBukkit you will not be able to make use of PermissionsBukkit's groups feature or admin commands, and if you install PermissionsBukkit without SuperpermsBridge, plugins that have not updated to use Superperms directly will not function.

    For plugins that use Permissions 2.7/3.1, you can use the special node 'superpermbridge.*' to give the equivalent of what used to be the '*' node for plugins that do not use Superperms directly. If you don't want to give the * node, you can also use the node 'superpermbridge.pluginname' to do the equivalent of what used to be the 'pluginname.*' node. Once again, these only apply to plugins that SuperpermsBridge handles and not to plugins using Superperms directly.
    3. How do I use the root permissions.yml? (open)
    The file 'permissions.yml' in the root of your server can be used to set up custom parent permissions. Parent permissions are a single node that, when given to a player or group, automatically give all their children node. Here's a simple example:
    Code:
    server.basics:
        children:
            commandbook.motd: true
            commandbook.say: true
            commandbook.say.me: true
            commandbook.time: true
    
    Now, if you give a player the node 'server.basics', they automatically get all the nodes listed here. Children may also say 'false' instead of 'true', in which case giving the parent will remove the child instead of giving it.

    You can also specify a description if you like, which can be used by plugins to provide information on your node (such as PermissionsBukkit's /perm info command). If you want, you can also provide a default, which can be one of "true", "false", "op", or "notop". CraftBukkit will automatically assign everyone, no one (default), ops, or non-ops the children permissions based on the specified default. Without any plugin like PermissionsBukkit, you can use this defaults system as a limited way to assign people permissions. Here's a more complex example:
    Code:
    server.basics:
        description: Basic permissions for My Cool Server.
        default: true
        children:
            commandbook.motd: true
            commandbook.say: true
            commandbook.say.me: true
            commandbook.time: true
    server.admin:
        description: Admin permissions for My Cool Server.
        default: op
        children:
            commandbook.broadcast: true
            commandbook.teleport: true
            commandbook.kick: true
            commandbook.ban: true
    
    You can also define permissions without children, but this is of limited usefulness in permissions.yml (though is important in plugin.yml; see question #6)
    4. How do I switch from (other Permissions plugin)? (open)
    Depends on the Permissions plugin! If you were using PEX's YAML backend, I have a converter done and available on the PermissionsBukkit Tools page. Also available on the tools page is an automatic converter for Essentials GroupManager users.yml and groups.yml files. Automatic converters for Permissions 2.7 and 3.x are on their way, but in the meantime you can still convert your configurations manually.
    5. Where are prefixes and suffixes (or option nodes)? (open)
    Bukkit Superperms has no built-in prefix/suffix settings or non-boolean permission nodes, so individual chat plugins will have to start supporting Superperms in order to make use of non-Permissions-plugin based prefixes and suffixes. Herochat, iChat, and Simple Suffix are all aware of the Superperms update, but in the meantime you can use mChat, which already supports Superperms.

    Once you install mChat and configure the mchat.prefix, mchat.suffix, and mchat.group names in its configuration file (see the example), use PermissionsBukkit to give players or groups the permissions "mchat.prefix.admin", replacing "admin" with whatever node you configured. For example, with an mchat configuration that looks similar to this:
    Code:
    da-name-format: '+prefix+name&e'
    date-format: HH:mm:ss
    message-format: '+prefix+name&f: +message'
    mchat:
        prefix:
            admin: '&4DtK [SO] &7 '
            sadmin: '&9DtK [SA] &7 '
            jadmin: '&aDtK [JA] &7  '
            member: '&cDtK [M] &7 '
    
    You can assign players or groups the mchat.prefix.admin node to get the "SO" prefix, mchat.prefix.sadmin to get the "SA" prefix, and so on.
    6. (Coders) How do I set up my plugin.yml? (open)
    Take a look at this post in Dinnerbone's FAQ for an example. This is a lot like the setup of permissions.yml (see above), but you can also define non-parent permissions (just include description and default and leave out children).
    7. Is PermissionsBukkit outdated? (open)
    No! PermissionsBukkit 2.0 was last updated for 1.3.1-R2.0, is verified to work on 1.4.7-R1.0, and is unlikely to break on future releases.

    Downloads:
    Current Version:

    PermissionsBukkit v2.0 (jar) (details)
    Old Versions:
    PermissionsBukkit v1.6 (jar) (details)

    [​IMG]

    Changelog:

    Friday 7 September 2012 (2.0)
    • Fixed a case-sensitivity issue with setting per-world permissions that could cause some permissions to fail to apply.
    • Added /perm setrank <player> <group> subcommand (alias rank) with per-group permissions (permissions.setrank and permissions.setrank.<group>)
    • Added plugin metrics via http://mcstats.org/plugin/PermissionsBukkitMCStats (disableable in plugins/PluginMetrics/config.yml)
    Wednesday 29 February 2012 (1.6)
    • Fixed some massive issues that were caused due to having uploaded a buggy, in-development version instead of 1.5.
    • Note: If your configuration was messed up as a result of this issue, the new build should gradually correct it as needed.
    Saturday 25 February 2012 (1.5b)
    • Revamped to be compatible with R5.
    • Fixed issues with permissions not carrying properly on world change.
    • Many internal improvements for performance and stability.
    • SuperpermsBridge: in honor of R5 removing deprecated code, SuperpermsBridge is officially gone!
    Monday 18 July 2011 (1.1/1.2)
    • Fix BukkitContrib incompatibility issues.
    • Improved the output of the /perm check command.
    • Fixed issues when 'users:' is not specified in the config file.
    • Fixed the /permissions reload command.
    • SuperpermsBridge: improve wildcard handling; in addition to 'superpermbridge.*' and 'superpermbridge.pluginname', now supported are 'superpermbridge.plugin.*', 'superpermbridge.plugin.subnode.*', and so on.
    Monday 18 July 2011 (1.0/1.1)
    • SuperpermsBridge: adding the special 'superpermbridge.*' and 'superpermbridge.pluginname' nodes (see #2 in the FAQ for details).
    Sunday 17 July 2011 (1.0/1.0)

    • Initial release of PermissionsBukkit v1.0 and SuperpermsBridge v1.0.
     
    madmac, Gesundheit, tripleX and 23 others like this.
  2. Offline

    Keitho

    Thanks. I have the link posted of my config file in my first post so when your ready you can just look at that.
     
  3. Offline

    Regulus123

  4. Offline

    Expi1

    Thanks for trying to help Galameth, my system is multiworld, you got some command in some worlds, and not in others.

    If member has commandbook.give in creative world, then it inherits fine. But if member has commandbook.give in the base permissions, like, not in a specific world, then it won't inherit. Its wierd.

    Here's my config.yml - http://www.einyx.com/David/config.yml
    Please help!
     
  5. Offline

    Keitho

    here it is mate .. http://pastebin.com/3vsuDsQ1

    I really want to get this fixed ASAP :D
     
  6. Offline

    Seismic

    Hi! First of all, nice plugin! now for the bad news: I can't get this to work. if I De-Op someone via standard minecraft Op or no Op then they won't have ANY permissions at all. how is that possible? here is my file BTW:
    users:
    kevinteeuwen:
    permissions:
    groups:
    - Owner
    Chare12346:
    permissions:
    groups:
    - Operator
    willie1001:
    permissions:
    groups:
    - HighCommand
    joyko:
    permissions:
    groups:
    - Admin
    vrachttrein:
    permissions:
    groups:
    - Admin
    SB_Poodle:
    permissions:
    groups:
    - Operator
    xXVictualXx:
    permissions:
    groups:
    - Member
    kingpixelJR1:
    permissions:
    groups:
    - Member
    groups:
    default:
    permissions:
    permissions.build: false
    Member:
    permissions:
    commandbook.home.set: true
    commandbook.home.teleport: true
    commandbook.motd: true
    commandbook.rules: true
    commandbook.spawn: true
    commandbook.who: true
    permissions.build: true
    inheritance:
    - default
    Operator:
    permissions:
    commandbook.*: true
    commandbook.bans.ban: false
    commandbook.bans.load: false
    commandbook.bans.save: false
    commandbook.bans.unban: false
    commandbook.barrage: false
    commandbook.broadcast: false
    commandbook.item: true
    commandbook.kick: false
    commandbook.more: false
    commandbook.rocket: false
    commandbook.shock: false
    commandbook.slap: false
    commandbook.spawnmob: false
    commandbook.thor: false
    commandbook.time: false
    commandbook.time.lock: false
    commandbook.time.player: false
    falsebook.*: true
    inheritance:
    - Member
    Admin:
    permissions:
    commandbook.*: true
    commandbook.time: false
    commandbook.time.lock: false
    inheritance:
    - Operator
    HighCommand:
    permissions:
    permissions.*: true
    commandbook.*: true
    falsebook.*: true
    inheritance:
    - Admin
    Owner:
    permissions:
    permissions.*: true
    commandbook.*: true
    falsebook.*: true
    inheritance:
    - HighCommand
    messages:
    build: '&cYou do not have Permissions to build here.'
    debug: false
    it almost seems as if my server doesn't even read the permissions at all. any help?
     
  7. Offline

    zawmbee42

    For some reason, my tags don't want to appear. The brackets are there, but the text such as Admin or Owner does not appear. Simply [] appears.
    There are NO errors in the console whatsoever, but seeing as this most likely will help, here's my Permissions file and iChat config.

    iChat variables and Config
    Code:
    # iChat Variable Config
    # This is now the only method for defining variables
    users:
        zawmbee:
            prefix: '&e'
    groups:
        admin:
            name: Admin
            prefix: '&c'
            suffix: ''
        default:
            name: Guest
            prefix: ''
            suffix: ''
    Code:
    handle-me: true
    date-format: HH:mm:ss
    message-format: '+iname: +message'
    me-format: '* +name +message'
    iname-format: '[+prefix+group+suffix&f] +displayname'
    PermissionsBukkit config
    Code:
    users:
        zawmbee:
            permissions:
                permissions.*: true
            groups:
            - admin
    groups:
        default:
            permissions:
                permissions.build: true
        admin:
            permissions:
                permissions.*: true
            inheritance:
            - default
        owner:
            permissions:
                permissions.*: true
            inheritance:
            - default
    messages:
        build: '&cYou do not have permission to build here.'
     
  8. Offline

    Galameth

    Blacklisting is setting the nodes to false, UNLESS you have essentials which allows you to set further blacklists.

    Taking a look today.

    I know there is a way to specify which world gets which commands, or if both get them, but I haven't done multiworld yet. Give me till the end of the day to set one up myself and we will see if we cant stumble through it.



    It is possible that may be the case, however its more likely you have the config wrong and as a result it is bypassing it and defaulting to OP's for permissions. give me a bit to look over the others throughout the day and ill jump on yours.


    A couple of things I noticed off the bat when looking.

    Code:
            groups:
             - 'VIP'
    the ' tags are one issue (not needed)

    but if you combine that with the fact that you have the actual group listed as:

    Code:
       V.I.P:
            permissions:
    pretty much ensures it will never find the group.

    You assigned them to a group that typographically doesn't exist :p

    Also, you have 9 spaces infront of

    Code:
            groups:
             - 'VIP'
    on the line with - VIP in all of your users. needs to be 8 only. The rest is good on spacing.

    I'm sure you can leave it as V.I.P but if you want to for safety's sake just name all instances of it VIP or some such you should be good.

    Another thing, though people say it isn't necessary to do, is to take the commands you are sure you don't want people to use and enter them as false.

    Again, you don't have to to make it work, but its an extra buffer that prevents someone from exploiting (for example, if they try to worm their way into using a command and you have it already set as FALSE the plugin will say NO, whereas if it has no setting mention the plugin instead says "well, he didnt say anything so i guess? its false"

    But try making sure the VIP group is spelled the same and has no tags around it and see if that works. otherwise, im still enslaved here :p





    Code:
    users:
        iFirez:
            groups:
            - VIP
    
        expi2:
            groups:
            - Administrators
    
        expi1:
            groups:
            - Owner
    
        GussGrisworld:
            groups:
            - Member
    
        gmod_artist:
            groups:
            - Co-Owner
    
    groups:
        default:
            permissions:
    
        VIP:
            permissions:
    
            worlds:
                creative:
    
            inheritance:
            - Member
        Owner:
            permissions:
    
            inheritance:
            - Co-Owner
    
        Administrators:
            permissions:
    
            world:
                creative:
    
            inheritance:
            - VIP
        Member:
            permissions:
    
            worlds:
                world:
    
                creative:
    
                pvp:
    
            inheritance:
            - default
    
    
     Co-Owner:
            permissions:
    
            inheritance:
            - Administrators
    messages:
        build: You cannot build in this location!
    debug: false
    So, from looking at it with the permissions removed, you have:

    5 Groups:
    Owner
    Co-Owner
    Administrator
    VIP
    member

    as well as

    3 worlds:
    world
    creative
    pvp



    One typo I saw that might fix it all:
    In your Administrator group try making each group have a "worlds:" instead of "world:" and look for other instances of that. Your world called "world" is fine, but you mistyped "worlds:" group setting as a name.

    Because Member has permissions set for:
    World
    Creative
    PVP

    all the other groups have access to those through inheritance, but you have
    every group setup with a "world:" tag which you would only use if you
    want to assign NEW permissions to that group applying to that world only.

    I.E. if Member has no permission to build, but you wanted admins to be able to, THEN
    you would use the tag

    Code:
    groups:
    Administrator:
        permissions:
            # special permissions for this group
        worlds:
            creative:
                #special permissions for THIS world
                permissions.build: true
            PVP:
                #special permissions for THIS world
                permissions.build: false
        inheritance:
        - Member
    
    Member:
        permissions:
            # special permissions for this group
        worlds:
           creative:
                #special permissions for THIS world
                permissions.build: false
            PVP:
                #special permissions for THIS world
                permissions.build: false
    to give them permission to build in creative, but not PVP,
    So they inherit the inability to build because of members, and override it because you set it here.

    as long as you specify permisions for each area (group permissions, individual world permission) here correctly, when you tell the other groups to inherit from this group they should all get the same rules (unless you specifically tell THAT group to override them)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 14, 2016
  9. Offline

    Thafrayer

    Can anyone help me out, the issue is that the default group arent able to use /help nor can they use /spawn
    My Add-ons/Mods: AdminCmd, AppleTree, AutoSave, Chop Tree, Essentials, Friendly Creepers, H2SQL, LWC, LoginMessages, MySQL, NoCheat, PermissionsBukkit, Remote Bukkit, SQLite, IConomy, noEnderman. Here's my config:
    groups:
    Default:
    default: true
    info:
    prefix:
    suffix:
    build: true
    inheritance:
    permissions:
    - 'factions.peacefulExplosionToggle'
    - 'factions.viewAnyPower'
    - 'factions.create'
    - 'factions.participate'
    - 'essentials.afk'
    - 'essentials.pay'
    - 'essentials.balance'
    - 'permissions.build'
    - 'essentials.signs.use.sell'
    - 'essentials.signs.use.protection'
    - 'essentials.signs.use.buy'
    - 'essentials.tpdeny'
    - 'essentials.tpaccept'
    - 'essentials.tpa'
    - 'essentials.rules'
    - 'essentials.msg'
    - 'essentials.msg'
    - 'essentials.list'
    - 'essentials.home'
    - 'essentials.sethome'
    - 'essentials.mail'
    - 'essentials.helpop'
    - 'essentials.getpos'
    - 'essentials.spawn'
    - 'essentials.help'
    - 'essentials.motd'
    Moderator:
    default: false
    info:
    prefix: &4[HOST]
    suffix:
    build: true
    inheritance:
    - Default
    permissions:
    - 'factions.config'
    - 'factions.disband'
    - 'factions.lock'
    - 'factions.saveall'
    - 'factions.reload'
    - 'factions.setPermanent'
    - 'factions.setPeaceful'
    - 'factions.ownershipBypass'
    - 'factions.adminBypass'
    - 'factions.manageWarZone'
    - 'factions.manageSafeZone'
    - 'essentials.signs.break.protection'
    - '- admincmd.*'
    - '*'
    - 'essentials.tp'
    - 'essentials.tphere'
    - 'essentials.nick'
    - 'essentials.kit'
    - 'essentials.kick'
    - 'essentials.ban'
    - 'essentials.unban'
    - 'worldguard.region'
    Admins:
    default: false
    info:
    prefix: &4[OP]
    suffix:
    build: true
    inheritance:
    - Moderator
    permissions:
    - 'essentials.god'
    - 'nocheat.flying'
    - 'nocheat.moving'
    - 'nocheat.speedhack'
    - 'essentials.item'
    - 'essentials.give'
    - 'essentials.clearinventory'
    - 'essentials.whois'
    - 'essentials.setspawn'
    - 'essentials.tree'
    - 'essentials.bigtree'
    - 'essentials.top'
    - 'essentials.time'
    - 'essentials.plugin'
    - 'essentials.heal'
    - 'essentials.banip'
    - 'permissions.reload'
    - 'essentials.unbanip'
    ##
    # Thafrayer has control over all commands.
    # Xtremekiwi88 can use /spawn & /time
    ##
    users:
    R0XAS336:
    group: Admins
    permissions:
    Taruza:
    group: Admins
    permissions:
    dabraddas:
    group: Admins
    permissions:
    Thafrayer:
    group: Moderator
    permissions:
    Xremekiwi88:
    group: Moderator
    permissions:
     
  10. Offline

    Galameth


    D= teh hell kind of a config is that??
    If I had to take a veeeeeeeerrrrrryyyyy deep stab in the dark the reason your entire permissions.nodes list is messed up is because of some kind of alien SQL invasion? Hence the ' tags around EVERYTHING?

    Not to mention the fact that is entirely not a .yml config?



    Also, when you say your default group cant use them, do you mean that your other groups can?

    Further, when posting your configs, PLEASE use the CODE tags around it so we can see if there is proper formatting/spacing?

    Also, on an unrelated note, why no enderman? They are amusing :p
     
  11. Offline

    Keitho

    Galameth - Are you going to help me with my Permissions Problem? Scroll up you can see my "Pastebin" link to see my config.yml file . I really need this fixed ASAP and I tried my best to fix it but no luck :/
     
  12. Offline

    Galameth

  13. Offline

    Keitho

  14. Offline

    Galameth


    er....


    Is my post.
     
  15. Offline

    Keitho

    Oh Sorry :L I did what you mentioned and it still doesint work :/
     
  16. Offline

    Galameth

    Pastebin your updated config?

    All things are solved in small steps :p

    Also, this forum needs a better notification scheme when someone responds. Like, it needs to get up, find you in your house, yell SEE! and smack you >_<
     
    Keitho likes this.
  17. Offline

    Keitho

    There you go : http://pastebin.com/NLBuQhmj

    gotta go now, 1 AM. School today :p If you come up with a fix, etc I'll try it out as soon as I get home :d Thanks so much for helping :D
     
  18. Offline

    Galameth

    Code:
       owenrabbi:
            groups:
             - 'VIP'
        thecooldude12349:
            groups:
             - 'VIP'
        Niuxxas:
            groups:
             - 'VIP'
    Still have the ' tags around VIP

    So it's looking for the group 'VIP' instead of just VIP

    Also, it looks like there are still 9 or 10 spaces before the - VIP listing under groups:, needs 8.

    the - VIP should line up with the "g" on groups
     
  19. Offline

    Keitho

  20. Offline

    Galameth

    Hmm.... Which command are you trying and on what account?
     
  21. Offline

    Keitho

    I'm trying to use /spawn and I move a user from Default to VIP in my MCMyAdmin Panel and ask them to type /spawn and it says for them "No Access to this command" .
     
  22. Offline

    Galameth

    Your current config should be correct. What all plugins do you have?

    It could be that, while you have Essentials set to true (and that should be all you need) a second plugin may be defaulted to false and blocking it still.

    I see:

    Essentials
    Mchat
    Permissions
    Log
    Stargate
    MyWorlds
    Lockette
    Mchannel
    Factions

    Is that all?

    One more thing, do you have just essentials, or did you grab essentialsSpawn as well.
     
  23. Offline

    Keitho

    I made sure all plugins that have the option similar to UsePermissions . I set them to true ....

    Im really really tired now, its 1:30 AM. To see the list of plugins join my server and type /plugins to see the list of plugins on my server... or ask a OP to type it and tell u the list of plugins if u dont have access to that command ...

    IP : 176.31.223.100
     
  24. Offline

    Galameth

    The last quick questions was about Essentials Spawn, if you dont have both essentials.jar plugin AND essentialsSpawn.jar plugin you can't use the spawn commands >_>

    Also, I wouldn't be allowed to connect to anyones MC Server :p

    I also see that the vip's have too many spaces infront of them still, try this:

    Code:
    users:
        Keitho15:
            permissions:
                permissions.example: true
            groups:
            - Admin
        owenrabbi:
            groups:
            - VIP
        thecooldude12349:
            groups:
            - VIP
        Niuxxas:
            groups:
            - VIP
     
  25. Offline

    effse7en

    http://pastebin.com/DW7vFq0F

    I keep getting the error:
    Code:
    20:19:44 [SEVERE] Permission node 'groups' in server config is invalid
    java.lang.IllegalArgumentException: 'default' key contained unknown value
        at org.bukkit.permissions.Permission.loadPermission(Permission.java:268)
        at org.bukkit.permissions.Permission.loadPermission(Permission.java:235)
        at org.bukkit.craftbukkit.CraftServer.loadCustomPermissions(CraftServer.java:458)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:163)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    
    When I start the server up. I've checked and rechecked, but I think I'm missing something here.

    Bukkit 1240, WE 4.7, Essentials 2.6.2, running on fully updated Ubuntu linux, if it helps.

    EDIT: I somehow managed to get rid of that error, but nobody has permissions still. Nobody at all.
    EDIT: hmm, managed to get it to work somehow. Which permissions file is supposed to have the actual stuff in it? There's config.yml in plugins/PermissionsBukkit, Permissions.yml in the server's root, and wepif.yml in the root. I put my file into wepif and config and it worked, but if I only have it in one or the other, it doesn't. and if I have anything at all in Permissions, the permissions don't work. What the hell happened to this program in the 3 months I was gone?
     
  26. Offline

    goodoletom

    wats the /ban /kick nodes?
     
  27. Offline

    Galameth


    For permissionsBukkit its the config.yml, permissions.yml are commands for the server that override ALL other settings.

    Otherwise give me a bit to overlook your config.

    As for you, go look them up. we have larger issues to fix with our time then laziness.

    @effse7en

    Your spacing was off all over the place for your groups. I did fix most of it so it should work without errors, and from there we can work out commands not working.

    Code:
    users:
        effse7en:
            groups:
            - admin
        probo:
            groups:
            - admin
        madlyspecial:
            groups:
            - regular
        marcbrewtal:
            groups:
            - regular
        mjnelson:
            groups:
            - regular
        roguesith:
            groups:
            - regular
        DoubleEntendre:
            groups:
            - regular
        flamedragon08:
            groups:
            - regular
        lordf0u1:
            groups:
            - regular
        texasrose13:
            groups:
            - regular
        lhowe24:
            groups:
            - regular
    groups:
        default:
            permissions:
                permissions.build: false
        admin:
            permissions:
                permissions.*: true
                essentials.*: true
                essentials.mute.exempt: true
                essentials.protect.damage.disable: true
                essentials.signs.protection.override: true
                worldedit.*: true
            inheritance:
            - regular
        regular:
            permissions:
                permissions.build: true
                essentials.bigtree: true
                essentials.give: true
                essentials.god: true
                essentials.heal: true
                essentials.heal.others: true
                essentials.item: true
                essentials.ptime: true
                essentials.repair: true
                essentials.time: true
                essentials.time.set: true
                essentials.tree: true
                essentials.afk: true
                essentials.compass: true
                essentials.help: true
                essentials.list: true
                essentials.motd: true
                essentials.nick: true
                essentials.realname: true
                essentials.seen: true
                essentials.suicide: true
                essentials.spawner: true
                essentials.backup: true
                essentials.essentials: true
                essentials.mute: true
                essentials.ping: true
                essentials.weather: true
                essentials.setspawn: true
                essentials.spawn: true
                essentials.back: true
                essentials.delwarp: true
                essentials.home: true
                essentials.home.others: true
                essentials.sethome: true
                essentials.setwarp: true
                essentials.top: true
                essentials.tpa: true
                essentials.tpaall: true
                essentials.tpaccept: true
                essentials.tpohere: true
                essentials.tppos: true
                essentials.warp: true
                essentials.warp.list: true
                essentials.portal: true
                worldedit.reload: true
                worldedit.generation.cylinder: true
                worldedit.generation.sphere: true
                worldedit.generation.forest: true
                worldedit.generation.pumpkins: true
                worldedit.generation.pyramid: true
                worldedit.history.undo: true
                worldedit.history.redo: true
                worldedit.navigation.unstuck: true
                worldedit.navigation.ascend: true
                worldedit.navigation.descend: true
                worldedit.navigation.ceiling: true
                worldedit.region.replace: true
                worldedit.region.stack: true
                worldedit.region.set: true
                worldedit.region.naturalize: true
                worldedit.region.walls: true
                worldedit.region.smooth: true
                worldedit.region.faces: true
                worldedit.analysis.count: true
                worldedit.selection.size: true
                worldedit.selection.expand: true
                worldedit.selection.contract: true
                worldedit.selection.pos: true
                worldedit.selection.hpos: true
                worldedit.wand: true
                worldedit.superpickaxe: true
                worldedit.superpickaxe.recursive: true
                worldedit.superpickaxe.area: true
                worldedit.tool.tree: true
                worldedit.fill: true
                worldedit.fill.recursive: true
                worldedit.drain: true
                worldedit.fixlava: true
                worldedit.fixwater: true
                worldedit.snow: true
                worldedit.thaw: true
                worldedit.green: true
                worldedit.extinguish: true
            inheritance:
            - default
    messages:
        build: '&cYou do not have permission to build here.'
    I really wish people wouldn't use *'s T_T It makes me a sad panda.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 14, 2016
  28. Offline

    effse7en

    It all worked like it was before, I just had to put it in the right file.
    and what's wrong with *'s? It's only for the admins.
     
  29. Offline

    Galameth

    First off, not possible. If it did work then you werent using permissions as .yml MUST have exact spacing or it doesn't parse correctly. Spaces MUST be either 4, 8, or 12. You had 9's 3's and 7's.

    As for *'s, irregardless of who its for, it's been causing nonstop issues including but limited to breaking command functionality.

    Think of it this way:

    Timmy is in group A, group A has:

    permission.build: true
    permission.tell: true

    Billy, our admin, is in group Admin, which has:


    permission.*: true
    - inheritance
    A

    Admin inherits all permissions from group "A"

    So what you are really saying is

    Admin:
    permission.build: true
    permissions.tell: true
    permissions.build: true
    permissions.tell: true

    If you take that a step further:

    Code:
    groups:
        Admins:
            permissions.*:true
            - inheritance
            Members
        Members:
            permissions.build: true
            permissions.tell: true
            -ineritance
            default
    
        default:
            permissions.build: false
            permissions.tell: false
    
    Billy would actually have a command tree, processed from top down, like this:

    permissions.build: false
    permissions.tell: false
    permissions.build: true #overwrite prior false setting
    permissions.tell: true #overwrite prior false setting
    permissions.build: true #overwrite prior true setting
    permissions.tell: true #overwrite prior true setting

    where each level down overwrites the permissions the level above it assigned assigned, ultimately resulting in true.
    Now think of how this is (because of inheritance) for a server with 20 groups and 100+ members

    Also, with you doing this:

    Code:
                essentials.*: true
                essentials.mute.exempt: true
                essentials.protect.damage.disable: true
                essentials.signs.protection.override: true
    You are setting essentials.mute.exempt: true twice
    as well as

    essentials.protect.damage.disable
    essentials.signs.protection.override

    all to true twice in the same list without realizing it, because essentials.*: true defaults ALL essential.nodes to true

    *'s are not an "Oh that's a convinient function, now I don't have to type" feature, it's dangerous, lazy and above all else, inefficient with inheritance.
     
  30. Offline

    Heliwr

    Not all superperms-compatible plugins have .* nodes defined, and trying to use wildcards with them will certainly not work. However, plugins that have .* nodes defined can safely be used and I am successfully using many of them on my server. Indeed, for some plugins such as WorldEdit you cannot use the full functionality of the plugin without using .* nodes. Making blanket statements that you're going to have problems using .* nodes for plugins that have properly defined them is irresponsible and incorrect.
     
  31. Offline

    Galameth

    Read first please. I stated, and have stated each time, and many times, that it IS causing problems all over the place, not that he WAS going to have problems.

    Nor does that statement invalidate the rest of my post.

    Just because SOME have gotten it to safely work, does NOT mean it works by default. It means you got it to work.
     

Share This Page