LuckPerms Documentation
website·Indexed 34 days ago
https://luckperms.net/wiki/HomeA comprehensive permissions plugin for Minecraft servers. Features include a web-based permissions editor, permission tree viewer, verbose mode for permission discovery, and support for multiple storage types. Documentation covers installation for various server types (Bukkit, Paper, Spigot, Velocity), network setup, developer API, and detailed command usage for users, groups, and tracks. Supports v5.5.85 and provides migration guides from GroupManager and PermissionsEx.
What's inside LuckPerms
- LuckPerms is a high-performance, scalable permissions plugin designed for server networks. It provides a flexible system for managing permissions via commands, configuration files, or a web-based editor. Key technical advantages include multithreading for most operations and cached lookups for permission checks and metadata to ensure efficiency on large-scale servers.
Overview of LuckPerms extensions
Extensions allow users to add additional functionality to the LuckPerms plugin. They operate independently of the specific platform (e.g., Bukkit, Sponge) by utilizing the plugin's native API.Overview of LuckPerms permissions plugin
LuckPerms is a free, high-performance permissions plugin for Minecraft servers. It allows administrators to control player access to features by creating groups and assigning specific permissions. It is designed for scalability and reliability, supporting multiple data storage options and a wide range of server types.Understand Prefixes, Suffixes, and Meta in LuckPerms
LuckPerms allows you to associate extra data with users and groups.
- Prefixes: Text that appears before a username in chat (e.g.,
[Admin]). - Suffixes: Text that appears after a username in chat (e.g.,
the great). - Meta: General key-value pairs used as variables for other plugins (e.g.,
max-homes = 5).
LuckPerms stores these as permission nodes internally. For example, a prefix of
[Admin]with a weight of 100 is stored asprefix.100.[Admin], and a meta pairfavourite-color = redis stored asmeta.favourite-color.red.- Prefixes: Text that appears before a username in chat (e.g.,
Manage LuckPerms translation bundles
Use/lp translationsto view information about currently loaded translations and install community-provided translation bundles. Requires theluckperms.translationspermission./lp translationsUnderstand how weights resolve conflicts in LuckPerms
LuckPerms uses a weight system to resolve conflicts when a user inherits multiple conflicting values. In all weight systems, a higher number indicates a higher priority. It is recommended to use large gaps between weight values (e.g., increments of 100) to allow for future insertions without needing to redefine all existing weights. Weights can be any integer, including negative numbers.View group information
Displays detailed information about a specific group. Requires theluckperms.group.infopermission./lp group <group> infoUnderstand LuckPerms core concepts
LuckPerms manages access to server features using the following concepts:
- Permissions: Strings (nodes) like
minecraft.command.banthat control access. They can be set totrue(granted),false(denied), orundefined(not set, usually defaults to false). - Groups: Collections of permissions that can be assigned to users to avoid individual assignment.
- Inheritance: The ability for users or groups to inherit permissions from a "parent" group. Inheritance is recursive (e.g., if Admin inherits Mod, and Mod inherits Default, Admin has permissions from both).
- Context: The specific circumstances (e.g., specific worlds or gamemodes) under which a permission applies.
- Permissions: Strings (nodes) like
Monitor permission checks in real-time using LuckPerms Verbose
The verbose system allows you to monitor permission checks occurring in real time. This is useful for finding undocumented permissions for commands or debugging why players lack specific permissions. You can receive alerts in chat or record them for analysis in a web viewer.Understand LuckPerms Contexts
Contexts define the circumstances under which a permission, parent group, prefix, suffix, or meta value applies to a player. A context consists of akey=valuepair. For a value to apply, the player must satisfy the required context. If multiple contexts of the same type are provided, the value applies if the player satisfies any one of those specific types (OR logic).Understand LuckPerms Web Editor communication architecture
The LuckPerms Web Editor is a stateless browser application that communicates with the LuckPerms plugin on a Minecraft server via two intermediary services to bypass direct connection barriers:
- bytebin: Used for exchanging large data payloads via HTTP GET/POST requests.
- bytesocks: Used for real-time, bidirectional communication via WebSockets.
Understand the LuckPerms Track system
A Track in LuckPerms acts as a 'ladder' or 'promotion route' used specifically for the easy promotion and demotion of users. It is important to note that tracks are purely for movement between groups and do not influence permission inheritance.