Reorganise the default configuration

This commit is contained in:
Luck 2018-03-17 21:03:50 +00:00
parent d52983c5af
commit d1e76f401a
No known key found for this signature in database
GPG Key ID: EFA9B3EC5FD90F8B
5 changed files with 1631 additions and 1111 deletions

View File

@ -18,161 +18,303 @@
#################################################################################################### ####################################################################################################
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | General | # # | | #
# | ESSENTIAL SETTINGS | #
# | | #
# | Important settings that control how LuckPerms functions. | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# The name of the server, used for server specific permissions. Set to 'global' to disable. # The name of the server, used for server specific permissions.
#
# - When set to "global" this setting is effectively ignored.
# - In all other cases, the value here is added to all players in a "server" context.
# - See: https://github.com/lucko/LuckPerms/wiki/Context
server: global server: global
# If users on this server should have their global permissions applied.
# If set to false, only server specific permissions will apply for users on this server
include-global: true
# If users on this server should have their global world permissions applied.
# If set to false, only world specific permissions will apply for users on this server
include-global-world: true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true
# If the servers own UUID cache/lookup facility should be used when there is no record for a player # If the servers own UUID cache/lookup facility should be used when there is no record for a player
# in the LuckPerms cache. # already in LuckPerms.
#
# - When this is set to 'false', commands using a player's username will not work unless the player
# has joined since LuckPerms was first installed.
# - To get around this, you can use a player's uuid directly in the command, or enable this option.
# - When this is set to 'true', the server facility is used. This may use a number of methods,
# including checking the servers local cache, or making a request to the Mojang API.
use-server-uuid-cache: false use-server-uuid-cache: false
# If LuckPerms should use the "server-name" property from the "server.properties"
# file as the "server" option within LuckPerms.
use-server-properties-name: false
# If set to true, LuckPerms will allow usernames with non alphanumeric characters.
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | STORAGE SETTINGS | #
# | | #
# | Controls which storage method LuckPerms will use to store data. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# How the plugin should store data
# #
# Note that due to the design of the storage implementation, usernames must still be # - The various options are explained in more detail on the wiki:
# 16 characters or less. # https://github.com/lucko/LuckPerms/wiki/Choosing-a-Storage-type
allow-invalid-usernames: false
# If LuckPerms should produce extra logging output when it handles logins.
# Useful if you're having issues with UUID forwarding or data not being loaded.
debug-logins: false
# If the plugin should send log notifications to users whenever permissions are modified.
log-notify: true
# Mirrors world names. Whenever LuckPerms checks what world a user is in, if the world name is in
# this list, the value assigned will be sent forward for permission calculation instead.
world-rewrite:
# world_nether: world
# world_the_end: world
# Controls how temporary permissions/parents/meta should be accumulated
# #
# The default behaviour is "deny" # - Possible options:
# If "accumulate": durations will be added to the existing expiry time #
# If "replace": durations will be replaced if the new duration is later than the current expiration # | Remote databases - require connection information to be configured below
# If "deny": the command will just fail if you try to add another node with the same expiry # |=> MySQL
# |=> MariaDB (preferred over MySQL)
# |=> PostgreSQL
# |=> MongoDB
#
# | Flatfile/local database - don't require any extra configuration
# |=> H2 (preferred over SQLite)
# |=> SQLite
#
# | Readable & editable text files - don't require any extra configuration
# |=> YAML (.yml files)
# |=> JSON (.json files)
# |=> HSON (.conf files)
#
# - A H2 database is the default option.
# - If you want to edit data manually in "traditional" storage files, we suggest using YAML.
storage-method: h2
# The following block defines the settings for remote database storage methods.
#
# - You don't need to touch any of the settings here if you're using a local storage method!
# - The connection detail options are shared between all remote storage types.
data:
# Define the address and port for the database.
# - The standard DB engine port is used by default
# (MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017)
# - Specify as "host:port" if differs
address: localhost
# The name of the database to store LuckPerms data in.
# - This must be created already. Don't worry about this setting if you're using MongoDB.
database: minecraft
# Credentials for the database.
username: root
password: ''
# These settings apply to the MySQL connection pool.
# - The default values will be suitable for the majority of users.
# - Do not change these settings unless you know what you're doing!
pool-settings:
# Sets the maximum size of the MySQL connection pool.
# - Basically this value will determine the maximum number of actual
# connections to the database backend.
# - More information about determining the size of connection pools can be found here:
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
maximum-pool-size: 10
# Sets the minimum number of idle connections that the pool will try to maintain.
# - For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle: 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# - The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime: 1800000 # 30 minutes
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout: 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
properties:
useUnicode: true
characterEncoding: utf8
# The prefix for all LuckPerms SQL tables.
# - Change this is you want to use different tables for different servers.
table_prefix: 'luckperms_'
# The prefix to use for all LuckPerms collections. Change this if you want to use different
# collections for different servers. The default is no prefix.
mongodb_collection_prefix: ''
# MongoDB ClientConnectionURI for use with replica sets and custom connection options
# - See https://docs.mongodb.com/manual/reference/connection-string/
mongodb_connection_URI: ''
# Define settings for a "split" storage setup.
#
# - This allows you to define a storage method for each type of data.
# - The connection options above still have to be correct for each type here.
split-storage:
# Don't touch this if you don't want to use split storage!
enabled: false
methods:
# These options don't need to be modified if split storage isn't enabled.
user: h2
group: h2
track: h2
uuid: h2
log: h2
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | UPDATE PROPAGATION & MESSAGING SERVICE | #
# | | #
# | Controls the ways in which LuckPerms will sync data & notify other servers of changes. | #
# | These options are documented on greater detail on the wiki under "Instant Updates". | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# This option controls how frequently LuckPerms will perform a sync task.
#
# - A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
# - This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this to something like 3.
# - Set to -1 to disable the task completely.
sync-minutes: -1
# If the file watcher should be enabled.
#
# - When using a file-based storage type, LuckPerms can monitor the data files for changes, and
# automatically update when changes are detected.
# - If you don't want this feature to be active, set this option to false.
watch-files: true
# Define which messaging service should be used by the plugin.
#
# - If enabled and configured, LuckPerms will use the messaging service to inform other connected
# servers of changes.
# - Use the command "/lp networksync" to manually push changes.
# - Data is NOT stored using this service. It is only used as a messaging platform.
#
# - If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need
# for LuckPerms to poll the database for changes.
#
# - Possible options:
# => bungee Uses the plugin messaging channels to communicate with the proxy.
# LuckPerms must be installed on your proxy & all connected servers backend servers.
# Won't work if you have more than one BungeeCord proxy.
# => lilypad Uses LilyPad pub-sub to push changes. You need to have the LilyPad-Connect plugin
# installed.
# => redis Uses Redis pub-sub to push changes. Your server connection info must be configured
# below.
# => none Disables the service.
messaging-service: none
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates: true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries: true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# - If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you
# should set this option to false on either your backends or your proxies, to avoid players being
# messaged twice about log entries.
broadcast-received-log-entries: true
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
redis:
enabled: false
address: localhost
password: ''
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | CUSTOMIZATION SETTINGS | #
# | | #
# | Settings that allow admins to customize the way LuckPerms operates. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# Controls how temporary permissions/parents/meta should be accumulated.
#
# - The default behaviour is "deny".
# - This behaviour can also be specified when the command is executed. See the command usage
# documentation for more info.
#
# - Possible options:
# => accumulate durations will be added to the existing expiry time
# => replace durations will be replaced if the new duration is later than the current
# expiration
# => deny the command will just fail if you try to add another node with the same expiry
temporary-add-behaviour: deny temporary-add-behaviour: deny
# How should LuckPerms determine a users "primary" group. # Controls how LuckPerms will determine a users "primary" group.
# #
# Available Options: # - The meaning and influence of "primary groups" are explained in detail on the wiki.
# -> stored use the value stored against the users record in the file/database # - The preferred approach is to let LuckPerms automatically determine a users primary group
# -> parents-by-weight just use the users most highly weighted parent # based on the relative weight of their parent groups.
# -> all-parents-by-weight same as above, but calculates based upon all parents inherited from both #
# directly and indirectly # - Possible options:
# => stored use the value stored against the users record in the file/database
# => parents-by-weight just use the users most highly weighted parent
# => all-parents-by-weight same as above, but calculates based upon all parents inherited from
# both directly and indirectly
primary-group-calculation: parents-by-weight primary-group-calculation: parents-by-weight
# If set to false, the plugin will allow a Users primary group to be removed with the
# 'parent remove' command, and will set their primary group back to default.
prevent-primary-group-removal: false
# If the plugin should check for "extra" permissions with users run LP commands. # If the plugin should check for "extra" permissions with users run LP commands.
# #
# These extra permissions allow finer control over what users can do with each command, and # - These extra permissions allow finer control over what users can do with each command, and who
# who they have access to edit. # they have access to edit.
# # - The nature of the checks are documented on the wiki under "Argument based command permissions".
# The permissions are *not* static, unlike the 'base' permisssions, and will depend upon the # - Argument based permissions are *not* static, unlike the 'base' permissions, and will depend upon
# arguments given within the command. # the arguments given within the command.
argument-based-command-permissions: false argument-based-command-permissions: false
# If the plugin should send log notifications to users whenever permissions are modified.
# +----------------------------------------------------------------------------------------------+ #
# | Permission Calculation | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
# If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards: true
# If the plugin should parse regex permissions.
# If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex: true
# If the plugin should complete and apply shorthand permissions.
# If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand: true
# If the plugin should apply Bukkit child permissions.
# Plugin authors can define custom permissions structures for their plugin, which will be resolved
# and used by LuckPerms if this setting is enabled.
apply-bukkit-child-permissions: true
# If the plugin should apply Bukkit default permissions.
# Plugin authors can define permissions which should be given to all users by default, or setup
# permissions which should/shouldn't be given to opped players.
# If this option is set to false, LuckPerms will ignore these defaults.
apply-bukkit-default-permissions: true
# If the plugin should apply attachment permissions.
# Other plugins on the server are able to add their own "permission attachments" to players. This
# allows them to grant players additional permissions which last until the end of the session, or
# until they're removed. If this option is set to false, LuckPerms will not include these attachment
# permissions when considering if a player should have access to a certain permission.
apply-bukkit-attachment-permissions: true
# The algorithm LuckPerms should use when traversing the "inheritance tree".
# #
# The valid options are: # - Notifications are only sent to those with the appropriate permission to receive them
# - breadth-first # - They can also be temporarily enabled/disabled on a per-user basis using
# - depth-first-pre-order # '/lp log notify <on|off>'
# - depth-first-post-order log-notify: true
# Defines the options for prefix and suffix stacking.
# #
# See here for information about the differences between each algorithm. # - The feature allows you to display multiple prefixes or suffixes alongside a players username in
# - https://en.wikipedia.org/wiki/Breadth-first_search # chat.
# - https://en.wikipedia.org/wiki/Depth-first_search # - It is explained and documented in more detail on the wiki under "Prefix & Suffix Stacking".
inheritance-traversal-algorithm: depth-first-pre-order
# Define special group weights for this server.
# Default is just 0.
group-weight:
# admin: 10
# +----------------------------------------------------------------------------------------------+ #
# | Meta Formatting & Stacking | #
# +----------------------------------------------------------------------------------------------+ #
# Allows you to setup prefix/suffix stacking options.
# #
# Available formats: # - The options are divided into separate sections for prefixes and suffixes.
# - highest # - The value of 'start-spacer' is included at the start of the resultant prefix/suffix.
# - lowest # - The value of 'end-spacer' is included at the end of the resultant prefix/suffix.
# - highest_own # - The value of 'middle-spacer' is included between each element in the resultant prefix/suffix.
# - lowest_own
# - highest_inherited
# - lowest_inherited
# - highest_on_track_<track>
# - lowest_on_track_<track>
# - highest_not_on_track_<track>
# - lowest_not_on_track_<track>
# #
# Each element is added in the order listed. # - Possible format options:
# => highest Selects the value with the highest weight, from all values
# held by or inherited by the player.
#
# => lowest Same as above, except takes the one with the lowest weight.
#
# => highest_own Selects the value with the highest weight, but will not
# accept any inherited values.
#
# => lowest_own Same as above, except takes the value with the lowest weight.
#
# => highest_inherited Selects the value with the highest weight, but will only
# accept inherited values.
#
# => lowest_inherited Same as above, except takes the value with the lowest weight.
#
# => highest_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group on the given track.
#
# => lowest_on_track_<track> Same as above, except takes the value with the lowest weight.
#
# => highest_not_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group not on the given track.
#
# => lowest_not_on_track_<track> Same as above, except takes the value with the lowest weight.
meta-formatting: meta-formatting:
prefix: prefix:
format: format:
@ -191,46 +333,156 @@ meta-formatting:
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | OP (Server Operator) Settings | # # | | #
# | PERMISSION CALCULATION AND INHERITANCE | #
# | | #
# | Modify the way permission checks, meta lookups and inheritance resolutions are handled. | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# If the vanilla OP system is enabled. If set to false, all users will be de-opped, and the op/deop # The algorithm LuckPerms should use when traversing the "inheritance tree".
# commands will be disabled. #
# - Possible options:
# => breadth-first See: https://en.wikipedia.org/wiki/Breadth-first_search
# => depth-first-pre-order See: https://en.wikipedia.org/wiki/Depth-first_search
# => depth-first-post-order See: https://en.wikipedia.org/wiki/Depth-first_search
inheritance-traversal-algorithm: depth-first-pre-order
# +----------------------------------------------------------------------------------------------+ #
# | Permission resolution settings | #
# +----------------------------------------------------------------------------------------------+ #
# If users on this server should have their global permissions applied.
# When set to false, only server specific permissions will apply for users on this server
include-global: true
# If users on this server should have their global world permissions applied.
# When set to false, only world specific permissions will apply for users on this server
include-global-world: true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true
# +----------------------------------------------------------------------------------------------+ #
# | Inheritance settings | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
#
# - If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards: true
# If the plugin should parse regex permissions.
#
# - If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex: true
# If the plugin should complete and apply shorthand permissions.
#
# - If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand: true
# If the plugin should apply Bukkit child permissions.
#
# - Plugin authors can define custom permissions structures for their plugin, which will be resolved
# and used by LuckPerms if this setting is enabled.
apply-bukkit-child-permissions: true
# If the plugin should apply Bukkit default permissions.
#
# - Plugin authors can define permissions which should be given to all users by default, or setup
# permissions which should/shouldn't be given to opped players.
# - If this option is set to false, LuckPerms will ignore these defaults.
apply-bukkit-default-permissions: true
# If the plugin should apply attachment permissions.
#
# - Other plugins on the server are able to add their own "permission attachments" to players.
# - This allows them to grant players additional permissions which last until the end of the
# session, or until they're removed.
# - If this option is set to false, LuckPerms will not include these attachment permissions when
# considering if a player should have access to a certain permission.
apply-bukkit-attachment-permissions: true
# +----------------------------------------------------------------------------------------------+ #
# | Extra settings | #
# +----------------------------------------------------------------------------------------------+ #
# Allows you to set "aliases" for the worlds sent forward for context calculation.
#
# - These aliases are provided in addition to the real world name. Applied recursively.
# - Remove the comment characters for the default aliases to apply.
world-rewrite:
# world_nether: world
# world_the_end: world
# Define special group weights for this server.
#
# - Group weights can also be applied directly to group data, using the setweight command.
# - This section allows weights to be set on a per-server basis.
group-weight:
# admin: 10
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | FINE TUNING OPTIONS | #
# | | #
# | A number of more niche settings for tweaking and changing behaviour. The section also | #
# | contains toggles for some more specialised features. It is only necessary to make changes to | #
# | these options if you want to fine-tune LuckPerms behaviour. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# +----------------------------------------------------------------------------------------------+ #
# | Server Operator (OP) settings | #
# +----------------------------------------------------------------------------------------------+ #
# Controls whether server operators should exist at all.
#
# - When set to 'false', all players will be de-opped, and the /op and /deop commands will be
# disabled.
enable-ops: true enable-ops: true
# If set to true, any user with the permission "luckperms.autoop" will automatically be granted # Enables or disables a special permission based system in LuckPerms for controlling OP status.
#
# - If set to true, any user with the permission "luckperms.autoop" will automatically be granted
# server operator status. This permission can be inherited, or set on specific servers/worlds, # server operator status. This permission can be inherited, or set on specific servers/worlds,
# temporarily, etc. # temporarily, etc.
# # - Additionally, setting this to true will force the "enable-ops" option above to false. All users
# Additionally, setting this to true will force the "enable-ops" option above to false. All users # will be de-opped unless they have the permission node, and the op/deop commands will be
# will be de-opped unless they have the permission node, and the op/deop commands will be disabled. # disabled.
# # - It is important to note that this setting is only checked when a player first joins the server,
# It is important to note that this setting is only checked when a player first joins the server,
# and when they switch worlds. Therefore, simply removing this permission from a user will not # and when they switch worlds. Therefore, simply removing this permission from a user will not
# automatically de-op them. A player needs to relog to have the change take effect. # automatically de-op them. A player needs to relog to have the change take effect.
# # - It is recommended that you use this option instead of assigning a single '*' permission.
# It is recommended that you use this option instead of assigning a single '*' permission.
auto-op: false auto-op: false
# If opped players should be allowed to use LuckPerms commands. Set to false to only allow users who # Defines if "opped" players should be able to use all LuckPerms commands by default.
# have the permissions access to the commands #
# - Set to false to only allow users who have the permissions access to the commands
commands-allow-op: true commands-allow-op: true
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Vault | # # | Vault integration settings | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# If the vault-server option below should be used. # If the vault-server option below should be used.
# When this option is set to false, the server value defined above under "server" is used. #
# - When this option is set to false, the server value defined above under "server" is used.
use-vault-server: false use-vault-server: false
# The name of the server used within Vault operations. If you don't want Vault operations to be # The name of the server used within Vault operations.
# server specific, set this to "global".
# #
# Will only take effect if use-vault-server is set to true above. # - If you don't want Vault operations to be server specific, set this to "global".
# - Will only take effect if use-vault-server is set to true above.
vault-server: global vault-server: global
# If global permissions should be considered when retrieving meta or player groups # If global permissions should be considered when retrieving meta or player groups
@ -242,150 +494,37 @@ vault-ignore-world: false
# If LuckPerms should print debugging info to console when a plugin uses a Vault function # If LuckPerms should print debugging info to console when a plugin uses a Vault function
vault-debug: false vault-debug: false
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Storage | # # | Miscellaneous (and rarely used) settings | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# Which storage method the plugin should use. # If LuckPerms should produce extra logging output when it handles logins.
# #
# See: https://github.com/lucko/LuckPerms/wiki/Choosing-a-Storage-type # - Useful if you're having issues with UUID forwarding or data not being loaded.
# Currently supported: mysql, mariadb, postgresql, sqlite, h2, json, yaml, hocon, mongodb debug-logins: false
# If LuckPerms should use the "server-name" property from the "server.properties" file as the
# "server" option within LuckPerms.
use-server-properties-name: false
# If LuckPerms should allow usernames with non alphanumeric characters.
# #
# Fill out connection info below if you're using MySQL, MariaDB, PostgreSQL or MongoDB # - Note that due to the design of the storage implementation, usernames must still be 16 characters
# If your MySQL server supports it, the "mariadb" option is preferred over "mysql". # or less.
storage-method: h2 allow-invalid-usernames: false
# When using a file-based storage type, LuckPerms can monitor the data files for changes, and then # If LuckPerms should allow a users primary group to be removed with the 'parent remove' command.
# schedule automatic updates when changes are detected.
# #
# If you don't want this to happen, set this option to false. # - When this happens, the plugin will set their primary group back to default.
watch-files: true prevent-primary-group-removal: false
# This block enables support for split datastores.
split-storage:
enabled: false
methods:
user: h2
group: h2
track: h2
uuid: h2
log: h2
data:
# Uses standard DB engine port by default
# MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017
# Specify as "host:port" if differs
address: localhost
database: minecraft
username: root
password: ''
# These settings apply to the MySQL connection pool.
# The default values will be suitable for the majority of users.
# Do not change these settings unless you know what you're doing!
pool-settings:
# Sets the maximum size of the MySQL connection pool.
# Basically this value will determine the maximum number of actual
# connections to the database backend.
#
# More information about determining the size of connection pools can be found here:
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
maximum-pool-size: 10
# Sets the minimum number of idle connections that the pool will try to maintain.
#
# For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle: 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime: 1800000 # 30 minutes
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout: 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
properties:
useUnicode: true
characterEncoding: utf8
# The prefix for all LuckPerms tables. Change this is you want to use different tables for
# different servers.
#
# This should *not* be set to "lp_" if you have previously ran LuckPerms v2.16.81 or earlier with
# this database.
table_prefix: 'luckperms_'
# The prefix to use for all LuckPerms collections. Change this if you want to use different
# collections for different servers. The default is no prefix.
mongodb_collection_prefix: ''
# MongoDB ClientConnectionURI for use with replicasets and custom connection options
# See https://docs.mongodb.com/manual/reference/connection-string/
mongodb_connection_URI: ''
# This option controls how frequently LuckPerms will perform a sync task.
# A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
#
# This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this value to something like
# 3.
#
# Set to -1 to disable the task completely.
sync-minutes: -1
# Settings for the messaging service
#
# If enabled and configured, LuckPerms will use the messaging system to inform other
# connected servers of changes. Use the command "/luckperms networksync" to push changes.
# Data is NOT stored using this service. It is only used as a messaging platform.
#
# If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need for
# LuckPerms to poll the database for changes.
#
# Available options:
# -> bungee uses the plugin messaging channels. Must be enabled on all connected servers to work.
# -> lilypad uses lilypad pub sub to push changes. You need to have the LilyPad-Connect plugin
# installed.
# -> redis uses redis pub sub to push changes. Your redis server must be configured below.
# -> none nothing
messaging-service: none
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates: true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries: true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you should
# set this option to false on either your backends or your proxies, to avoid players being messaged
# twice about log entries.
broadcast-received-log-entries: true
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
redis:
enabled: false
address: localhost
password: ''
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Default Assignments | # # | | #
# | DEFAULT ASSIGNMENTS | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# This section allows you to define defaults to give users whenever they connect to the server. # This section allows you to define defaults to give users whenever they connect to the server.

