LuckPerms-DBA/bungee/src/main/resources/config.yml

402 lines
17 KiB
YAML
Raw Normal View History

2017-06-13 04:41:23 +08:00
####################################################################################################
# +----------------------------------------------------------------------------------------------+ #
# | __ __ ___ __ __ | #
# | | | | / ` |__/ |__) |__ |__) |\/| /__` | #
# | |___ \__/ \__, | \ | |___ | \ | | .__/ | #
# | | #
# | | #
# | 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 | #
# +----------------------------------------------------------------------------------------------+ #
2016-05-22 08:57:10 +08:00
# The name of the server, used for server specific permissions. Set to 'global' to disable.
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
2016-05-22 08:57:10 +08:00
# 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
# in the LuckPerms cache.
#
# 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.
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
2017-08-27 20:54:26 +08:00
# 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 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
# 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
# permissions data could be loaded.
#
# 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.
cancel-failed-logins: false
# If the plugin should send log notifications to users whenever permissions are modified.
log-notify: true
2017-06-13 04:41:23 +08:00
# 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
2017-06-13 04:41:23 +08:00
# -> 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
2017-06-13 04:41:23 +08:00
# +----------------------------------------------------------------------------------------------+ #
# | Permission Calculation | #
# +----------------------------------------------------------------------------------------------+ #
2016-08-07 07:16:05 +08:00
# If the plugin should apply wildcard permissions.
2017-06-13 04:41:23 +08:00
# If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
# permissions matching the wildcard.
2016-08-07 07:16:05 +08:00
apply-wildcards: true
# If the plugin should parse regex permissions.
2017-06-13 04:41:23 +08:00
# 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:
# - breadth-first
# - depth-first-pre-order
# - depth-first-post-order
#
# See here for information about the differences between each algorithm.
# - https://en.wikipedia.org/wiki/Breadth-first_search
# - https://en.wikipedia.org/wiki/Depth-first_search
inheritance-traversal-algorithm: depth-first-pre-order
2016-11-05 17:04:26 +08:00
# Define special group weights for this server.
# Default is just 0.
group-weight:
# admin: 10
2016-08-30 23:02:01 +08:00
2016-09-17 05:09:55 +08:00
2017-06-13 04:41:23 +08:00
# +----------------------------------------------------------------------------------------------+ #
# | 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>
2017-04-16 18:06:05 +08:00
# - 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: ""
2017-06-13 04:41:23 +08:00
# +----------------------------------------------------------------------------------------------+ #
# | Storage | #
# +----------------------------------------------------------------------------------------------+ #
2016-06-22 23:47:54 +08:00
# 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
2017-06-13 04:41:23 +08:00
#
# 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
2016-06-22 23:47:54 +08:00
2017-06-13 04:41:23 +08:00
# 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
2016-08-31 16:30:19 +08:00
# 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
2016-05-22 08:57:10 +08:00
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
2017-06-13 04:41:23 +08:00
# 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_'
2017-06-13 04:41:23 +08:00
# 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.
2017-06-05 23:09:02 +08:00
mongodb_collection_prefix: ''
# This option controls how frequently LuckPerms will perform a sync task.
2017-06-13 04:41:23 +08:00
# 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.
#
2017-06-13 04:41:23 +08:00
# 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 "/luckpermsbungee networksync" to push changes.
# Data is NOT stored using this service. It is only used as a messaging platform.
#
2017-06-13 04:41:23 +08:00
# 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: ''
2017-06-13 04:41:23 +08:00
# +----------------------------------------------------------------------------------------------+ #
# | 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.
#
2017-06-13 04:41:23 +08:00
# 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:
2017-06-13 04:41:23 +08:00
# 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.
#
2017-06-13 04:41:23 +08:00
# 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.
#
2017-06-13 04:41:23 +08:00
# 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>
2017-06-13 04:41:23 +08:00
# 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:
2017-06-13 04:41:23 +08:00
# 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:
2017-06-13 04:41:23 +08:00
# 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:
2017-06-13 04:41:23 +08:00
# 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.
#
2017-06-13 04:41:23 +08:00
# 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.
#
2017-06-13 04:41:23 +08:00
# 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