Skip to main content
← All Guides
Permissions · 6 min read

How to Set Up Donor Ranks on a Minecraft Server

Learn how to set up donor ranks on a Minecraft server with LuckPerms, rank structure, cosmetic-only perks, permission nodes, store integration, and EULA compliance.

Donor ranks are the backbone of most server revenue models. Players pay for cosmetic perks, convenience features, or recognition, and in return the server stays funded. Setting up donor ranks on a Minecraft server correctly means balancing monetization with fairness, staying within the Minecraft EULA, and configuring permissions cleanly in LuckPerms. This guide covers all three.

EULA considerations

Mojang's EULA prohibits selling gameplay advantages that affect competitive balance. In practice, this means:

  • Allowed: cosmetic items (particles, pets, trails, chat colors, nicknames), quality-of-life features (/fly in lobby only, extra homes, colored chat), priority queue access.
  • Not allowed: selling powerful gear, in-game currency that buys combat items, kits with enchanted armor, or any perk that gives a paying player a competitive advantage over a non-paying player.

The safest approach is cosmetic-only donor ranks. Many successful servers generate substantial revenue without selling any gameplay advantage at all.

Planning the rank structure

A clean hierarchy typically has 3-5 donor tiers. More than that becomes confusing for players and difficult to maintain. Example structure:

RankPriceKey perks
VIP$5Colored name, 2 extra homes, /hat
VIP+$10All VIP perks + particle trails, /nick, priority join
MVP$20All VIP+ perks + custom join message, pet companion, 5 extra homes
MVP+$35All MVP perks + exclusive chat channel, monthly crate key, special tag

Each tier includes everything from the previous tier, which makes the upgrade path clear and lets players feel their investment compounds. This uses permission inheritance in LuckPerms to avoid duplicating permission nodes.

Creating the groups in LuckPerms

If you do not have LuckPerms installed yet, follow How to Set Up LuckPerms first. Then create the donor groups:

/lp creategroup vip
/lp creategroup vip+
/lp creategroup mvp
/lp creategroup mvp+

Setting up inheritance

Each rank inherits from the one below:

/lp group vip+ parent add vip
/lp group mvp parent add vip+
/lp group mvp+ parent add mvp

Now any permission added to VIP automatically applies to VIP+, MVP, and MVP+. You only need to add rank-specific perks to each tier.

Setting weights

Weights determine which rank displays in chat and tab when a player has multiple groups. Higher weight = higher priority:

/lp group vip meta setweight 10
/lp group vip+ meta setweight 20
/lp group mvp meta setweight 30
/lp group mvp+ meta setweight 40

Setting prefixes

/lp group vip meta setprefix 10 "&a[VIP] "
/lp group vip+ meta setprefix 20 "&a[VIP&6+&a] "
/lp group mvp meta setprefix 30 "&b[MVP] "
/lp group mvp+ meta setprefix 40 "&b[MVP&c+&b] "

The number before the prefix string is the priority, it must match or align with the weight so the correct prefix displays when a player holds multiple ranks.

Assigning permissions per rank

Here are example permission nodes for common donor perks:

# VIP
/lp group vip permission set essentials.sethome.multiple.3
/lp group vip permission set essentials.hat
/lp group vip permission set essentials.msg.color

# VIP+
/lp group vip+ permission set essentials.nick
/lp group vip+ permission set essentials.nick.color
/lp group vip+ permission set server.joinpriority

# MVP
/lp group mvp permission set essentials.sethome.multiple.8
/lp group mvp permission set mycustomjoinmessage.use

# MVP+
/lp group mvp+ permission set essentials.sethome.multiple.15

The exact nodes depend on which plugins you run. Check each plugin's documentation for the specific permission strings. Donor ranks on a Minecraft server work best when perks are clearly documented both in-game and on your webstore.

Store integration

Most servers use a webstore platform like Tebex (BuyCraft) or CraftingStore. These platforms execute commands on the server when a purchase completes. The typical command:

lp user {username} parent add mvp

For time-limited ranks (subscriptions), use:

lp user {username} parent addtemp mvp 30d

This grants the rank for 30 days. LuckPerms automatically removes it when the duration expires. Set up the expiration command in your store's "on-expiry" section to clean up properly.

Displaying ranks in chat

LuckPerms prefixes only work if your chat plugin reads them. With EssentialsX Chat, set the format in config.yml:

format: '{displayname}: {message}'

EssentialsX pulls the prefix from LuckPerms via Vault. Alternatively, use a dedicated chat formatter like LPC (LuckPerms Chat) or ChatControl for more advanced formatting.

Best practices for donor ranks on a Minecraft server

  1. Document every perk, list exactly what each rank includes on your store page and in-game with /ranks or a GUI.
  2. Avoid pay-to-win, if non-donors feel disadvantaged in core gameplay, you will lose players faster than you gain revenue.
  3. Offer upgrade pricing, if a VIP wants to become MVP, credit their original purchase. Most store platforms support this.
  4. Test on an alt, purchase each rank on a test account to verify permissions, prefixes, and store commands work correctly.
  5. Keep it maintainable, use inheritance so you are not managing 50+ individual permission nodes across four groups.

For a deeper dive into LuckPerms configuration, including contexts and meta, see the LuckPerms Advanced Guide.

Need reliable hosting for your build server? Astroworld Hosting runs NVMe SSDs with full Pterodactyl panel access and 24/7 support. See features , plans from €6.39/mo.

Related Tools & Resources

🔧

Minecraft Tools

Calculators, generators & server tools

🧱

Item Database

Browse all Minecraft items, stats & recipes

⚒️

Crafting Recipes

Visual crafting guides for every recipe