LuckPerms

LuckPerms

41.4k Downloads

LuckPerms adding users to groups on its own

destial opened this issue ยท 9 comments

commented

Description

Whenever I add a user to a group with context or temporary, after a while, when I check their parent group, they have the global group without the context or expiration.
This is the groups I had before.
image

This is after when I wake up in the morning to check.
image

You can see I added a temporary Exarch group but by the time I wake up, I also have the full Exarch group without the expiration. This also happens for context groups.
image
You can see he has the context builder group but I never added the full builder group.

Reproduction Steps

  1. All your servers to the same mariadb database and table.

  2. Enable split-storage and set user to mariadb.

  3. Add a temporary group / context group to yourself.

  4. Wait a while and check your groups again and you will see that you have the context/temp group and the full group applied.

Expected Behaviour

The expected behaviour is that LuckPerms would keep the same context group and not add the full group.

Server Details

git-Pufferfish-68 (MC: 1.19.4)

LuckPerms Version

v5.4.77

Logs and Configs

No response

Extra Details

I am using MariaDB for all of my servers, using the same database and table. I have split-storage enabled, with user being stored in mariadb and the rest in h2. I have tried using 2 separate MariaDB database on 2 separate machines, they both worked, gave no errors, but they both had the same issue.

commented

I forgot to clarify the images, I took the images when I woke up in the morning so I removed the group after I took the resulting screenshot, but it is essentially the same.

commented

image
I left and rejoin after 2 hours and I got the full group again

commented

I'm facing the same issue on a Velocity network with Purpur.

commented

Players always need to have at least one group with no expiry or context (aka their "primary group"). If LuckPerms finds a player without a primary group, it will add them to the default one.

If you only want them to have temporary/contextual groups, you can create a dummy group without any permissions and assign that to stop LP from adding them to the default group.

commented

I did create a dummy group and assign that to the user, but if the user enters and leaves the server wile having the temporary group, when it should expire, it becomes permanent:
image

commented

image
your temporary node is expiring just fine. you just also have a permanent group node as well that wont expire

commented

image your temporary node is expiring just fine. you just also have a permanent group node as well that wont expire

The thing is I never set that permanent group node to the player, I just ran lp user ivic_sans parent set fix and then lp user ivic_sans parent addtemp adepto 600s accumulate.

commented

then show that user having neither a perm node or a temp node, you running just the parent addtemp command, and then them having both the perm and temp nodes

commented

First, deleted the user from the database:
image

Then, user joins and I run lp user ivic_sans parent set fix and lp user ivic_sans parent addtemp adepto 300s accumulate:
image

It expires without problem. However, if I do it a second time, running lp user ivic_sans parent set fix, then lp user ivic_sans parent addtemp adepto 60s accumulate and the user joins and leaves within the 60 seconds, it gets the perm node:
image