[Sponge/PermissionsEx] Where can I find my permissions config?

Hey all.

I have spent the past few hours trying to set up PermissionsEx for my Pixelmon server. I have finished up all of the permission nodes for all of the ranks on the server, but up to this moment I still haven’t had any luck getting them to work correctly.

I understand PEX is commonly known for its in-game use, but I’m more of a config person myself.

Now, when I went and installed PEX to my server, it generated a config folder:

  • ninja.leaping.permissionsex

Inside this folder, there are two files:

  • ninja.leaping.permissionsex.conf
  • permissions.mv.db

I’ve seen multiple pages where it tells me to do this, that, or this. It’d tell me that I need to create a permissions.yml file and edit my config there. It’d tell me that I’d need to create a permissions.json file and edit my config there. No luck thus far, and I’m not sure what’s going on.

The information I’m seeking is how exactly to put my config in whatever file, and how I can get my server to read off of that file, rather than (the very few commands I have) in-game.

My Minecraft version is 1.8.9
My server is running on Sponge
I’m using a modpack called Pixelmon

Any help is appreciated- let me know below if I need to provide anymore information and I’ll try and grab it for you.

Thanks!

  • Abandon

PermissionsEx defaults to using a H2 database now (as far as I know), so you probably need to change the storage method in ninja.leaping.permissionsex.conf for it to create and use the .json file.

The exact version of SpongeForge and Forge (and the mods) would also be helpful.

Thanks for the quick reply!

Unfortunately, I’m not too positive on how to do the first part you mentioned correctly, if I’m being honest here.

Here are my mods:

  • Pixelmon: Pixelmon-1.8.9-4.2.7-universal.jar
  • PixelExtras: PixelExtras-1.8.9-2.1.4-universal.jar
  • EssentialsCmds: EssentialCmds-1.8.9-8.1.13-universal.jar
  • World Edit: worldedit-sponge-mc1.8.9-6.1.4-SNAPSHOT-dist.jar
  • SpawnofPsyduck: SpawnOfPsyduck-1.8.9-2.1.2-universal.jar
  • Kits: Kits-1.7.4.jar (downloaded here: Release Kits v1.7.4 · hsyyid/Kits · GitHub)

EMPSponge.jar - which I downloaded here:

If I have the syntax right, the line you need to change in the config file is type=json.
I doubt it will import an existing config from H2, though. Whatever you do have should be in that .db file. It is recommended to use commands to edit the permissions, rather than directly editing the file, as it is very fragile and easy to mess up. You should easily be able to list groups, players, and permissions for them, if you have it set up right.

I’m not exactly sure what to change/do here so that the plug-in itself reads the file that I’m putting the permission nodes and groups and such in.

This is what’s in my ninja.leaping.permissionsex.conf, if it’s of any help:

As for my permissions.mv.db file, it’s completely blank.

Looking at an older version from before sql was implemented as default, I have this:

# The list of backends able to be selected
backends {
    # This will be the default backend once SQL database support is implemented
    # default {
    #  type = sql
    #  url = "jdbc:h2:permissions.db"
    # }
    simple {
        # Place file entries in alphabetical order
        alphabetize-entries=false
        compat=false
        file="permissions.json"
        type=file
    }
}
# Whether to log permissions checks being performed
debug=false
# The default backend to use. Must be contained in the backends mapping.
default-backend=simple
# Tags that apply to this server (which match with permissions blocks restricted by server-tag contexts
server-tags=null
version=0

That would be the old setup needed for using json file backend support.

From the sounds of things, you haven’t yet been able to successfully create any permissions groups.

EDIT: You probably just need to change the line that reads default-backend=default to be default-backend=default-file

1 Like

Yep, that did it!

Appreciate the help. :slight_smile:

1 Like

I am having this same issue
What did this fix for you? I am having the issue i can not find where i am supposed to put the permissions nodes.