View File

@ -18,158 +18,310 @@
#################################################################################################### ####################################################################################################
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | General | # # | | #
# | ESSENTIAL SETTINGS | #
# | | #
# | Important settings that control how LuckPerms functions. | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# The name of the server, used for server specific permissions. Set to 'global' to disable. # The name of the server, used for server specific permissions.
#
# - When set to "global" this setting is effectively ignored.
# - In all other cases, the value here is added to all players in a "server" context.
# - See: https://github.com/lucko/LuckPerms/wiki/Context
server: bungee server: bungee
# If users on this server should have their global permissions applied.
# If set to false, only server specific permissions will apply for users on this server
include-global: true
# If users on this server should have their global world permissions applied.
# If set to false, only world specific permissions will apply for users on this server
include-global-world: true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true
# If the servers own UUID cache/lookup facility should be used when there is no record for a player # If the servers own UUID cache/lookup facility should be used when there is no record for a player
# in the LuckPerms cache. # already in LuckPerms.
# #
# Since BungeeCord doesn't maintain it's own UUID cache, when this option is true, LuckPerms will # - Since BungeeCord doesn't maintain it's own UUID cache, when this option is true, LuckPerms will
# try to find a uuid for a username using RedisBungee, if installed. # try to find a uuid for a username using RedisBungee, if installed.
use-server-uuid-cache: false use-server-uuid-cache: false
# If set to true, LuckPerms will allow usernames with non alphanumeric characters.
#
# Note that due to the design of the storage implementation, usernames must still be
# 16 characters or less.
allow-invalid-usernames: false
# If LuckPerms should produce extra logging output when it handles logins.
# Useful if you're having issues with UUID forwarding or data not being loaded.
debug-logins: false # +----------------------------------------------------------------------------------------------+ #
# | | #
# | STORAGE SETTINGS | #
# | | #
# | Controls which storage method LuckPerms will use to store data. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# How the plugin should store data
#
# - The various options are explained in more detail on the wiki:
# https://github.com/lucko/LuckPerms/wiki/Choosing-a-Storage-type
#
# - Possible options:
#
# | Remote databases - require connection information to be configured below
# |=> MySQL
# |=> MariaDB (preferred over MySQL)
# |=> PostgreSQL
# |=> MongoDB
#
# | Flatfile/local database - don't require any extra configuration
# |=> H2 (preferred over SQLite)
# |=> SQLite
#
# | Readable & editable text files - don't require any extra configuration
# |=> YAML (.yml files)
# |=> JSON (.json files)
# |=> HSON (.conf files)
#
# - A H2 database is the default option.
# - If you want to edit data manually in "traditional" storage files, we suggest using YAML.
storage-method: h2
# The following block defines the settings for remote database storage methods.
#
# - You don't need to touch any of the settings here if you're using a local storage method!
# - The connection detail options are shared between all remote storage types.
data:
# Define the address and port for the database.
# - The standard DB engine port is used by default
# (MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017)
# - Specify as "host:port" if differs
address: localhost
# The name of the database to store LuckPerms data in.
# - This must be created already. Don't worry about this setting if you're using MongoDB.
database: minecraft
# Credentials for the database.
username: root
password: ''
# These settings apply to the MySQL connection pool.
# - The default values will be suitable for the majority of users.
# - Do not change these settings unless you know what you're doing!
pool-settings:
# Sets the maximum size of the MySQL connection pool.
# - Basically this value will determine the maximum number of actual
# connections to the database backend.
# - More information about determining the size of connection pools can be found here:
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
maximum-pool-size: 10
# Sets the minimum number of idle connections that the pool will try to maintain.
# - For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle: 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# - The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime: 1800000 # 30 minutes
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout: 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
properties:
useUnicode: true
characterEncoding: utf8
# The prefix for all LuckPerms SQL tables.
# - Change this is you want to use different tables for different servers.
table_prefix: 'luckperms_'
# The prefix to use for all LuckPerms collections. Change this if you want to use different
# collections for different servers. The default is no prefix.
mongodb_collection_prefix: ''
# MongoDB ClientConnectionURI for use with replica sets and custom connection options
# - See https://docs.mongodb.com/manual/reference/connection-string/
mongodb_connection_URI: ''
# Define settings for a "split" storage setup.
#
# - This allows you to define a storage method for each type of data.
# - The connection options above still have to be correct for each type here.
split-storage:
# Don't touch this if you don't want to use split storage!
enabled: false
methods:
# These options don't need to be modified if split storage isn't enabled.
user: h2
group: h2
track: h2
uuid: h2
log: h2
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | UPDATE PROPAGATION & MESSAGING SERVICE | #
# | | #
# | Controls the ways in which LuckPerms will sync data & notify other servers of changes. | #
# | These options are documented on greater detail on the wiki under "Instant Updates". | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# This option controls how frequently LuckPerms will perform a sync task.
#
# - A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
# - This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this to something like 3.
# - Set to -1 to disable the task completely.
sync-minutes: -1
# If the file watcher should be enabled.
#
# - When using a file-based storage type, LuckPerms can monitor the data files for changes, and
# automatically update when changes are detected.
# - If you don't want this feature to be active, set this option to false.
watch-files: true
# Define which messaging service should be used by the plugin.
#
# - If enabled and configured, LuckPerms will use the messaging service to inform other connected
# servers of changes.
# - Use the command "/lp networksync" to manually push changes.
# - Data is NOT stored using this service. It is only used as a messaging platform.
#
# - If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need
# for LuckPerms to poll the database for changes.
#
# - Possible options:
# => bungee Uses the plugin messaging channels to communicate with the proxy.
# LuckPerms must be installed on your proxy & all connected servers backend
# servers. Won't work if you have more than one BungeeCord proxy.
# => redis Uses Redis pub-sub to push changes. Your server connection info must be
# configured below.
# => redisbungee Uses Redis pub-sub to push changes, using the RedisBungee API. You need to have
# the RedisBungee plugin installed.
# => none Disables the service.
messaging-service: none
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates: true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries: true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# - If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you
# should set this option to false on either your backends or your proxies, to avoid players being
# messaged twice about log entries.
broadcast-received-log-entries: false
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
redis:
enabled: false
address: localhost
password: ''
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | CUSTOMIZATION SETTINGS | #
# | | #
# | Settings that allow admins to customize the way LuckPerms operates. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# If LuckPerms should ensure all players have permission data when they connect to the server. # If LuckPerms should ensure all players have permission data when they connect to the server.
# #
# When set to true, LuckPerms will cancel login attempts if it is unable to load permissions data # - When set to true, LuckPerms will cancel login attempts if it is unable to load permissions data
# for a user, of if the storage provider is unavailable. # for a user, of if the storage provider is unavailable.
# # - When set to false, LuckPerms will allow a player to connect regardless of whether their
# When set to false, LuckPerms will allow a player to connect regardless of whether their
# permissions data could be loaded. # permissions data could be loaded.
# # - This option does not exist on other platforms, and effectively defaults to true - however,
# This option does not exist on other platforms, and effectively defaults to true - however,
# the option is provided on BungeeCord, as it is less likely to be so dependant on permissions. # the option is provided on BungeeCord, as it is less likely to be so dependant on permissions.
cancel-failed-logins: false cancel-failed-logins: false
# If the plugin should send log notifications to users whenever permissions are modified. # Controls how temporary permissions/parents/meta should be accumulated.
log-notify: true
# Mirrors world names. Whenever LuckPerms checks what world a user is in, if the world name is in
# this list, the value assigned will be sent forward for permission calculation instead.
world-rewrite:
# world_nether: world
# world_the_end: world
# Controls how temporary permissions/parents/meta should be accumulated
# #
# The default behaviour is "deny" # - The default behaviour is "deny".
# If "accumulate": durations will be added to the existing expiry time # - This behaviour can also be specified when the command is executed. See the command usage
# If "replace": durations will be replaced if the new duration is later than the current expiration # documentation for more info.
# If "deny": the command will just fail if you try to add another node with the same expiry #
# - Possible options:
# => accumulate durations will be added to the existing expiry time
# => replace durations will be replaced if the new duration is later than the current
# expiration
# => deny the command will just fail if you try to add another node with the same expiry
temporary-add-behaviour: deny temporary-add-behaviour: deny
# How should LuckPerms determine a users "primary" group. # Controls how LuckPerms will determine a users "primary" group.
# #
# Available Options: # - The meaning and influence of "primary groups" are explained in detail on the wiki.
# -> stored use the value stored against the users record in the file/database # - The preferred approach is to let LuckPerms automatically determine a users primary group
# -> parents-by-weight just use the users most highly weighted parent # based on the relative weight of their parent groups.
# -> all-parents-by-weight same as above, but calculates based upon all parents inherited from both #
# directly and indirectly # - Possible options:
# => stored use the value stored against the users record in the file/database
# => parents-by-weight just use the users most highly weighted parent
# => all-parents-by-weight same as above, but calculates based upon all parents inherited from
# both directly and indirectly
primary-group-calculation: parents-by-weight primary-group-calculation: parents-by-weight
# If set to false, the plugin will allow a Users primary group to be removed with the
# 'parent remove' command, and will set their primary group back to default.
prevent-primary-group-removal: false
# If the plugin should check for "extra" permissions with users run LP commands. # If the plugin should check for "extra" permissions with users run LP commands.
# #
# These extra permissions allow finer control over what users can do with each command, and # - These extra permissions allow finer control over what users can do with each command, and who
# who they have access to edit. # they have access to edit.
# # - The nature of the checks are documented on the wiki under "Argument based command permissions".
# The permissions are *not* static, unlike the 'base' permisssions, and will depend upon the # - Argument based permissions are *not* static, unlike the 'base' permissions, and will depend upon
# arguments given within the command. # the arguments given within the command.
argument-based-command-permissions: false argument-based-command-permissions: false
# If the plugin should send log notifications to users whenever permissions are modified.
# +----------------------------------------------------------------------------------------------+ #
# | Permission Calculation | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
# If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards: true
# If the plugin should parse regex permissions.
# If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex: true
# If the plugin should complete and apply shorthand permissions.
# If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand: true
# If the plugin should apply the permissions & groups defined in the BungeeCord config.yml
# If set to false, LuckPerms will ignore these values.
apply-bungee-config-permissions: false
# The algorithm LuckPerms should use when traversing the "inheritance tree".
# #
# The valid options are: # - Notifications are only sent to those with the appropriate permission to receive them
# - breadth-first # - They can also be temporarily enabled/disabled on a per-user basis using
# - depth-first-pre-order # '/lp log notify <on|off>'
# - depth-first-post-order log-notify: true
# Defines the options for prefix and suffix stacking.
# #
# See here for information about the differences between each algorithm. # - The feature allows you to display multiple prefixes or suffixes alongside a players username in
# - https://en.wikipedia.org/wiki/Breadth-first_search # chat.
# - https://en.wikipedia.org/wiki/Depth-first_search # - It is explained and documented in more detail on the wiki under "Prefix & Suffix Stacking".
inheritance-traversal-algorithm: depth-first-pre-order
# Define special group weights for this server.
# Default is just 0.
group-weight:
# admin: 10
# +----------------------------------------------------------------------------------------------+ #
# | Meta Formatting & Stacking | #
# +----------------------------------------------------------------------------------------------+ #
# Allows you to setup prefix/suffix stacking options.
# #
# Available formats: # - The options are divided into separate sections for prefixes and suffixes.
# - highest # - The value of 'start-spacer' is included at the start of the resultant prefix/suffix.
# - lowest # - The value of 'end-spacer' is included at the end of the resultant prefix/suffix.
# - highest_own # - The value of 'middle-spacer' is included between each element in the resultant prefix/suffix.
# - lowest_own
# - highest_inherited
# - lowest_inherited
# - highest_on_track_<track>
# - lowest_on_track_<track>
# - highest_not_on_track_<track>
# - lowest_not_on_track_<track>
# #
# Each element is added in the order listed. # - Possible format options:
# => highest Selects the value with the highest weight, from all values
# held by or inherited by the player.
#
# => lowest Same as above, except takes the one with the lowest weight.
#
# => highest_own Selects the value with the highest weight, but will not
# accept any inherited values.
#
# => lowest_own Same as above, except takes the value with the lowest weight.
#
# => highest_inherited Selects the value with the highest weight, but will only
# accept inherited values.
#
# => lowest_inherited Same as above, except takes the value with the lowest weight.
#
# => highest_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group on the given track.
#
# => lowest_on_track_<track> Same as above, except takes the value with the lowest weight.
#
# => highest_not_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group not on the given track.
#
# => lowest_not_on_track_<track> Same as above, except takes the value with the lowest weight.
meta-formatting: meta-formatting:
prefix: prefix:
format: format:
@ -188,147 +340,124 @@ meta-formatting:
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Storage | # # | | #
# | PERMISSION CALCULATION AND INHERITANCE | #
# | | #
# | Modify the way permission checks, meta lookups and inheritance resolutions are handled. | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# Which storage method the plugin should use. # The algorithm LuckPerms should use when traversing the "inheritance tree".
# #
# See: https://github.com/lucko/LuckPerms/wiki/Choosing-a-Storage-type # - Possible options:
# Currently supported: mysql, mariadb, postgresql, sqlite, h2, json, yaml, hocon, mongodb # => breadth-first See: https://en.wikipedia.org/wiki/Breadth-first_search
# => depth-first-pre-order See: https://en.wikipedia.org/wiki/Depth-first_search
# => depth-first-post-order See: https://en.wikipedia.org/wiki/Depth-first_search
inheritance-traversal-algorithm: depth-first-pre-order
# +----------------------------------------------------------------------------------------------+ #
# | Permission resolution settings | #
# +----------------------------------------------------------------------------------------------+ #
# If users on this server should have their global permissions applied.
# When set to false, only server specific permissions will apply for users on this server
include-global: true
# If users on this server should have their global world permissions applied.
# When set to false, only world specific permissions will apply for users on this server
include-global-world: true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true
# +----------------------------------------------------------------------------------------------+ #
# | Inheritance settings | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
# #
# Fill out connection info below if you're using MySQL, MariaDB, PostgreSQL or MongoDB # - If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# If your MySQL server supports it, the "mariadb" option is preferred over "mysql". # permissions matching the wildcard.
storage-method: h2 apply-wildcards: true
# When using a file-based storage type, LuckPerms can monitor the data files for changes, and then # If the plugin should parse regex permissions.
# schedule automatic updates when changes are detected.
# #
# If you don't want this to happen, set this option to false. # - If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
watch-files: true # node, and resolve & apply all registered permissions matching the regex.
apply-regex: true
# This block enables support for split datastores. # If the plugin should complete and apply shorthand permissions.
split-storage:
enabled: false
methods:
user: h2
group: h2
track: h2
uuid: h2
log: h2
data:
# Uses standard DB engine port by default
# MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017
# Specify as "host:port" if differs
address: localhost
database: minecraft
username: root
password: ''
# These settings apply to the MySQL connection pool.
# The default values will be suitable for the majority of users.
# Do not change these settings unless you know what you're doing!
pool-settings:
# Sets the maximum size of the MySQL connection pool.
# Basically this value will determine the maximum number of actual
# connections to the database backend.
# #
# More information about determining the size of connection pools can be found here: # - If set to true, LuckPerms will detect and expand shorthand node patterns.
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing apply-shorthand: true
maximum-pool-size: 10
# Sets the minimum number of idle connections that the pool will try to maintain. # If the plugin should apply the permissions & groups defined in the BungeeCord config.yml
# #
# For maximum performance and responsiveness to spike demands, it is recommended to not set # - If set to false, LuckPerms will ignore these values.
# this value and instead allow the pool to act as a fixed size connection pool. apply-bungee-config-permissions: false
# (set this value to the same as 'maximum-pool-size')
minimum-idle: 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds. # +----------------------------------------------------------------------------------------------+ #
# The value should be at least 30 seconds less than any database or infrastructure imposed # | Extra settings | #
# connection time limit. # +----------------------------------------------------------------------------------------------+ #
maximum-lifetime: 1800000 # 30 minutes
# This setting controls the maximum number of milliseconds that the plugin will wait for a # Allows you to set "aliases" for the worlds sent forward for context calculation.
# connection from the pool, before timing out.
connection-timeout: 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
properties:
useUnicode: true
characterEncoding: utf8
# The prefix for all LuckPerms tables. Change this is you want to use different tables for
# different servers.
# #
# This should *not* be set to "lp_" if you have previously ran LuckPerms v2.16.81 or earlier with # - These aliases are provided in addition to the real world name. Applied recursively.
# this database. # - Remove the comment characters for the default aliases to apply.
table_prefix: 'luckperms_' world-rewrite:
# world_nether: world
# world_the_end: world
# The prefix to use for all LuckPerms collections. Change this if you want to use different # Define special group weights for this server.
# collections for different servers. The default is no prefix.
mongodb_collection_prefix: ''
# MongoDB ClientConnectionURI for use with replicasets and custom connection options
# See https://docs.mongodb.com/manual/reference/connection-string/
mongodb_connection_URI: ''
# This option controls how frequently LuckPerms will perform a sync task.
# A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
# #
# This is disabled by default, as most users will not need it. However, if you're using a remote # - Group weights can also be applied directly to group data, using the setweight command.
# storage type without a messaging service setup, you may wish to set this value to something like # - This section allows weights to be set on a per-server basis.
# 3. group-weight:
# # admin: 10
# Set to -1 to disable the task completely.
sync-minutes: -1
# Settings for the messaging service
#
# If enabled and configured, LuckPerms will use the messaging system to inform other
# connected servers of changes. Use the command "/luckpermsbungee networksync" to push changes.
# Data is NOT stored using this service. It is only used as a messaging platform.
#
# If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need for
# LuckPerms to poll the database for changes.
#
# Available options:
# -> bungee uses the plugin messaging channels. Must be enabled on all connected servers to
# work.
# -> redis uses redis pub sub to push changes. Your redis server must be configured below.
# -> redisbungee uses redis pub sub to push changes, using RedisBungee's API. You need to have the
# RedisBungee plugin installed.
# -> none nothing
messaging-service: none
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates: true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries: true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you should
# set this option to false on either your backends or your proxies, to avoid players being messaged
# twice about log entries.
broadcast-received-log-entries: false
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
redis:
enabled: false
address: localhost
password: ''
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Default Assignments | # # | | #
# | FINE TUNING OPTIONS | #
# | | #
# | A number of more niche settings for tweaking and changing behaviour. The section also | #
# | contains toggles for some more specialised features. It is only necessary to make changes to | #
# | these options if you want to fine-tune LuckPerms behaviour. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# +----------------------------------------------------------------------------------------------+ #
# | Miscellaneous (and rarely used) settings | #
# +----------------------------------------------------------------------------------------------+ #
# If LuckPerms should produce extra logging output when it handles logins.
#
# - Useful if you're having issues with UUID forwarding or data not being loaded.
debug-logins: false
# If LuckPerms should allow usernames with non alphanumeric characters.
#
# - Note that due to the design of the storage implementation, usernames must still be 16 characters
# or less.
allow-invalid-usernames: false
# If LuckPerms should allow a users primary group to be removed with the 'parent remove' command.
#
# - When this happens, the plugin will set their primary group back to default.
prevent-primary-group-removal: false
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | DEFAULT ASSIGNMENTS | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# This section allows you to define defaults to give users whenever they connect to the server. # This section allows you to define defaults to give users whenever they connect to the server.

