NewSchokr 13 is here. A whole new UI, seven locations, snapshots and more. Read more →

How to give Bedrock players permissions in LuckPerms

Set LuckPerms groups and permissions for Floodgate Bedrock players, including the prefixed name, allow-invalid-usernames, and using UUIDs.

Updated · 2 min read

LuckPerms treats Bedrock players like any other player, identified by the Floodgate UUID and the prefixed name (such as .Steve). The usual catch is that LuckPerms rejects names starting with a dot by default, so either enable allow-invalid-usernames or use the player's UUID.

The "invalid username" problem

Java usernames can only contain letters, numbers and underscores. When you run:

lp user .Steve parent add vip

LuckPerms may answer that .Steve is not a valid username. Two fixes:

Option 1: allow Floodgate names

In plugins/LuckPerms/config.yml:

allow-invalid-usernames: true

Restart the server. Now commands with the prefixed name work.

Option 2: use the UUID

Every Floodgate player has a UUID starting with 00000000-0000-0000-. After they have joined once, find it in usercache.json in the file manager (search for their prefixed name). Then:

lp user 00000000-0000-0000-0009-01f64f65c7c3 parent add vip

(That UUID is an example; use the real one.) UUIDs never change, even if you later change the Floodgate prefix.

Players must join once

LuckPerms can only look up names it has seen. Have the Bedrock player join the server once before you assign groups by name.

A group for all Bedrock players

There is no automatic Bedrock group, but you can make one and add Bedrock players to it as they join:

lp creategroup bedrock
lp user .Steve parent add bedrock

This is useful for exempting Bedrock players from features that do not work for them, or for giving them Bedrock-friendly menus. If you want it automated, some plugins can run a command when a Floodgate player joins; check that plugin's docs.

Common permission tasks

# Make a Bedrock player an admin in your admin group
lp user .Steve parent set admin

# Give one permission
lp user .Steve permission set essentials.home true

# Let staff use Floodgate's whitelist command
lp group mod permission set floodgate.command.fwhitelist true

The exact permission node names for Floodgate and Geyser commands are listed on the GeyserMC wiki.

Linked accounts

If a Bedrock player links their account to a Java account, they join with the Java UUID and name. Their permissions then follow the Java account, so assign groups to the Java name. See link Java and Bedrock accounts.

Changing the prefix later

Permissions stored by UUID survive a prefix change. Anything you configured by name in other plugins may not. See Bedrock names and the Floodgate prefix.

On a BungeeCord network

Run LuckPerms on each backend server (and the proxy if you need proxy permissions), connected to a shared database so groups sync. Schokr has no built-in MySQL, so use an external database provider for a shared setup, or manage each server separately with the file-based default (H2).