430 lines
18 KiB
Plaintext
430 lines
18 KiB
Plaintext
####################################################################################################
|
|
# +----------------------------------------------------------------------------------------------+ #
|
|
# | __ __ ___ __ __ | #
|
|
# | | | | / ` |__/ |__) |__ |__) |\/| /__` | #
|
|
# | |___ \__/ \__, | \ | |___ | \ | | .__/ | #
|
|
# | | #
|
|
# | | #
|
|
# | SOURCE CODE: https://github.com/lucko/LuckPerms | #
|
|
# | WIKI: https://github.com/lucko/LuckPerms/wiki | #
|
|
# | BUG REPORTS: https://github.com/lucko/LuckPerms/issues | #
|
|
# | | #
|
|
# | Each option in this file is documented and explained here: | #
|
|
# | ==> https://github.com/lucko/LuckPerms/wiki/Configuration | #
|
|
# | | #
|
|
# | New options are not added to this file automatically. Default values are used if an | #
|
|
# | option cannot be found. The latest config versions can be obtained at the link above. | #
|
|
# +----------------------------------------------------------------------------------------------+ #
|
|
####################################################################################################
|
|
|
|
# +----------------------------------------------------------------------------------------------+ #
|
|
# | General | #
|
|
# +----------------------------------------------------------------------------------------------+ #
|
|
|
|
# The name of the server, used for server specific permissions. Set to 'global' to disable.
|
|
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 UUIDs should be pulled from the server, or looked up by username based upon previous
|
|
# connections.
|
|
#
|
|
# This option should be set to true in most cases. When set to false, in order to get a player's
|
|
# UUID, LuckPerms will:
|
|
#
|
|
# 1. Check if a player with the given username has joined before, if they have, use the UUID they
|
|
# used on their previous login.
|
|
# 2. Save and return the players "current" uuid.
|
|
#
|
|
# For offline mode (cracked) servers, a players UUID is generated based upon their username.
|
|
#
|
|
# IMPORTANT:
|
|
# If you are using BungeeCord proxy running in online mode, it is important that "online-mode=false"
|
|
# is set in server.properties, but "bungeecord: true" is set in the spigot.yml. You also need to set
|
|
# "ip_forward: true" in BungeeCord's config.yml.
|
|
#
|
|
# If for whatever reason you are not able to do this, and do not have ip-forward enabled, then you
|
|
# may need to set "use-server-uuids" to false.
|
|
#
|
|
# If your proxy is running in offline mode, you should still be setting up ip-forwarding as
|
|
# described above.
|
|
#
|
|
# This option only really exists for networks who for whatever reason cannot setup proper ip
|
|
# forwarding.
|
|
use-server-uuids=true
|
|
|
|
# If the servers own UUID cache/lookup facility should be used when there is no record for a player
|
|
# in the LuckPerms cache.
|
|
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
|
|
|
|
# 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"
|
|
# 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
|
|
# If "deny": the command will just fail if you try to add another node with the same expiry
|
|
temporary-add-behaviour="deny"
|
|
|
|
# How should LuckPerms determine a users "primary" group.
|
|
#
|
|
# Available 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"
|
|
|
|
# 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.
|
|
#
|
|
# These extra permissions allow finer control over what users can do with each command, and
|
|
# who they have access to edit.
|
|
#
|
|
# The permissions are *not* static, unlike the 'base' permisssions, and will depend upon the
|
|
# arguments given within the command.
|
|
argument-based-command-permissions=false
|
|
|
|
|
|
|
|
|
|
# +----------------------------------------------------------------------------------------------+ #
|
|
# | 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:
|
|
# If a user has been granted "example", then the player should have also be automatically granted
|
|
# "example.function", "example.another", "example.deeper.nesting", and so on.
|
|
#
|
|
# If this option is set to false, this system will not be applied.
|
|
apply-sponge-implicit-wildcards=true
|
|
|
|
# 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
|
|
|
|
# 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:
|
|
# - 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.
|
|
meta-formatting {
|
|
prefix {
|
|
format = [
|
|
"highest"
|
|
]
|
|
start-spacer=""
|
|
middle-spacer=" "
|
|
end-spacer=""
|
|
}
|
|
suffix {
|
|
format = [
|
|
"highest"
|
|
]
|
|
start-spacer=""
|
|
middle-spacer=" "
|
|
end-spacer=""
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
# +----------------------------------------------------------------------------------------------+ #
|
|
# | Storage | #
|
|
# +----------------------------------------------------------------------------------------------+ #
|
|
|
|
# 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=15000 # 15 seconds
|
|
}
|
|
|
|
# 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=""
|
|
|
|
# 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 | #
|
|
# +----------------------------------------------------------------------------------------------+ #
|
|
|
|
# This section allows you to define defaults to give users whenever they connect to the server.
|
|
# The default assignments are highly configurable and conditional.
|
|
#
|
|
# There is one default assignment built into LuckPerms, which will add all users to the "default"
|
|
# group if they are not a member of any other group. This setting cannot be disabled. However, you
|
|
# can use this section to add more of your own.
|
|
#
|
|
# IMPORTANT:
|
|
# In order to save storage space, LuckPerms does not store users who have no permissions defined,
|
|
# and are only a member of the default group. Adding default assignments to this section will negate
|
|
# this effect. It is HIGHLY RECCOMENDED that instead of assigning defaults here, you add permissions
|
|
# to the "default" group, or set the "default" group to inherit other groups, and then use the
|
|
# group-name-rewrite rule above.
|
|
#
|
|
# It is also important to note that these rules are considered every time a player logs into the
|
|
# server, and are applied directly to the user's data. Simply removing a rule here will not reverse
|
|
# the effect of that rule on any users who have already had it applied to them.
|
|
#
|
|
# The "has" and "lacks" conditions below support standard boolean logic, using the 'and' & 'or'
|
|
# characters used in Java.
|
|
# e.g. "(some.other.permission | some.permission.other) & some.thing.else" == a user has
|
|
# 'some.other.permission', or 'some.permission.other', and they also have 'some.thing.else'
|
|
#
|
|
# Groups are represented by the permission node: group.<group name>
|
|
# Per server and per world nodes are represented by "server-world/permission" or "server/permission"
|
|
#
|
|
# Within conditions, permission nodes MUST be escaped using "<" and ">". See the example below.
|
|
#
|
|
# Explanation of the examples below: (they're just to demonstrate the features & use cases)
|
|
#
|
|
# rule1:
|
|
# If a user is either in the vip or vip+ group, and they have the "titles.titlecollector" permission
|
|
# set to true, and the "some.random.permission" set to false... if they're not in the group
|
|
# "prison_titlepack" on the "prison" server, then give add them to the "prison_titlepack" group on
|
|
# the "prison" server, and remove "some.random.permission".
|
|
#
|
|
# rule2:
|
|
# If the user isn't in any of the following groups on the skyblock server: sb_level1, sb_level2,
|
|
# sb_level3, then add them to sb_level1 on the skyblock server.
|
|
#
|
|
# rule3:
|
|
# If the user is a member of the default group, remove them from default, add them to member, and
|
|
# set their primary group to member.
|
|
#
|
|
# WARNING: Unlike internal commands, this system does not ensure that a group exists before adding
|
|
# a user to it. It also does not unsure that a user is a member of a group before making that group
|
|
# their primary group.
|
|
#
|
|
# Before you use "give: group.<name>" or "set-primary-group", make sure that the group exists, and
|
|
# that the user is a member of the group.
|
|
default-assignments {
|
|
# rule1 {
|
|
# if {
|
|
# has-true="(<group.vip> | <group.vip+>) & <titles.tilecollector>"
|
|
# has-false="<some.random.permission>"
|
|
# lacks="<prison/group.prison_titlepack>"
|
|
# }
|
|
# give = [
|
|
# "prison/group.prison_titlepack"
|
|
# ]
|
|
# take = [
|
|
# "some.random.permission"
|
|
# ]
|
|
# }
|
|
# rule2 {
|
|
# if {
|
|
# lacks="<skyblock/group.sb_level1> & <skyblock/group.sb_level2> & <skyblock/group.sb_level3>"
|
|
# }
|
|
# give = [
|
|
# "skyblock/group.sb_level1"
|
|
# ]
|
|
# }
|
|
# rule3 {
|
|
# if {
|
|
# has-true="<group.default>"
|
|
# }
|
|
# take = [
|
|
# "group.default"
|
|
# ]
|
|
# give = [
|
|
# "group.member"
|
|
# ]
|
|
# set-primary-group="member"
|
|
# }
|
|
}
|