How to give a rank with LuckPerms when a player pays
12 October 2026 · 3 min read
Most servers manage ranks with LuckPerms. When a player buys VIP, your store runs a command on the server and LuckPerms puts the player in the VIP group. This post shows which command to use, and why.
All commands here come from the LuckPerms command reference. In your store you type them without the leading slash; {player} becomes the name of the player who paid.
A rank that lasts forever
lp user {player} parent add vip
parent add adds the group to the groups the player already has. Nothing is taken away. This is the one you want in almost every case.
You will also see this one:
lp user {player} parent set vip
parent set is different: it clears all other groups of the player first. LuckPerms' own words: "this command will clear all existing groups". Use it only when a player can have exactly one rank and you are sure nothing else lives in their groups, like a staff role. Sell a rank with parent set to a moderator and they are not a moderator anymore.
A rank for 30 days
LuckPerms can add a group that expires by itself:
lp user {player} parent addtemp vip 30d accumulate
The duration can be a time like 30d, 1mo or 1mo3d13h45m. The last word decides what happens when the player buys again while they still have it:
| Modifier | What it does |
|---|---|
accumulate |
adds the new time to the time they have left |
replace |
keeps the longest of the two |
deny |
refuses the second purchase |
For a rank people buy again before it runs out, accumulate is the fair choice: they paid for 30 more days, so they get them.
On Minecraftstore.io you can also make the product itself timed. Give it a duration of 30 days, use lp user {player} parent add vip as the purchase command and lp user {player} parent remove vip as the expiry command. Then the store keeps track: the owner sees who has the rank until when, the player gets a reminder before it ends, and buying again adds the time up. Use one of the two ways, not both.
Upgrading from VIP to MVP
If ranks build on each other, put them on a track in LuckPerms. Selling an upgrade then becomes two commands:
lp user {player} parent remove vip
lp user {player} parent add mvp
Both run in order after the purchase, so the player never ends up with both or with neither.
When the rank does not show up
- The group name is wrong. Check it with
lp listgroupsin the console. Group names are lowercase in LuckPerms. - The command ran on another server. On a network the purchase is delivered to the server you chose for the command. If LuckPerms on that server does not share its database with the others, the rank only exists there. Use a shared database (MySQL or MariaDB) for LuckPerms on a network.
- The player was offline. That is fine for LuckPerms, it can change offline players. Commands that need the player in the game, like giving items, do not work then. On Minecraftstore.io you tick Wait until the player is online on such a command, and it runs the moment they join.
- Run it once yourself. Paste the command in your console with your own name. If it works there, it works from the store.
Try it
On Minecraftstore.io you add these commands to a product, and the plugin runs them the moment a player pays. Open a store for free and test it with your own name.
Open your store in a few minutes
Free until you sell something. Players pay, the rank arrives in the game.