LuckPerms | An advanced permissions plugin


#182

The latest version is API 5.

The debug option was moved to a command. See /lp verbose

Have you tried reading the wiki?


#183

example : /lp group member permission set test1.permission true HomeZone
HomeZone is another world. I have one server.

This example correct or false ?


#184

Should be: /lp group member permission set test1.permission true global HomeZone


#185

Ok. Thank you very much. I am Thailand.


#187

Hi again, thanks for the speedy reply before, it worked great! However regarding OP, I tried adding enabled-ops=true on an empty line within the config and it didn't work. In order for users to have access to all commands, do I have to give them the permission node luckperms.* ? Or does that only apply for LuckPerms commands. Thank you for any help you provide!


#188

The OP system does not work when you have a permissions plugin installed. If you want to give someone access to all permissions, you can grant them a * permission.


#189

Quick question:
Is it possible to give a permission to promote and demote only a specific track?
Example:
I have two tracks, member which contains guest>member, and staff which contains member>support>mod>admin
I want mods to be able to promote guests to members, but I don't want them to be able to promote beyond the member level (i.e. only admins can promote a user from member to support to mod and so on).

TL;DR Is it possible to add a permission node like luckperms.user.promote.<track> or even more specifically luckperms.user.promote.<track>.<max promote-to level> (highest position in the ladder a user can promote another user to).


#190

I'm keen on changing the format of an existing Luckperms file from the default H2 to something more user-readable (and editable), like json. Unfortunately I didn't see anything in the Wiki that looked like it could do this neatly.
I notice that Luckperms has import and export commands; can these be used to change the default database format, by e.g. exporting, changing default file format, and re-importing?


#191

Check out the changing storage type page on the wiki.
Essentially you export the permissions you currently have to a file, then shut down the server. Go to luckperms.conf and change storage-method-"h2" to whatever you want. I changed mine to yaml. Next you start the server back up and import the permissions from the file you exported earlier. This will re-generate any permissions you had before in the new format.

After I did that there were several yml files created in my luckperms folder that I was able to edit manually. The main thing if you're going to edit permissions by hand is that you still need to use the /lp commands to generate the groups / parents / tracks before the yml files are created (each group, user, track, etc. has it's own yml file). You'll also have to do /lp sync to reload the luckperms plugin or restart your server after you've edited a permissions file to apply any changes made.

From my luckperms.conf:
# Which storage method the plugin should use.
# Currently supported: mysql, postgresql, sqlite, h2, json, yaml, mongodb
# Fill out connection info below if you're using MySQL, PostgreSQL or MongoDB
storage-method="yaml"


#192

Thanks! I don't know how I missed it, I was wondering about those commands...

I did it, it seems to have worked, but not without spitting a few errors.

[10:04:14] [pool-2-thread-4/INFO]: LP -> Starting import process.
[10:04:14] [pool-2-thread-4/INFO]: LP -> 0 percent complete - 1/144 operations complete with 0 errors.
[10:04:15] [pool-2-thread-4/INFO]: LP COMPLETED - took 0.217 seconds - 144 errors.
[10:04:15] [pool-2-thread-4/INFO]: LP ------------> Showing Error #1 <------------
LP Whilst executing: Command #1
LP Command: creategroup admin
LP Type: INVALID_ARGS
LP Output:
[10:04:15] [pool-2-thread-4/INFO]: LP -> [LP] That group already exists!
[10:04:15] [pool-2-thread-4/INFO]: LP <------------------------------------------>
[10:04:15] [pool-2-thread-4/INFO]: LP ------------> Showing Error #2 <------------
LP Whilst executing: Command #2
LP Command: creategroup vip
LP Type: INVALID_ARGS

... and a string more. I'll give it some more testing to see if anything actually broke ...


#193

Are you sure you actually switched storage options?


#194

Aye aye. I just checked the config file to be sure. Before this, it was all H2, now it's all json.
Everything seems to be intact, but it did report 144 errors :confused:


#195

Okay, did you reboot the server after changing the option? It looks like it was trying to override existing data.


#196

Yeah, I edited the file while the server was down. It was an older version of SpongeForge I was using (Beta 1878), so I've updated it and Forge. Luckperms v. 2.14.10 (and I'm updating that now too).
EDIT: Fixed. Somehow it wasn't letting the files get created, but all was good when I updated.


#197

Is there a way to migrate over from Pex2.0 easily? If not, that's fine as well. Also, I cannot for the life of me figure out how to OP on this plugin. Thank you for any help you can provide :slight_smile:


#198

Indeed there is. Look ye here: https://github.com/lucko/LuckPerms/wiki/Migration


#199

Thank you! The issue is, when I use the migration, it says it migrated over the groups and perms, but nothing actually is migrated. There are no perms carried over at all. Any ideas?


#200

Not sure if this is a luckperm or nuclues issue.
I been using the parent add command to add ranks to players but when i do
/lp group [user] meta set home-count [number]
to allow certain groups to set multiple homes, it only allows them to set 1 home which is the default.
I found out that the home-count command only applies to primary group not to other parent groups


#201

Hi,

Just restarted my server after trying to configure some permissions... I get the following errors in my console:

10.01 21:14:58 [Server] INFO [luckperms]: Loading configuration...
10.01 21:14:58 [Server] INFO [luckperms]: Detecting storage method...
10.01 21:14:58 [Server] INFO [luckperms]: Loading dependencies...
10.01 21:14:58 [Server] INFO [luckperms]: Identified the following dependencies: []
10.01 21:14:58 [Server] INFO [luckperms]: Initializing storage backings...
10.01 21:14:58 [Server] INFO [luckperms]: Initialising storage provider...
10.01 21:14:58 [Server] INFO [luckperms]: Registering commands...
10.01 21:14:58 [Server] INFO [luckperms]: Loading internal permission managers...
10.01 21:14:58 [Server] INFO [luckperms]: Registering PermissionService...
10.01 21:14:58 [Server] INFO [luckperms]: Registering API...
10.01 21:14:58 [Server] ERROR [STDERR]: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.lambda$null$10(YAMLBacking.java:266)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.doRead(YAMLBacking.java:82)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.lambda$loadGroup$11(YAMLBacking.java:265)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.call(YAMLBacking.java:66)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.loadGroup(YAMLBacking.java:263)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.ArrayList.forEach(ArrayList.java:1249)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.loadAllGroups(YAMLBacking.java:285)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:138)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:183)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.lang.Thread.run(Thread.java:745)
10.01 21:14:58 [Server] ERROR [STDERR]: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.lambda$null$10(YAMLBacking.java:266)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.doRead(YAMLBacking.java:82)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.lambda$loadGroup$11(YAMLBacking.java:265)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.call(YAMLBacking.java:66)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.loadGroup(YAMLBacking.java:263)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.ArrayList.forEach(ArrayList.java:1249)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at me.lucko.luckperms.common.storage.backing.YAMLBacking.loadAllGroups(YAMLBacking.java:285)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:138)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:183)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
10.01 21:14:58 [Server] ERROR [STDERR]: 	at java.lang.Thread.run(Thread.java:745)

#202

Tim, Just stop, then restart the server. I get that too if I change storage type and there isn't any data yet.