View File

@ -33,7 +33,6 @@ import me.lucko.luckperms.common.assignments.AssignmentRule;
import me.lucko.luckperms.common.config.keys.AbstractKey; import me.lucko.luckperms.common.config.keys.AbstractKey;
import me.lucko.luckperms.common.config.keys.BooleanKey; import me.lucko.luckperms.common.config.keys.BooleanKey;
import me.lucko.luckperms.common.config.keys.EnduringKey; import me.lucko.luckperms.common.config.keys.EnduringKey;
import me.lucko.luckperms.common.config.keys.IntegerKey;
import me.lucko.luckperms.common.config.keys.LowercaseStringKey; import me.lucko.luckperms.common.config.keys.LowercaseStringKey;
import me.lucko.luckperms.common.config.keys.MapKey; import me.lucko.luckperms.common.config.keys.MapKey;
import me.lucko.luckperms.common.config.keys.StringKey; import me.lucko.luckperms.common.config.keys.StringKey;
@ -81,7 +80,13 @@ public class ConfigKeys {
/** /**
* How many minutes to wait between syncs. A value <= 0 will disable syncing. * How many minutes to wait between syncs. A value <= 0 will disable syncing.
*/ */
public static final ConfigKey<Integer> SYNC_TIME = EnduringKey.wrap(IntegerKey.of("data.sync-minutes", -1)); public static final ConfigKey<Integer> SYNC_TIME = EnduringKey.wrap(AbstractKey.of(c -> {
int val = c.getInt("sync-minutes", -1);
if (val == -1) {
val = c.getInt("data.sync-minutes", -1);
}
return val;
}));
/** /**
* If permissions without a server context should be included. * If permissions without a server context should be included.

View File

@ -18,161 +18,298 @@
#################################################################################################### ####################################################################################################
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | General | # # | | #
# | ESSENTIAL SETTINGS | #
# | | #
# | Important settings that control how LuckPerms functions. | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# The name of the server, used for server specific permissions. Set to 'global' to disable. # The name of the server, used for server specific permissions.
#
# - When set to "global" this setting is effectively ignored.
# - In all other cases, the value here is added to all players in a "server" context.
# - See: https://github.com/lucko/LuckPerms/wiki/Context
server: global server: global
# If users on this server should have their global permissions applied.
# If set to false, only server specific permissions will apply for users on this server
include-global: true
# If users on this server should have their global world permissions applied.
# If set to false, only world specific permissions will apply for users on this server
include-global-world: true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true
# If the servers own UUID cache/lookup facility should be used when there is no record for a player # If the servers own UUID cache/lookup facility should be used when there is no record for a player
# in the LuckPerms cache. # already in LuckPerms.
#
# - When this is set to 'false', commands using a player's username will not work unless the player
# has joined since LuckPerms was first installed.
# - To get around this, you can use a player's uuid directly in the command, or enable this option.
# - When this is set to 'true', the server facility is used. This may use a number of methods,
# including checking the servers local cache, or making a request to the Mojang API.
use-server-uuid-cache: false use-server-uuid-cache: false
# If LuckPerms should use the "server-name" property from the "server.properties"
# file as the "server" option within LuckPerms.
use-server-properties-name: false
# If set to true, LuckPerms will allow usernames with non alphanumeric characters.
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | STORAGE SETTINGS | #
# | | #
# | Controls which storage method LuckPerms will use to store data. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# How the plugin should store data
# #
# Note that due to the design of the storage implementation, usernames must still be # - The various options are explained in more detail on the wiki:
# 16 characters or less. # https://github.com/lucko/LuckPerms/wiki/Choosing-a-Storage-type
allow-invalid-usernames: true
# If LuckPerms should produce extra logging output when it handles logins.
# Useful if you're having issues with UUID forwarding or data not being loaded.
debug-logins: false
# If the plugin should send log notifications to users whenever permissions are modified.
log-notify: true
# Mirrors world names. Whenever LuckPerms checks what world a user is in, if the world name is in
# this list, the value assigned will be sent forward for permission calculation instead.
world-rewrite:
# world_nether: world
# world_the_end: world
# Controls how temporary permissions/parents/meta should be accumulated
# #
# The default behaviour is "deny" # - Possible options:
# If "accumulate": durations will be added to the existing expiry time #
# If "replace": durations will be replaced if the new duration is later than the current expiration # | Remote databases - require connection information to be configured below
# If "deny": the command will just fail if you try to add another node with the same expiry # |=> MySQL
# |=> MariaDB (preferred over MySQL)
# |=> PostgreSQL
# |=> MongoDB
#
# | Flatfile/local database - don't require any extra configuration
# |=> H2 (preferred over SQLite)
# |=> SQLite
#
# | Readable & editable text files - don't require any extra configuration
# |=> YAML (.yml files)
# |=> JSON (.json files)
# |=> HSON (.conf files)
#
# - A H2 database is the default option.
# - If you want to edit data manually in "traditional" storage files, we suggest using YAML.
storage-method: h2
# The following block defines the settings for remote database storage methods.
#
# - You don't need to touch any of the settings here if you're using a local storage method!
# - The connection detail options are shared between all remote storage types.
data:
# Define the address and port for the database.
# - The standard DB engine port is used by default
# (MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017)
# - Specify as "host:port" if differs
address: localhost
# The name of the database to store LuckPerms data in.
# - This must be created already. Don't worry about this setting if you're using MongoDB.
database: minecraft
# Credentials for the database.
username: root
password: ''
# These settings apply to the MySQL connection pool.
# - The default values will be suitable for the majority of users.
# - Do not change these settings unless you know what you're doing!
pool-settings:
# Sets the maximum size of the MySQL connection pool.
# - Basically this value will determine the maximum number of actual
# connections to the database backend.
# - More information about determining the size of connection pools can be found here:
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
maximum-pool-size: 10
# Sets the minimum number of idle connections that the pool will try to maintain.
# - For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle: 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# - The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime: 1800000 # 30 minutes
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout: 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
properties:
useUnicode: true
characterEncoding: utf8
# The prefix for all LuckPerms SQL tables.
# - Change this is you want to use different tables for different servers.
table_prefix: 'luckperms_'
# The prefix to use for all LuckPerms collections. Change this if you want to use different
# collections for different servers. The default is no prefix.
mongodb_collection_prefix: ''
# MongoDB ClientConnectionURI for use with replica sets and custom connection options
# - See https://docs.mongodb.com/manual/reference/connection-string/
mongodb_connection_URI: ''
# Define settings for a "split" storage setup.
#
# - This allows you to define a storage method for each type of data.
# - The connection options above still have to be correct for each type here.
split-storage:
# Don't touch this if you don't want to use split storage!
enabled: false
methods:
# These options don't need to be modified if split storage isn't enabled.
user: h2
group: h2
track: h2
uuid: h2
log: h2
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | UPDATE PROPAGATION & MESSAGING SERVICE | #
# | | #
# | Controls the ways in which LuckPerms will sync data & notify other servers of changes. | #
# | These options are documented on greater detail on the wiki under "Instant Updates". | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# This option controls how frequently LuckPerms will perform a sync task.
#
# - A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
# - This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this to something like 3.
# - Set to -1 to disable the task completely.
sync-minutes: -1
# If the file watcher should be enabled.
#
# - When using a file-based storage type, LuckPerms can monitor the data files for changes, and
# automatically update when changes are detected.
# - If you don't want this feature to be active, set this option to false.
watch-files: true
# Define which messaging service should be used by the plugin.
#
# - If enabled and configured, LuckPerms will use the messaging service to inform other connected
# servers of changes.
# - Use the command "/lp networksync" to manually push changes.
# - Data is NOT stored using this service. It is only used as a messaging platform.
#
# - If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need
# for LuckPerms to poll the database for changes.
#
# - Possible options:
# => redis Uses Redis pub-sub to push changes. Your server connection info must be configured
# below.
# => none Disables the service.
messaging-service: none
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates: true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries: true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# - If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you
# should set this option to false on either your backends or your proxies, to avoid players being
# messaged twice about log entries.
broadcast-received-log-entries: true
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
redis:
enabled: false
address: localhost
password: ''
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | CUSTOMIZATION SETTINGS | #
# | | #
# | Settings that allow admins to customize the way LuckPerms operates. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# Controls how temporary permissions/parents/meta should be accumulated.
#
# - The default behaviour is "deny".
# - This behaviour can also be specified when the command is executed. See the command usage
# documentation for more info.
#
# - Possible options:
# => accumulate durations will be added to the existing expiry time
# => replace durations will be replaced if the new duration is later than the current
# expiration
# => deny the command will just fail if you try to add another node with the same expiry
temporary-add-behaviour: deny temporary-add-behaviour: deny
# How should LuckPerms determine a users "primary" group. # Controls how LuckPerms will determine a users "primary" group.
# #
# Available Options: # - The meaning and influence of "primary groups" are explained in detail on the wiki.
# -> stored use the value stored against the users record in the file/database # - The preferred approach is to let LuckPerms automatically determine a users primary group
# -> parents-by-weight just use the users most highly weighted parent # based on the relative weight of their parent groups.
# -> all-parents-by-weight same as above, but calculates based upon all parents inherited from both #
# directly and indirectly # - Possible options:
# => stored use the value stored against the users record in the file/database
# => parents-by-weight just use the users most highly weighted parent
# => all-parents-by-weight same as above, but calculates based upon all parents inherited from
# both directly and indirectly
primary-group-calculation: parents-by-weight primary-group-calculation: parents-by-weight
# If set to false, the plugin will allow a Users primary group to be removed with the
# 'parent remove' command, and will set their primary group back to default.
prevent-primary-group-removal: false
# If the plugin should check for "extra" permissions with users run LP commands. # If the plugin should check for "extra" permissions with users run LP commands.
# #
# These extra permissions allow finer control over what users can do with each command, and # - These extra permissions allow finer control over what users can do with each command, and who
# who they have access to edit. # they have access to edit.
# # - The nature of the checks are documented on the wiki under "Argument based command permissions".
# The permissions are *not* static, unlike the 'base' permisssions, and will depend upon the # - Argument based permissions are *not* static, unlike the 'base' permissions, and will depend upon
# arguments given within the command. # the arguments given within the command.
argument-based-command-permissions: false argument-based-command-permissions: false
# If the plugin should send log notifications to users whenever permissions are modified.
# +----------------------------------------------------------------------------------------------+ #
# | Permission Calculation | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
# If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards: true
# If the plugin should parse regex permissions.
# If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex: true
# If the plugin should complete and apply shorthand permissions.
# If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand: true
# If the plugin should apply Nukkit child permissions.
# Plugin authors can define custom permissions structures for their plugin, which will be resolved
# and used by LuckPerms if this setting is enabled.
apply-nukkit-child-permissions: true
# If the plugin should apply Nukkit default permissions.
# Plugin authors can define permissions which should be given to all users by default, or setup
# permissions which should/shouldn't be given to opped players.
# If this option is set to false, LuckPerms will ignore these defaults.
apply-nukkit-default-permissions: true
# If the plugin should apply attachment permissions.
# Other plugins on the server are able to add their own "permission attachments" to players. This
# allows them to grant players additional permissions which last until the end of the session, or
# until they're removed. If this option is set to false, LuckPerms will not include these attachment
# permissions when considering if a player should have access to a certain permission.
apply-nukkit-attachment-permissions: true
# The algorithm LuckPerms should use when traversing the "inheritance tree".
# #
# The valid options are: # - Notifications are only sent to those with the appropriate permission to receive them
# - breadth-first # - They can also be temporarily enabled/disabled on a per-user basis using
# - depth-first-pre-order # '/lp log notify <on|off>'
# - depth-first-post-order log-notify: true
# Defines the options for prefix and suffix stacking.
# #
# See here for information about the differences between each algorithm. # - The feature allows you to display multiple prefixes or suffixes alongside a players username in
# - https://en.wikipedia.org/wiki/Breadth-first_search # chat.
# - https://en.wikipedia.org/wiki/Depth-first_search # - It is explained and documented in more detail on the wiki under "Prefix & Suffix Stacking".
inheritance-traversal-algorithm: depth-first-pre-order
# Define special group weights for this server.
# Default is just 0.
group-weight:
# admin: 10
# +----------------------------------------------------------------------------------------------+ #
# | Meta Formatting & Stacking | #
# +----------------------------------------------------------------------------------------------+ #
# Allows you to setup prefix/suffix stacking options.
# #
# Available formats: # - The options are divided into separate sections for prefixes and suffixes.
# - highest # - The value of 'start-spacer' is included at the start of the resultant prefix/suffix.
# - lowest # - The value of 'end-spacer' is included at the end of the resultant prefix/suffix.
# - highest_own # - The value of 'middle-spacer' is included between each element in the resultant prefix/suffix.
# - lowest_own
# - highest_inherited
# - lowest_inherited
# - highest_on_track_<track>
# - lowest_on_track_<track>
# - highest_not_on_track_<track>
# - lowest_not_on_track_<track>
# #
# Each element is added in the order listed. # - Possible format options:
# => highest Selects the value with the highest weight, from all values
# held by or inherited by the player.
#
# => lowest Same as above, except takes the one with the lowest weight.
#
# => highest_own Selects the value with the highest weight, but will not
# accept any inherited values.
#
# => lowest_own Same as above, except takes the value with the lowest weight.
#
# => highest_inherited Selects the value with the highest weight, but will only
# accept inherited values.
#
# => lowest_inherited Same as above, except takes the value with the lowest weight.
#
# => highest_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group on the given track.
#
# => lowest_on_track_<track> Same as above, except takes the value with the lowest weight.
#
# => highest_not_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group not on the given track.
#
# => lowest_not_on_track_<track> Same as above, except takes the value with the lowest weight.
meta-formatting: meta-formatting:
prefix: prefix:
format: format:
@ -191,201 +328,170 @@ meta-formatting:
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | OP (Server Operator) Settings | # # | | #
# | PERMISSION CALCULATION AND INHERITANCE | #
# | | #
# | Modify the way permission checks, meta lookups and inheritance resolutions are handled. | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# If the vanilla OP system is enabled. If set to false, all users will be de-opped, and the op/deop # The algorithm LuckPerms should use when traversing the "inheritance tree".
# commands will be disabled. #
# - Possible options:
# => breadth-first See: https://en.wikipedia.org/wiki/Breadth-first_search
# => depth-first-pre-order See: https://en.wikipedia.org/wiki/Depth-first_search
# => depth-first-post-order See: https://en.wikipedia.org/wiki/Depth-first_search
inheritance-traversal-algorithm: depth-first-pre-order
# +----------------------------------------------------------------------------------------------+ #
# | Permission resolution settings | #
# +----------------------------------------------------------------------------------------------+ #
# If users on this server should have their global permissions applied.
# When set to false, only server specific permissions will apply for users on this server
include-global: true
# If users on this server should have their global world permissions applied.
# When set to false, only world specific permissions will apply for users on this server
include-global-world: true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups: true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups: true
# +----------------------------------------------------------------------------------------------+ #
# | Inheritance settings | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
#
# - If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards: true
# If the plugin should parse regex permissions.
#
# - If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex: true
# If the plugin should complete and apply shorthand permissions.
#
# - If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand: true
# If the plugin should apply Nukkit child permissions.
#
# - Plugin authors can define custom permissions structures for their plugin, which will be resolved
# and used by LuckPerms if this setting is enabled.
apply-nukkit-child-permissions: true
# If the plugin should apply Nukkit default permissions.
#
# - Plugin authors can define permissions which should be given to all users by default, or setup
# permissions which should/shouldn't be given to opped players.
# - If this option is set to false, LuckPerms will ignore these defaults.
apply-nukkit-default-permissions: true
# If the plugin should apply attachment permissions.
#
# - Other plugins on the server are able to add their own "permission attachments" to players.
# - This allows them to grant players additional permissions which last until the end of the
# session, or until they're removed.
# - If this option is set to false, LuckPerms will not include these attachment permissions when
# considering if a player should have access to a certain permission.
apply-nukkit-attachment-permissions: true
# +----------------------------------------------------------------------------------------------+ #
# | Extra settings | #
# +----------------------------------------------------------------------------------------------+ #
# Allows you to set "aliases" for the worlds sent forward for context calculation.
#
# - These aliases are provided in addition to the real world name. Applied recursively.
# - Remove the comment characters for the default aliases to apply.
world-rewrite:
# world_nether: world
# world_the_end: world
# Define special group weights for this server.
#
# - Group weights can also be applied directly to group data, using the setweight command.
# - This section allows weights to be set on a per-server basis.
group-weight:
# admin: 10
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | FINE TUNING OPTIONS | #
# | | #
# | A number of more niche settings for tweaking and changing behaviour. The section also | #
# | contains toggles for some more specialised features. It is only necessary to make changes to | #
# | these options if you want to fine-tune LuckPerms behaviour. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# +----------------------------------------------------------------------------------------------+ #
# | Server Operator (OP) settings | #
# +----------------------------------------------------------------------------------------------+ #
# Controls whether server operators should exist at all.
#
# - When set to 'false', all players will be de-opped, and the /op and /deop commands will be
# disabled.
enable-ops: true enable-ops: true
# If set to true, any user with the permission "luckperms.autoop" will automatically be granted # Enables or disables a special permission based system in LuckPerms for controlling OP status.
#
# - If set to true, any user with the permission "luckperms.autoop" will automatically be granted
# server operator status. This permission can be inherited, or set on specific servers/worlds, # server operator status. This permission can be inherited, or set on specific servers/worlds,
# temporarily, etc. # temporarily, etc.
# # - Additionally, setting this to true will force the "enable-ops" option above to false. All users
# Additionally, setting this to true will force the "enable-ops" option above to false. All users # will be de-opped unless they have the permission node, and the op/deop commands will be
# will be de-opped unless they have the permission node, and the op/deop commands will be disabled. # disabled.
# # - It is important to note that this setting is only checked when a player first joins the server,
# It is important to note that this setting is only checked when a player first joins the server,
# and when they switch worlds. Therefore, simply removing this permission from a user will not # and when they switch worlds. Therefore, simply removing this permission from a user will not
# automatically de-op them. A player needs to relog to have the change take effect. # automatically de-op them. A player needs to relog to have the change take effect.
# # - It is recommended that you use this option instead of assigning a single '*' permission.
# It is recommended that you use this option instead of assigning a single '*' permission.
auto-op: false auto-op: false
# If opped players should be allowed to use LuckPerms commands. Set to false to only allow users who # Defines if "opped" players should be able to use all LuckPerms commands by default.
# have the permissions access to the commands #
# - Set to false to only allow users who have the permissions access to the commands
commands-allow-op: true commands-allow-op: true
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Vault | # # | Miscellaneous (and rarely used) settings | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# If the vault-server option below should be used. # If LuckPerms should produce extra logging output when it handles logins.
# When this option is set to false, the server value defined above under "server" is used.
use-vault-server: false
# The name of the server used within Vault operations. If you don't want Vault operations to be
# server specific, set this to "global".
# #
# Will only take effect if use-vault-server is set to true above. # - Useful if you're having issues with UUID forwarding or data not being loaded.
vault-server: global debug-logins: false
# If global permissions should be considered when retrieving meta or player groups # If LuckPerms should allow usernames with non alphanumeric characters.
vault-include-global: true #
# - Note that due to the design of the storage implementation, usernames must still be 16 characters
# or less.
allow-invalid-usernames: true
# If Vault operations should ignore any world arguments if supplied. # If LuckPerms should allow a users primary group to be removed with the 'parent remove' command.
vault-ignore-world: false #
# - When this happens, the plugin will set their primary group back to default.
# If LuckPerms should print debugging info to console when a plugin uses a Vault function prevent-primary-group-removal: false
vault-debug: false
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Storage | # # | | #
# +----------------------------------------------------------------------------------------------+ # # | DEFAULT ASSIGNMENTS | #
# | | #
# Which storage method the plugin should use.
#
# See: https://github.com/lucko/LuckPerms/wiki/Choosing-a-Storage-type
# Currently supported: mysql, mariadb, postgresql, sqlite, h2, json, yaml, hocon, mongodb
#
# Fill out connection info below if you're using MySQL, MariaDB, PostgreSQL or MongoDB
# If your MySQL server supports it, the "mariadb" option is preferred over "mysql".
storage-method: h2
# When using a file-based storage type, LuckPerms can monitor the data files for changes, and then
# schedule automatic updates when changes are detected.
#
# If you don't want this to happen, set this option to false.
watch-files: true
# This block enables support for split datastores.
split-storage:
enabled: false
methods:
user: h2
group: h2
track: h2
uuid: h2
log: h2
data:
# Uses standard DB engine port by default
# MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017
# Specify as "host:port" if differs
address: localhost
database: minecraft
username: root
password: ''
# These settings apply to the MySQL connection pool.
# The default values will be suitable for the majority of users.
# Do not change these settings unless you know what you're doing!
pool-settings:
# Sets the maximum size of the MySQL connection pool.
# Basically this value will determine the maximum number of actual
# connections to the database backend.
#
# More information about determining the size of connection pools can be found here:
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
maximum-pool-size: 10
# Sets the minimum number of idle connections that the pool will try to maintain.
#
# For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle: 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime: 1800000 # 30 minutes
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout: 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
properties:
useUnicode: true
characterEncoding: utf8
# The prefix for all LuckPerms tables. Change this is you want to use different tables for
# different servers.
#
# This should *not* be set to "lp_" if you have previously ran LuckPerms v2.16.81 or earlier with
# this database.
table_prefix: 'luckperms_'
# The prefix to use for all LuckPerms collections. Change this if you want to use different
# collections for different servers. The default is no prefix.
mongodb_collection_prefix: ''
# MongoDB ClientConnectionURI for use with replicasets and custom connection options
# See https://docs.mongodb.com/manual/reference/connection-string/
mongodb_connection_URI: ''
# This option controls how frequently LuckPerms will perform a sync task.
# A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
#
# This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this value to something like
# 3.
#
# Set to -1 to disable the task completely.
sync-minutes: -1
# Settings for the messaging service
#
# If enabled and configured, LuckPerms will use the messaging system to inform other
# connected servers of changes. Use the command "/luckperms networksync" to push changes.
# Data is NOT stored using this service. It is only used as a messaging platform.
#
# If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need for
# LuckPerms to poll the database for changes.
#
# Available options:
# -> bungee uses the plugin messaging channels. Must be enabled on all connected servers to work.
# -> lilypad uses lilypad pub sub to push changes. You need to have the LilyPad-Connect plugin
# installed.
# -> redis uses redis pub sub to push changes. Your redis server must be configured below.
# -> none nothing
messaging-service: none
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates: true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries: true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you should
# set this option to false on either your backends or your proxies, to avoid players being messaged
# twice about log entries.
broadcast-received-log-entries: true
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
redis:
enabled: false
address: localhost
password: ''
# +----------------------------------------------------------------------------------------------+ #
# | Default Assignments | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# This section allows you to define defaults to give users whenever they connect to the server. # This section allows you to define defaults to give users whenever they connect to the server.

View File

@ -18,156 +18,305 @@
#################################################################################################### ####################################################################################################
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | General | # # | | #
# | ESSENTIAL SETTINGS | #
# | | #
# | Important settings that control how LuckPerms functions. | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# The name of the server, used for server specific permissions. Set to 'global' to disable. # The name of the server, used for server specific permissions.
#
# - When set to "global" this setting is effectively ignored.
# - In all other cases, the value here is added to all players in a "server" context.
# - See: https://github.com/lucko/LuckPerms/wiki/Context
server = "global" server = "global"
# If users on this server should have their global permissions applied.
# If set to false, only server specific permissions will apply for users on this server
include-global=true
# If users on this server should have their global world permissions applied.
# If set to false, only world specific permissions will apply for users on this server
include-global-world=true
# If users on this server should have global (non-server specific) groups applied
apply-global-groups=true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups=true
# If the servers own UUID cache/lookup facility should be used when there is no record for a player # If the servers own UUID cache/lookup facility should be used when there is no record for a player
# in the LuckPerms cache. # already in LuckPerms.
#
# - When this is set to 'false', commands using a player's username will not work unless the player
# has joined since LuckPerms was first installed.
# - To get around this, you can use a player's uuid directly in the command, or enable this option.
# - When this is set to 'true', the server facility is used. This may use a number of methods,
# including checking the servers local cache, or making a request to the Mojang API.
use-server-uuid-cache = false use-server-uuid-cache = false
# If set to true, LuckPerms will allow usernames with non alphanumeric characters.
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | STORAGE SETTINGS | #
# | | #
# | Controls which storage method LuckPerms will use to store data. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# How the plugin should store data
# #
# Note that due to the design of the storage implementation, usernames must still be # - The various options are explained in more detail on the wiki:
# 16 characters or less. # https://github.com/lucko/LuckPerms/wiki/Choosing-a-Storage-type
allow-invalid-usernames=false #
# - Possible options:
#
# | Remote databases - require connection information to be configured below
# |=> MySQL
# |=> MariaDB (preferred over MySQL)
# |=> PostgreSQL
# |=> MongoDB
#
# | Flatfile/local database - don't require any extra configuration
# |=> H2 (preferred over SQLite)
# |=> SQLite
#
# | Readable & editable text files - don't require any extra configuration
# |=> YAML (.yml files)
# |=> JSON (.json files)
# |=> HSON (.conf files)
#
# - A H2 database is the default option.
# - If you want to edit data manually in "traditional" storage files, we suggest using YAML.
storage-method = "h2"
# If LuckPerms should produce extra logging output when it handles logins. # The following block defines the settings for remote database storage methods.
# Useful if you're having issues with UUID forwarding or data not being loaded. #
debug-logins=false # - You don't need to touch any of the settings here if you're using a local storage method!
# - The connection detail options are shared between all remote storage types.
data {
# If the plugin should send log notifications to users whenever permissions are modified. # Define the address and port for the database.
log-notify=true # - The standard DB engine port is used by default
# (MySQL = 3306, PostgreSQL = 5432, MongoDB = 27017)
# - Specify as "host:port" if differs
address = "localhost"
# Mirrors world names. Whenever LuckPerms checks what world a user is in, if the world name is in # The name of the database to store LuckPerms data in.
# this list, the value assigned will be sent forward for permission calculation instead. # - This must be created already. Don't worry about this setting if you're using MongoDB.
world-rewrite { database = "minecraft"
# world_nether="world"
# world_the_end="world" # Credentials for the database.
username = "root"
password = ""
# These settings apply to the MySQL connection pool.
# - The default values will be suitable for the majority of users.
# - Do not change these settings unless you know what you're doing!
pool-settings {
# Sets the maximum size of the MySQL connection pool.
# - Basically this value will determine the maximum number of actual
# connections to the database backend.
# - More information about determining the size of connection pools can be found here:
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
maximum-pool-size = 10
# Sets the minimum number of idle connections that the pool will try to maintain.
# - For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle = 10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# - The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime = 1800000 # 30 minutes
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout = 5000 # 5 seconds
# This setting allows you to define extra properties for connections.
properties {
useUnicode = true
characterEncoding = "utf8"
}
} }
# Controls how temporary permissions/parents/meta should be accumulated # The prefix for all LuckPerms SQL tables.
# - Change this is you want to use different tables for different servers.
table_prefix = "luckperms_"
# The prefix to use for all LuckPerms collections. Change this if you want to use different
# collections for different servers. The default is no prefix.
mongodb_collection_prefix = ""
# MongoDB ClientConnectionURI for use with replica sets and custom connection options
# - See https://docs.mongodb.com/manual/reference/connection-string/
mongodb_connection_URI = ""
# Define settings for a "split" storage setup.
# #
# The default behaviour is "deny" # - This allows you to define a storage method for each type of data.
# If "accumulate": durations will be added to the existing expiry time # - The connection options above still have to be correct for each type here.
# If "replace": durations will be replaced if the new duration is later than the current expiration split-storage {
# If "deny": the command will just fail if you try to add another node with the same expiry # Don't touch this if you don't want to use split storage!
enabled = false
methods {
# These options don't need to be modified if split storage isn't enabled.
user = "h2"
group = "h2"
track = "h2"
uuid = "h2"
log = "h2"
}
}
}
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | UPDATE PROPAGATION & MESSAGING SERVICE | #
# | | #
# | Controls the ways in which LuckPerms will sync data & notify other servers of changes. | #
# | These options are documented on greater detail on the wiki under "Instant Updates". | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# This option controls how frequently LuckPerms will perform a sync task.
#
# - A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
# - This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this to something like 3.
# - Set to -1 to disable the task completely.
sync-minutes = -1
# If the file watcher should be enabled.
#
# - When using a file-based storage type, LuckPerms can monitor the data files for changes, and
# automatically update when changes are detected.
# - If you don't want this feature to be active, set this option to false.
watch-files = true
# Define which messaging service should be used by the plugin.
#
# - If enabled and configured, LuckPerms will use the messaging service to inform other connected
# servers of changes.
# - Use the command "/lp networksync" to manually push changes.
# - Data is NOT stored using this service. It is only used as a messaging platform.
#
# - If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need
# for LuckPerms to poll the database for changes.
#
# - Possible options:
# => bungee Uses the plugin messaging channels to communicate with the proxy.
# LuckPerms must be installed on your proxy & all connected servers backend servers.
# Won't work if you have more than one BungeeCord proxy.
# => redis Uses Redis pub-sub to push changes. Your server connection info must be configured
# below.
# => none Disables the service.
messaging-service = "none"
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates = true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries = true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# - If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you
# should set this option to false on either your backends or your proxies, to avoid players being
# messaged twice about log entries.
broadcast-received-log-entries = true
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
redis {
enabled = false
address = "localhost"
password = ""
}
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | CUSTOMIZATION SETTINGS | #
# | | #
# | Settings that allow admins to customize the way LuckPerms operates. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# Controls how temporary permissions/parents/meta should be accumulated.
#
# - The default behaviour is "deny".
# - This behaviour can also be specified when the command is executed. See the command usage
# documentation for more info.
#
# - Possible options:
# => accumulate durations will be added to the existing expiry time
# => replace durations will be replaced if the new duration is later than the current
# expiration
# => deny the command will just fail if you try to add another node with the same expiry
temporary-add-behaviour = "deny" temporary-add-behaviour = "deny"
# How should LuckPerms determine a users "primary" group. # Controls how LuckPerms will determine a users "primary" group.
# #
# Available Options: # - The meaning and influence of "primary groups" are explained in detail on the wiki.
# -> stored use the value stored against the users record in the file/database # - The preferred approach is to let LuckPerms automatically determine a users primary group
# -> parents-by-weight just use the users most highly weighted parent # based on the relative weight of their parent groups.
# -> all-parents-by-weight same as above, but calculates based upon all parents inherited from both #
# directly and indirectly # - Possible options:
# => stored use the value stored against the users record in the file/database
# => parents-by-weight just use the users most highly weighted parent
# => all-parents-by-weight same as above, but calculates based upon all parents inherited from
# both directly and indirectly
primary-group-calculation = "parents-by-weight" primary-group-calculation = "parents-by-weight"
# If set to false, the plugin will allow a Users primary group to be removed with the
# 'parent remove' command, and will set their primary group back to default.
prevent-primary-group-removal=false
# If the plugin should check for "extra" permissions with users run LP commands. # If the plugin should check for "extra" permissions with users run LP commands.
# #
# These extra permissions allow finer control over what users can do with each command, and # - These extra permissions allow finer control over what users can do with each command, and who
# who they have access to edit. # they have access to edit.
# # - The nature of the checks are documented on the wiki under "Argument based command permissions".
# The permissions are *not* static, unlike the 'base' permisssions, and will depend upon the # - Argument based permissions are *not* static, unlike the 'base' permissions, and will depend upon
# arguments given within the command. # the arguments given within the command.
argument-based-command-permissions = false argument-based-command-permissions = false
# If the plugin should send log notifications to users whenever permissions are modified.
# +----------------------------------------------------------------------------------------------+ #
# | Permission Calculation | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
# If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards=true
# If the plugin should parse regex permissions.
# If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex=true
# If the plugin should complete and apply shorthand permissions.
# If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand=true
# If LuckPerms should resolve and apply permissions according to Sponge's implicit wildcard
# inheritance system.
# #
# That being: # - Notifications are only sent to those with the appropriate permission to receive them
# If a user has been granted "example", then the player should have also be automatically granted # - They can also be temporarily enabled/disabled on a per-user basis using
# "example.function", "example.another", "example.deeper.nesting", and so on. # '/lp log notify <on|off>'
log-notify = true
# Defines the options for prefix and suffix stacking.
# #
# If this option is set to false, this system will not be applied. # - The feature allows you to display multiple prefixes or suffixes alongside a players username in
apply-sponge-implicit-wildcards=true # chat.
# - It is explained and documented in more detail on the wiki under "Prefix & Suffix Stacking".
# If the plugin should apply Sponge default subject permissions.
# Plugins can manipulate a set of default permissions granted to all users. If this option is set to
# false, LuckPerms will ignore this data when considering if a player has a permission.
apply-sponge-default-subjects=true
# The algorithm LuckPerms should use when traversing the "inheritance tree".
# #
# The valid options are: # - The options are divided into separate sections for prefixes and suffixes.
# - breadth-first # - The value of 'start-spacer' is included at the start of the resultant prefix/suffix.
# - depth-first-pre-order # - The value of 'end-spacer' is included at the end of the resultant prefix/suffix.
# - depth-first-post-order # - The value of 'middle-spacer' is included between each element in the resultant prefix/suffix.
# #
# See here for information about the differences between each algorithm. # - Possible format options:
# - https://en.wikipedia.org/wiki/Breadth-first_search # => highest Selects the value with the highest weight, from all values
# - https://en.wikipedia.org/wiki/Depth-first_search # held by or inherited by the player.
inheritance-traversal-algorithm="depth-first-pre-order"
# Define special group weights for this server.
# Default is just 0.
group-weight {
# admin=10
}
# +----------------------------------------------------------------------------------------------+ #
# | Meta Formatting & Stacking | #
# +----------------------------------------------------------------------------------------------+ #
# Allows you to setup prefix/suffix stacking options.
# #
# Available formats: # => lowest Same as above, except takes the one with the lowest weight.
# - highest
# - lowest
# - highest_own
# - lowest_own
# - highest_inherited
# - lowest_inherited
# - highest_on_track_<track>
# - lowest_on_track_<track>
# - highest_not_on_track_<track>
# - lowest_not_on_track_<track>
# #
# Each element is added in the order listed. # => highest_own Selects the value with the highest weight, but will not
# accept any inherited values.
#
# => lowest_own Same as above, except takes the value with the lowest weight.
#
# => highest_inherited Selects the value with the highest weight, but will only
# accept inherited values.
#
# => lowest_inherited Same as above, except takes the value with the lowest weight.
#
# => highest_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group on the given track.
#
# => lowest_on_track_<track> Same as above, except takes the value with the lowest weight.
#
# => highest_not_on_track_<track> Selects the value with the highest weight, but only if the
# value was inherited from a group not on the given track.
#
# => lowest_not_on_track_<track> Same as above, except takes the value with the lowest weight.
meta-formatting { meta-formatting {
prefix { prefix {
format = [ format = [
@ -189,152 +338,144 @@ meta-formatting {
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Storage | # # | | #
# | PERMISSION CALCULATION AND INHERITANCE | #
# | | #
# | Modify the way permission checks, meta lookups and inheritance resolutions are handled. | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# Which storage method the plugin should use. # The algorithm LuckPerms should use when traversing the "inheritance tree".
# #
# See: https://github.com/lucko/LuckPerms/wiki/Choosing-a-Storage-type # - Possible options:
# Currently supported: mysql, mariadb, postgresql, sqlite, h2, json, yaml, hocon, mongodb # => breadth-first See: https://en.wikipedia.org/wiki/Breadth-first_search
# # => depth-first-pre-order See: https://en.wikipedia.org/wiki/Depth-first_search
# Fill out connection info below if you're using MySQL, MariaDB, PostgreSQL or MongoDB # => depth-first-post-order See: https://en.wikipedia.org/wiki/Depth-first_search
# If your MySQL server supports it, the "mariadb" option is preferred over "mysql". inheritance-traversal-algorithm = "depth-first-pre-order"
storage-method="h2"
# When using a file-based storage type, LuckPerms can monitor the data files for changes, and then # +----------------------------------------------------------------------------------------------+ #
# schedule automatic updates when changes are detected. # | Permission resolution settings | #
# # +----------------------------------------------------------------------------------------------+ #
# If you don't want this to happen, set this option to false.
watch-files=true
# This block enables support for split datastores. # If users on this server should have their global permissions applied.
split-storage { # When set to false, only server specific permissions will apply for users on this server
enabled=false include-global = true
methods {
user="h2" # If users on this server should have their global world permissions applied.
group="h2" # When set to false, only world specific permissions will apply for users on this server
track="h2" include-global-world = true
uuid="h2"
log="h2" # If users on this server should have global (non-server specific) groups applied
} apply-global-groups = true
# If users on this server should have global (non-world specific) groups applied
apply-global-world-groups = true
# +----------------------------------------------------------------------------------------------+ #
# | Inheritance settings | #
# +----------------------------------------------------------------------------------------------+ #
# If the plugin should apply wildcard permissions.
#
# - If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
apply-wildcards = true
# If the plugin should parse regex permissions.
#
# - If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
# node, and resolve & apply all registered permissions matching the regex.
apply-regex = true
# If the plugin should complete and apply shorthand permissions.
#
# - If set to true, LuckPerms will detect and expand shorthand node patterns.
apply-shorthand = true
# If the plugin should apply Bukkit child permissions.
#
# - Plugin authors can define custom permissions structures for their plugin, which will be resolved
# and used by LuckPerms if this setting is enabled.
apply-bukkit-child-permissions = true
# If the plugin should apply Bukkit default permissions.
#
# - Plugin authors can define permissions which should be given to all users by default, or setup
# permissions which should/shouldn't be given to opped players.
# - If this option is set to false, LuckPerms will ignore these defaults.
apply-bukkit-default-permissions = true
# If the plugin should apply attachment permissions.
#
# - Other plugins on the server are able to add their own "permission attachments" to players.
# - This allows them to grant players additional permissions which last until the end of the
# session, or until they're removed.
# - If this option is set to false, LuckPerms will not include these attachment permissions when
# considering if a player should have access to a certain permission.
apply-bukkit-attachment-permissions = true
# +----------------------------------------------------------------------------------------------+ #
# | Extra settings | #
# +----------------------------------------------------------------------------------------------+ #
# Allows you to set "aliases" for the worlds sent forward for context calculation.
#
# - These aliases are provided in addition to the real world name. Applied recursively.
# - Remove the comment characters for the default aliases to apply.
world-rewrite {
#world_nether = "world"
#world_the_end = "world"
} }
data { # Define special group weights for this server.
# Uses standard DB engine port by default
# MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017
# Specify as "host:port" if differs
address="localhost"
database="minecraft"
username="root"
password=""
# These settings apply to the MySQL connection pool.
# The default values will be suitable for the majority of users.
# Do not change these settings unless you know what you're doing!
pool-settings {
# Sets the maximum size of the MySQL connection pool.
# Basically this value will determine the maximum number of actual
# connections to the database backend.
# #
# More information about determining the size of connection pools can be found here: # - Group weights can also be applied directly to group data, using the setweight command.
# https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing # - This section allows weights to be set on a per-server basis.
maximum-pool-size=10 group-weight {
#admin = 10
# Sets the minimum number of idle connections that the pool will try to maintain.
#
# For maximum performance and responsiveness to spike demands, it is recommended to not set
# this value and instead allow the pool to act as a fixed size connection pool.
# (set this value to the same as 'maximum-pool-size')
minimum-idle=10
# This setting controls the maximum lifetime of a connection in the pool in milliseconds.
# The value should be at least 30 seconds less than any database or infrastructure imposed
# connection time limit.
maximum-lifetime=1800000 # 30 minutes
# This setting controls the maximum number of milliseconds that the plugin will wait for a
# connection from the pool, before timing out.
connection-timeout=5000 # 5 seconds
# This setting allows you to define extra properties for connections.
properties {
useUnicode=true
characterEncoding="utf8"
}
}
# The prefix for all LuckPerms tables. Change this is you want to use different tables for
# different servers.
#
# This should *not* be set to "lp_" if you have previously ran LuckPerms v2.16.81 or earlier with
# this database.
table_prefix="luckperms_"
# The prefix to use for all LuckPerms collections. Change this if you want to use different
# collections for different servers. The default is no prefix.
mongodb_collection_prefix=""
# MongoDB ClientConnectionURI for use with replicasets and custom connection options
# See https://docs.mongodb.com/manual/reference/connection-string/
mongodb_connection_URI=""
# This option controls how frequently LuckPerms will perform a sync task.
# A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
# being used by the plugin.
#
# This is disabled by default, as most users will not need it. However, if you're using a remote
# storage type without a messaging service setup, you may wish to set this value to something like
# 3.
#
# Set to -1 to disable the task completely.
sync-minutes=-1
}
# Settings for the messaging service
#
# If enabled and configured, LuckPerms will use the messaging system to inform other
# connected servers of changes. Use the command "/luckperms networksync" to push changes.
# Data is NOT stored using this service. It is only used as a messaging platform.
#
# If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need for
# LuckPerms to poll the database for changes.
#
# Available options:
# -> bungee uses the plugin messaging channels. Must be enabled on all connected servers to work.
# -> redis uses redis pub sub to push changes. Your redis server must be configured below.
# -> none nothing
messaging-service="none"
# If LuckPerms should automatically push updates after a change has been made with a command.
auto-push-updates=true
# If LuckPerms should push logging entries to connected servers via the messaging service.
push-log-entries=true
# If LuckPerms should broadcast received logging entries to players on this platform.
#
# If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you should
# set this option to false on either your backends or your proxies, to avoid players being messaged
# twice about log entries.
broadcast-received-log-entries=true
# Settings for Redis.
# Port 6379 is used by default; set address to "host:port" if differs
redis {
enabled=false
address="localhost"
password=""
} }
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# | Default Assignments | # # | | #
# | FINE TUNING OPTIONS | #
# | | #
# | A number of more niche settings for tweaking and changing behaviour. The section also | #
# | contains toggles for some more specialised features. It is only necessary to make changes to | #
# | these options if you want to fine-tune LuckPerms behaviour. | #
# | | #
# +----------------------------------------------------------------------------------------------+ #
# +----------------------------------------------------------------------------------------------+ #
# | Miscellaneous (and rarely used) settings | #
# +----------------------------------------------------------------------------------------------+ #
# If LuckPerms should produce extra logging output when it handles logins.
#
# - Useful if you're having issues with UUID forwarding or data not being loaded.
debug-logins = false
# If LuckPerms should allow usernames with non alphanumeric characters.
#
# - Note that due to the design of the storage implementation, usernames must still be 16 characters
# or less.
allow-invalid-usernames = false
# If LuckPerms should allow a users primary group to be removed with the 'parent remove' command.
#
# - When this happens, the plugin will set their primary group back to default.
prevent-primary-group-removal = false
# +----------------------------------------------------------------------------------------------+ #
# | | #
# | DEFAULT ASSIGNMENTS | #
# | | #
# +----------------------------------------------------------------------------------------------+ # # +----------------------------------------------------------------------------------------------+ #
# This section allows you to define defaults to give users whenever they connect to the server. # This section allows you to define defaults to give users whenever they connect to the server.