question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Do not apply in "world"

See original GitHub issue

I’m having a hard time figuring out how to do something and I am not sure it’s entirely possible without a ton of context usage which negates the promote option which would make tracks useless for me. I operate a server with 15 worlds, so adding world=world1, world=world2, etc is extremely taxing when I want to exclude just one set of worlds from the rank a player gets.

I want to put a user in a group when they’re in a certain world and have it revoke their perms from the other group entirely.

Essentially I have two tracks that players follow: rank and skyrank. When a player is in ANY world other than skyworld, I want the normal group that’s in the rank track to apply to them. This rank group often has MANY perms that the groups in the skyrank track do not have. I have the skytier1 set with context world=skyworld, and ranktier1 as a global parent.

Example of what I have tried regarding perms:

group.ranktier1
name: ranktier1
permissions:
- group.ranktier1perms
group.skytier1
name: skytier1
permissions:
- group.ranktier1perms:
    value: false

However when the context is met (the player is in world=skyworld) it does not remove the group.ranktier1perms from the player. From what I read of the advanced config file the world perm should override general/global perms. If I specifically add something like essentials.fly and put it to false that removes it, though it doesn’t seem to treat groups of perms the same.

Am I missing something or is this intended not to work?

If this is not how it works, could there be a setting in the config.yml that we can set to true so world context perms override global parents entirely? Or maybe groups set to false actually recursively go through and mark all those perms as false that are inherited by that group? Like if I have group.essentials.level1 listed in group.tier1rankperms that would then go in an mark all of the group.essentials.level1 perms false, and go through any groups that lists and so on.

And perhaps another suggestion on top of the recursive group disabling. Add a setting to a group that makes that group only active in a certain world, that way promote and demote still work for world specific perms. Using the context “world=” removes the ability to use promote and demote along tracks.

Something like

/lp group skyranktier1 meta world skyworld

would make it so that even if you have that group it would only apply while in skyworld. Using contexts removes the ability to use promotion tracks.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:10 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
k0nkercommented, May 10, 2018

With 15 worlds that is 14 extra tags for each permission that is active on all worlds except for skyworld. And if at any time a world is added, removed, or renamed, all perms would then have to be updated accordingly.

While that would allow for promote/demote to work, it doesn’t address the issue where group.nameofgroup set to false on a world perm is not working as other perms listed to false in that context are. If that worked the same, then it would only need to be the skyranktier# that are changed if ranktier names changed.

It may be a much easier solution to add a new context.

world!=skyworld or world=!skyworld

which would mean as long as the world is not skyworld or whatever world you’ve chosen. Pic for clarity.

2018-05-10 16_41_14-luckperms - web editor

That would mean you get that group in every world except for skyworld. That could work and be a cleaner solution.

0reactions
alexis-evelyncommented, Jan 21, 2020

I’d like to ability to specify to not apply to a certain world. I’m trying to restrict the creation of automata (from Magic by NathanWolf) to 1 specific world. Since I load and remove worlds on the fly, this would mean constantly updating permissions. What I’m looking to accomplish is deny use of the spell unless the world is the one specific one I’ve chosen.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Who uses IFRS Accounting Standards?
ABOUT US; AROUND THE WORLD; ISSUED STANDARDS; APPLYING STANDARDS; PROJECTS; NEWS & EVENTS; SERVICES; SUSTAINABILITY. The IFRS Foundation is a not-for-profit ...
Read more >
Do NOT Apply to the UN without this... - YouTube
Educational and experiential background matter when trying to land a job at the UN. Here is what you should consider to land your...
Read more >
Humans Need Not Apply - YouTube
Support Grey making videos: https://www.patreon.com/cgpgrey## Robots, Etc:Terex Port automation: ...
Read more >
What Are International Financial Reporting Standards (IFRS)?
GAAP is a rules-based system used primarily in the U.S.. Although most of the world uses IFRS standards, it is still not part...
Read more >
A Declaration of the Independence of Cyberspace
I declare the global social space we are building to be naturally independent of the tyrannies you seek to impose on us. You...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found