What this fixed is my ability to add permission nodes, groups and such to my permissions.json file, which was automatically generated upon me starting my server, and after I had installed PEX.

When you start your server, a folder and two files should be created via your config folder:
Folder (inside config folder):
ninja.leaping.permissionsex

Two files inside of this folder:
ninja.leaping.permissionsex.conf
permissions.mv.db

Inside of ninja.leaping.permissionsex.conf you will want to do what @Inscrutable mentioned above, and change the line that reads default-backend=default to default-backend=default-file

Restart your server, and a permissions.json file should generate-- you’ll put your permission nodes there.

Ok below i have pasted everything inside the folder you directed me to, I have added plenty of nodes and PEX is working with griefprevention now that i have figured out a little bit more of it i added individual nodes for griefprevention and tested some of them, Do you possibly have a full PEX list of commands available to use with sponge? I have not found a full list of usable commands. And last question with PEX in game i do not know what the issue was but before normal default members were not able to build or break, i uninstalled griefprevention and restarted and added my test person to the group default by hand, she did not spawn in pex default. i am wondering why and how do i set the group default to be assigned to the role default without having the issue about building and breaking stuff in the wilderness?

Massive log { "subjects": { "default": { "default": [ { "contexts": { "localip": "127.0.0.1" }, "permissions-default": 1 }, { "contexts": { "world": "world", "gp_claim_defaults": "ADMIN" }, "permissions": { "griefprevention.claim.flag.exit-claim": 1, "griefprevention.claim.flag.projectile-impact-block": -1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": -1, "griefprevention.claim.flag.explosion-surface": -1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": -1, "griefprevention.claim.flag.item-pickup": -1, "griefprevention.claim.flag.interact-entity-secondary": -1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": -1, "griefprevention.claim.flag.pvp": -1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": -1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": -1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": -1, "griefprevention.claim.flag.collide-entity": -1, "griefprevention.claim.flag.explosion": -1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": -1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": -1, "griefprevention.claim.flag.liquid-flow": -1, "griefprevention.claim.flag.enter-claim": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": -1 } }, { "contexts": { "world": "world", "gp_claim_defaults": "BASIC" }, "permissions": { "griefprevention.claim.flag.exit-claim": 1, "griefprevention.claim.flag.projectile-impact-block": -1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": -1, "griefprevention.claim.flag.explosion-surface": -1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": -1, "griefprevention.claim.flag.item-pickup": -1, "griefprevention.claim.flag.interact-entity-secondary": -1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": -1, "griefprevention.claim.flag.pvp": -1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": -1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": -1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": -1, "griefprevention.claim.flag.collide-entity": -1, "griefprevention.claim.flag.explosion": -1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": -1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": -1, "griefprevention.claim.flag.liquid-flow": -1, "griefprevention.claim.flag.enter-claim": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": -1 } }, { "contexts": { "world": "world", "gp_claim_defaults": "WILDERNESS" }, "permissions": { "griefprevention.claim.flag.projectile-impact-block": 1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": 1, "griefprevention.claim.flag.explosion-surface": 1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": 1, "griefprevention.claim.flag.item-pickup": 1, "griefprevention.claim.flag.interact-entity-secondary": 1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": 1, "griefprevention.claim.flag.pvp": 1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": 1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": 1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": 1, "griefprevention.claim.flag.collide-entity": 1, "griefprevention.claim.flag.explosion": 1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": 1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": 1, "griefprevention.claim.flag.liquid-flow": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": 1 } }, { "contexts": { "gp_claim_defaults": "ADMIN", "world": "DIM-1" }, "permissions": { "griefprevention.claim.flag.exit-claim": 1, "griefprevention.claim.flag.projectile-impact-block": -1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": -1, "griefprevention.claim.flag.explosion-surface": -1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": -1, "griefprevention.claim.flag.item-pickup": -1, "griefprevention.claim.flag.interact-entity-secondary": -1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": -1, "griefprevention.claim.flag.pvp": -1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": -1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": -1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": -1, "griefprevention.claim.flag.collide-entity": -1, "griefprevention.claim.flag.explosion": -1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": -1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": -1, "griefprevention.claim.flag.liquid-flow": -1, "griefprevention.claim.flag.enter-claim": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": -1 } }, { "contexts": { "gp_claim_defaults": "BASIC", "world": "DIM-1" }, "permissions": { "griefprevention.claim.flag.exit-claim": 1, "griefprevention.claim.flag.projectile-impact-block": -1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": -1, "griefprevention.claim.flag.explosion-surface": -1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": -1, "griefprevention.claim.flag.item-pickup": -1, "griefprevention.claim.flag.interact-entity-secondary": -1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": -1, "griefprevention.claim.flag.pvp": -1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": -1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": -1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": -1, "griefprevention.claim.flag.collide-entity": -1, "griefprevention.claim.flag.explosion": -1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": -1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": -1, "griefprevention.claim.flag.liquid-flow": -1, "griefprevention.claim.flag.enter-claim": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": -1 } }, { "contexts": { "gp_claim_defaults": "WILDERNESS", "world": "DIM-1" }, "permissions": { "griefprevention.claim.flag.projectile-impact-block": 1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": 1, "griefprevention.claim.flag.explosion-surface": 1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": 1, "griefprevention.claim.flag.item-pickup": 1, "griefprevention.claim.flag.interact-entity-secondary": 1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": 1, "griefprevention.claim.flag.pvp": 1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": 1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": 1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": 1, "griefprevention.claim.flag.collide-entity": 1, "griefprevention.claim.flag.explosion": 1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": 1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": 1, "griefprevention.claim.flag.liquid-flow": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": 1 } }, { "contexts": { "world": "DIM1", "gp_claim_defaults": "ADMIN" }, "permissions": { "griefprevention.claim.flag.exit-claim": 1, "griefprevention.claim.flag.projectile-impact-block": -1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": -1, "griefprevention.claim.flag.explosion-surface": -1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": -1, "griefprevention.claim.flag.item-pickup": -1, "griefprevention.claim.flag.interact-entity-secondary": -1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": -1, "griefprevention.claim.flag.pvp": -1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": -1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": -1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": -1, "griefprevention.claim.flag.collide-entity": -1, "griefprevention.claim.flag.explosion": -1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": -1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": -1, "griefprevention.claim.flag.liquid-flow": -1, "griefprevention.claim.flag.enter-claim": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": -1 } }, { "contexts": { "gp_claim_defaults": "BASIC", "world": "DIM1" }, "permissions": { "griefprevention.claim.flag.exit-claim": 1, "griefprevention.claim.flag.projectile-impact-block": -1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": -1, "griefprevention.claim.flag.explosion-surface": -1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": -1, "griefprevention.claim.flag.item-pickup": -1, "griefprevention.claim.flag.interact-entity-secondary": -1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": -1, "griefprevention.claim.flag.pvp": -1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": -1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": -1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": -1, "griefprevention.claim.flag.collide-entity": -1, "griefprevention.claim.flag.explosion": -1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": -1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": -1, "griefprevention.claim.flag.liquid-flow": -1, "griefprevention.claim.flag.enter-claim": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": -1 } }, { "contexts": { "gp_claim_defaults": "WILDERNESS", "world": "DIM1" }, "permissions": { "griefprevention.claim.flag.projectile-impact-block": 1, "griefprevention.claim.flag.item-drop": 1, "griefprevention.claim.flag.projectile-impact-entity": 1, "griefprevention.claim.flag.explosion-surface": 1, "griefprevention.claim.flag.fire-spread": -1, "griefprevention.claim.flag.command-execute-pvp": 1, "griefprevention.claim.flag.item-use": 1, "griefprevention.claim.flag.item-pickup": 1, "griefprevention.claim.flag.interact-entity-secondary": 1, "griefprevention.claim.flag.command-execute": 1, "griefprevention.claim.flag.interact-entity-primary": 1, "griefprevention.claim.flag.pvp": 1, "griefprevention.claim.flag.entity-teleport-to": 1, "griefprevention.claim.flag.interact-inventory": 1, "griefprevention.claim.flag.portal-use": 1, "griefprevention.claim.flag.collide-block": 1, "griefprevention.claim.flag.entity-damage": 1, "griefprevention.claim.flag.block-place": 1, "griefprevention.claim.flag.collide-entity": 1, "griefprevention.claim.flag.explosion": 1, "griefprevention.claim.flag.entity-spawn": 1, "griefprevention.claim.flag.interact-block-secondary": 1, "griefprevention.claim.flag.entity-teleport-from": 1, "griefprevention.claim.flag.interact-block-primary": 1, "griefprevention.claim.flag.liquid-flow": 1, "griefprevention.claim.flag.entity-riding": 1, "griefprevention.claim.flag.block-break": 1 } } ] }, "user": { "16f475ca-a1b2-4cb4-8559-838be91b9162": [ { "permissions-default": 1, "options": { "name": "Derpicidal" } } ], "e73af573-6a9f-482a-bec4-70b996446781": [ { "parents": [ "group:default" ] } ] }, "group": { "default": [ { "permissions": { "griefprevention.claim.command.give-book": -1, "griefprevention.claim.command.flags.base": -1, "worldmodify.*": -1, "griefprevention.claim.command.list": 1, "griefprevention.claim.command.set-name": 1, "modifyworld.blocks.place.*": -1, "griefprevention.claim.abandon-top-level": 1, "griefprevention.claim.create": 1, "griefprevention.claim.command.set-farewell": 1, "griefprevention.claim.command.unban-item": -1, "griefprevention.claim.command.buy-blocks": 1, "griefprevention.claim.command.siege": 1, "griefprevention.claim.command.sell-blocks": 1, "modifyworld.blocks.destroy.*": -1, "griefprevention.claim.list-other": 1, "griefprevention.claim.command.pvp": 1, "griefprevention.claim.manage.flags": -1, "griefprevention.claim.command.set-greeting": 1, "griefprevention.claim.command.subdivide": 1, "griefprevention.claim.command.transfer": 1, "griefprevention.claim.command.flags.reset": -1, "griefprevention.claim.command.abandon-all": 1, "griefprevention.claim.command.list-flags": -1, "griefprevention.claim.command.info": 1, "griefprevention.claim.command.ban-item": -1, "griefprevention.claim.command.flags.debug": -1, "griefprevention.claim.visualize-claims": 1, "griefprevention.claim.command.abandon": 1 }, "permissions-default": -1 } ], "VIP": [ { "parents": [ "group:member" ], "options": { "prefix": "&5[&fVIP&5]&f" } } ], "admin": [ { "parents": [ "group:VIP" ] } ] }, "Callmekatelynn_": { "VIP": [ { "parents": [ "group:VIP" ] } ] } }, "schema-version": 4, "context-inheritance": {}, "rank-ladders": { "default": [ "group:VIP", "group:admin" ] } }

i am so confused when i am looking at this compared to traditional permissions.yml or json

can someone please give me a hand with this, i have figured everything out i just cant figure out how to set default group to everyone that logs in. I have setup default permissions, but i dont want to use /pex group default def false because then nobody can build or destroy anything

Hello guys, may I ask you Who host your server? i have been looking for more then a week to host my own server, but i cannot find any provider. I send message to many of them and they all told me that they can’t help me with pluggins for the version 4.2.7, 1.8.9 of pixelmon. they said i should go back to the 3.5.1 which i dont want to.

Hi! I have the same issue, I got the permissions.json, but how would I set up the nodes? Here is my file if you’d like to see it.