· 5 years ago · Feb 12, 2021, 11:24 AM
1####################################################################################################
2# +----------------------------------------------------------------------------------------------+ #
3# | __ __ ___ __ __ | #
4# | | | | / ` |__/ |__) |__ |__) |\/| /__` | #
5# | |___ \__/ \__, | \ | |___ | \ | | .__/ | #
6# | | #
7# | https://luckperms.net | #
8# | | #
9# | WIKI: https://luckperms.net/wiki | #
10# | DISCORD: https://discord.gg/luckperms | #
11# | BUG REPORTS: https://github.com/lucko/LuckPerms/issues | #
12# | | #
13# | Each option in this file is documented and explained here: | #
14# | ==> https://luckperms.net/wiki/Configuration | #
15# | | #
16# | New options are not added to this file automatically. Default values are used if an | #
17# | option cannot be found. The latest config versions can be obtained at the link above. | #
18# +----------------------------------------------------------------------------------------------+ #
19####################################################################################################
20
21# +----------------------------------------------------------------------------------------------+ #
22# | | #
23# | ESSENTIAL SETTINGS | #
24# | | #
25# | Important settings that control how LuckPerms functions. | #
26# | | #
27# +----------------------------------------------------------------------------------------------+ #
28
29# The name of the server, used for server specific permissions.
30#
31# - When set to "global" this setting is effectively ignored.
32# - In all other cases, the value here is added to all players in a "server" context.
33# - See: https://luckperms.net/wiki/Context
34server: bungee
35
36# If the servers own UUID cache/lookup facility should be used when there is no record for a player
37# already in LuckPerms.
38#
39# - Since BungeeCord doesn't maintain it's own UUID cache, when this option is true, LuckPerms will
40# try to find a uuid for a username using RedisBungee, if installed.
41use-server-uuid-cache: false
42
43
44
45
46# +----------------------------------------------------------------------------------------------+ #
47# | | #
48# | STORAGE SETTINGS | #
49# | | #
50# | Controls which storage method LuckPerms will use to store data. | #
51# | | #
52# +----------------------------------------------------------------------------------------------+ #
53
54# How the plugin should store data
55#
56# - The various options are explained in more detail on the wiki:
57# https://luckperms.net/wiki/Storage-types
58#
59# - Possible options:
60#
61# | Remote databases - require connection information to be configured below
62# |=> MySQL
63# |=> MariaDB (preferred over MySQL)
64# |=> PostgreSQL
65# |=> MongoDB
66#
67# | Flatfile/local database - don't require any extra configuration
68# |=> H2 (preferred over SQLite)
69# |=> SQLite
70#
71# | Readable & editable text files - don't require any extra configuration
72# |=> YAML (.yml files)
73# |=> JSON (.json files)
74# |=> HOCON (.conf files)
75# |=> TOML (.toml files)
76# |
77# | By default, user, group and track data is separated into different files. Data can be combined
78# | and all stored in the same file by switching to a combined storage variant.
79# | Just add '-combined' to the end of the storage-method, e.g. 'yaml-combined'
80#
81# - A H2 database is the default option.
82# - If you want to edit data manually in "traditional" storage files, we suggest using YAML.
83storage-method: mysql
84
85# The following block defines the settings for remote database storage methods.
86#
87# - You don't need to touch any of the settings here if you're using a local storage method!
88# - The connection detail options are shared between all remote storage types.
89data:
90
91 # Define the address and port for the database.
92 # - The standard DB engine port is used by default
93 # (MySQL: 3306, PostgreSQL: 5432, MongoDB: 27017)
94 # - Specify as "host:port" if differs
95 address: 207.180.193.146:3306
96
97 # The name of the database to store LuckPerms data in.
98 # - This must be created already. Don't worry about this setting if you're using MongoDB.
99 database: multiperms
100
101 # Credentials for the database.
102 username: admin
103 password: 'mulTi662'
104
105 # These settings apply to the MySQL connection pool.
106 # - The default values will be suitable for the majority of users.
107 # - Do not change these settings unless you know what you're doing!
108 pool-settings:
109
110 # Sets the maximum size of the MySQL connection pool.
111 # - Basically this value will determine the maximum number of actual
112 # connections to the database backend.
113 # - More information about determining the size of connection pools can be found here:
114 # https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing
115 maximum-pool-size: 10
116
117 # Sets the minimum number of idle connections that the pool will try to maintain.
118 # - For maximum performance and responsiveness to spike demands, it is recommended to not set
119 # this value and instead allow the pool to act as a fixed size connection pool.
120 # (set this value to the same as 'maximum-pool-size')
121 minimum-idle: 10
122
123 # This setting controls the maximum lifetime of a connection in the pool in milliseconds.
124 # - The value should be at least 30 seconds less than any database or infrastructure imposed
125 # connection time limit.
126 maximum-lifetime: 1800000 # 30 minutes
127
128 # This setting controls the maximum number of milliseconds that the plugin will wait for a
129 # connection from the pool, before timing out.
130 connection-timeout: 5000 # 5 seconds
131
132 # This setting allows you to define extra properties for connections.
133 #
134 # By default, the following options are set to enable utf8 encoding. (you may need to remove
135 # these if you are using PostgreSQL)
136 # useUnicode: true
137 # characterEncoding: utf8
138 #
139 # You can also use this section to disable SSL connections, by uncommenting the 'useSSL' and
140 # 'verifyServerCertificate' options below.
141 properties:
142 useUnicode: true
143 characterEncoding: utf8
144 #useSSL: false
145 #verifyServerCertificate: false
146
147 # The prefix for all LuckPerms SQL tables.
148 # - Change this if you want to use different tables for different servers.
149 table-prefix: 'luckperms_'
150
151 # The prefix to use for all LuckPerms collections. Change this if you want to use different
152 # collections for different servers. The default is no prefix.
153 mongodb-collection-prefix: ''
154
155 # MongoDB ClientConnectionURI for use with replica sets and custom connection options
156 # - See https://docs.mongodb.com/manual/reference/connection-string/
157 mongodb-connection-uri: ''
158
159# Define settings for a "split" storage setup.
160#
161# - This allows you to define a storage method for each type of data.
162# - The connection options above still have to be correct for each type here.
163split-storage:
164 # Don't touch this if you don't want to use split storage!
165 enabled: false
166 methods:
167 # These options don't need to be modified if split storage isn't enabled.
168 user: h2
169 group: h2
170 track: h2
171 uuid: h2
172 log: h2
173
174
175
176
177# +----------------------------------------------------------------------------------------------+ #
178# | | #
179# | UPDATE PROPAGATION & MESSAGING SERVICE | #
180# | | #
181# | Controls the ways in which LuckPerms will sync data & notify other servers of changes. | #
182# | These options are documented on greater detail on the wiki under "Instant Updates". | #
183# | | #
184# +----------------------------------------------------------------------------------------------+ #
185
186# This option controls how frequently LuckPerms will perform a sync task.
187#
188# - A sync task will refresh all data from the storage, and ensure that the most up-to-date data is
189# being used by the plugin.
190# - This is disabled by default, as most users will not need it. However, if you're using a remote
191# storage type without a messaging service setup, you may wish to set this to something like 3.
192# - Set to -1 to disable the task completely.
193sync-minutes: -1
194
195# If the file watcher should be enabled.
196#
197# - When using a file-based storage type, LuckPerms can monitor the data files for changes, and
198# automatically update when changes are detected.
199# - If you don't want this feature to be active, set this option to false.
200watch-files: true
201
202# Define which messaging service should be used by the plugin.
203#
204# - If enabled and configured, LuckPerms will use the messaging service to inform other connected
205# servers of changes.
206# - Use the command "/lp networksync" to manually push changes.
207# - Data is NOT stored using this service. It is only used as a messaging platform.
208#
209# - If you decide to enable this feature, you should set "sync-minutes" to -1, as there is no need
210# for LuckPerms to poll the database for changes.
211#
212# - Possible options:
213# => sql Uses the SQL database to form a queue system for communication. Will only work
214# when 'storage-method' is set to MySQL or MariaDB. This is chosen by default if
215# the option is set to 'auto' and SQL storage is in use. Set to 'notsql' to
216# disable this.
217# => pluginmsg Uses the plugin messaging channels to communicate with the proxy.
218# LuckPerms must be installed on your proxy & all connected servers backend
219# servers. Won't work if you have more than one BungeeCord proxy.
220# => redis Uses Redis pub-sub to push changes. Your server connection info must be
221# configured below.
222# => redisbungee Uses Redis pub-sub to push changes, using the RedisBungee API. You need to have
223# the RedisBungee plugin installed.
224# => auto Attempts to automatically setup a messaging service using redis or sql.
225messaging-service: auto
226
227# If LuckPerms should automatically push updates after a change has been made with a command.
228auto-push-updates: true
229
230# If LuckPerms should push logging entries to connected servers via the messaging service.
231push-log-entries: true
232
233# If LuckPerms should broadcast received logging entries to players on this platform.
234#
235# - If you have LuckPerms installed on your backend servers as well as a BungeeCord proxy, you
236# should set this option to false on either your backends or your proxies, to avoid players being
237# messaged twice about log entries.
238broadcast-received-log-entries: false
239
240# Settings for Redis.
241# Port 6379 is used by default; set address to "host:port" if differs
242redis:
243 enabled: false
244 address: localhost
245 password: ''
246
247
248
249
250# +----------------------------------------------------------------------------------------------+ #
251# | | #
252# | CUSTOMIZATION SETTINGS | #
253# | | #
254# | Settings that allow admins to customize the way LuckPerms operates. | #
255# | | #
256# +----------------------------------------------------------------------------------------------+ #
257
258# If LuckPerms should ensure all players have permission data when they connect to the server.
259#
260# - When set to true, LuckPerms will cancel login attempts if it is unable to load permissions data
261# for a user, or if the storage provider is unavailable.
262# - When set to false, LuckPerms will allow a player to connect regardless of whether their
263# permissions data could be loaded.
264# - This option does not exist on other platforms, and effectively defaults to true - however,
265# the option is provided on BungeeCord, as it is less likely to be so dependant on permissions.
266cancel-failed-logins: false
267
268# Controls how temporary permissions/parents/meta should be accumulated.
269#
270# - The default behaviour is "deny".
271# - This behaviour can also be specified when the command is executed. See the command usage
272# documentation for more info.
273#
274# - Possible options:
275# => accumulate durations will be added to the existing expiry time
276# => replace durations will be replaced if the new duration is later than the current
277# expiration
278# => deny the command will just fail if you try to add another node with the same expiry
279temporary-add-behaviour: deny
280
281# Controls how LuckPerms will determine a users "primary" group.
282#
283# - The meaning and influence of "primary groups" are explained in detail on the wiki.
284# - The preferred approach is to let LuckPerms automatically determine a users primary group
285# based on the relative weight of their parent groups.
286#
287# - Possible options:
288# => stored use the value stored against the users record in the file/database
289# => parents-by-weight just use the users most highly weighted parent
290# => all-parents-by-weight same as above, but calculates based upon all parents inherited from
291# both directly and indirectly
292primary-group-calculation: parents-by-weight
293
294# If the plugin should check for "extra" permissions with users run LP commands.
295#
296# - These extra permissions allow finer control over what users can do with each command, and who
297# they have access to edit.
298# - The nature of the checks are documented on the wiki under "Argument based command permissions".
299# - Argument based permissions are *not* static, unlike the 'base' permissions, and will depend upon
300# the arguments given within the command.
301argument-based-command-permissions: false
302
303# If the plugin should check whether senders are a member of a given group before they're able to
304# edit the groups data or add/remove other users to/from it.
305# Note: these limitations do not apply to the web editor!
306require-sender-group-membership-to-modify: false
307
308# If the plugin should send log notifications to users whenever permissions are modified.
309#
310# - Notifications are only sent to those with the appropriate permission to receive them
311# - They can also be temporarily enabled/disabled on a per-user basis using
312# '/lp log notify <on|off>'
313log-notify: true
314
315# Defines a list of log entries which should not be sent as notifications to users.
316#
317# - Each entry in the list is a RegEx expression which is matched against the log entry description.
318log-notify-filtered-descriptions:
319# - "parent add example"
320
321# If LuckPerms should automatically install translation bundles and periodically update them.
322auto-install-translations: true
323
324# Defines the options for prefix and suffix stacking.
325#
326# - The feature allows you to display multiple prefixes or suffixes alongside a players username in
327# chat.
328# - It is explained and documented in more detail on the wiki under "Prefix & Suffix Stacking".
329#
330# - The options are divided into separate sections for prefixes and suffixes.
331# - The 'duplicates' setting refers to how duplicate elements are handled. Can be 'retain-all',
332# 'first-only' or 'last-only'.
333# - The value of 'start-spacer' is included at the start of the resultant prefix/suffix.
334# - The value of 'end-spacer' is included at the end of the resultant prefix/suffix.
335# - The value of 'middle-spacer' is included between each element in the resultant prefix/suffix.
336#
337# - Possible format options:
338# => highest Selects the value with the highest weight, from all values
339# held by or inherited by the player.
340#
341# => lowest Same as above, except takes the one with the lowest weight.
342#
343# => highest_own Selects the value with the highest weight, but will not
344# accept any inherited values.
345#
346# => lowest_own Same as above, except takes the value with the lowest weight.
347#
348# => highest_inherited Selects the value with the highest weight, but will only
349# accept inherited values.
350#
351# => lowest_inherited Same as above, except takes the value with the lowest weight.
352#
353# => highest_on_track_<track> Selects the value with the highest weight, but only if the
354# value was inherited from a group on the given track.
355#
356# => lowest_on_track_<track> Same as above, except takes the value with the lowest weight.
357#
358# => highest_not_on_track_<track> Selects the value with the highest weight, but only if the
359# value was inherited from a group not on the given track.
360#
361# => lowest_not_on_track_<track> Same as above, except takes the value with the lowest weight.
362#
363# => highest_from_group_<group> Selects the value with the highest weight, but only if the
364# value was inherited from the given group.
365#
366# => lowest_from_group_<group> Same as above, except takes the value with the lowest weight.
367#
368# => highest_not_from_group_<group> Selects the value with the highest weight, but only if the
369# value was not inherited from the given group.
370#
371# => lowest_not_from_group_<group> Same as above, except takes the value with the lowest weight.
372meta-formatting:
373 prefix:
374 format:
375 - "highest"
376 duplicates: first-only
377 start-spacer: ""
378 middle-spacer: " "
379 end-spacer: ""
380 suffix:
381 format:
382 - "highest"
383 duplicates: first-only
384 start-spacer: ""
385 middle-spacer: " "
386 end-spacer: ""
387
388
389
390
391# +----------------------------------------------------------------------------------------------+ #
392# | | #
393# | PERMISSION CALCULATION AND INHERITANCE | #
394# | | #
395# | Modify the way permission checks, meta lookups and inheritance resolutions are handled. | #
396# | | #
397# +----------------------------------------------------------------------------------------------+ #
398
399# The algorithm LuckPerms should use when traversing the "inheritance tree".
400#
401# - Possible options:
402# => breadth-first See: https://en.wikipedia.org/wiki/Breadth-first_search
403# => depth-first-pre-order See: https://en.wikipedia.org/wiki/Depth-first_search
404# => depth-first-post-order See: https://en.wikipedia.org/wiki/Depth-first_search
405inheritance-traversal-algorithm: depth-first-pre-order
406
407# If a final sort according to "inheritance rules" should be performed after the traversal algorithm
408# has resolved the inheritance tree.
409#
410# "Inheritance rules" refers to things such as group weightings, primary group status, and the
411# natural contextual ordering of the group nodes.
412#
413# Setting this to 'true' will allow for the inheritance rules to take priority over the structure of
414# the inheritance tree.
415#
416# Effectively when this setting is 'true': the tree is flattened, and rules applied afterwards,
417# and when this setting is 'false':, the rules are just applied during each step of the traversal.
418post-traversal-inheritance-sort: false
419
420# Defines the mode used to determine whether a set of contexts are satisfied.
421#
422# - Possible options:
423# => at-least-one-value-per-key Set A will be satisfied by another set B, if at least one of the
424# key-value entries per key in A are also in B.
425# => all-values-per-key Set A will be satisfied by another set B, if all key-value
426# entries in A are also in B.
427context-satisfy-mode: at-least-one-value-per-key
428
429# +----------------------------------------------------------------------------------------------+ #
430# | Permission resolution settings | #
431# +----------------------------------------------------------------------------------------------+ #
432
433# If users on this server should have their global permissions applied.
434# When set to false, only server specific permissions will apply for users on this server
435include-global: true
436
437# If users on this server should have their global world permissions applied.
438# When set to false, only world specific permissions will apply for users on this server
439include-global-world: true
440
441# If users on this server should have global (non-server specific) groups applied
442apply-global-groups: true
443
444# If users on this server should have global (non-world specific) groups applied
445apply-global-world-groups: true
446
447# +----------------------------------------------------------------------------------------------+ #
448# | Meta lookup settings | #
449# +----------------------------------------------------------------------------------------------+ #
450
451# Defines how meta values should be selected.
452#
453# - Possible options:
454# => inheritance Selects the meta value that was inherited first
455# => highest-number Selects the highest numerical meta value
456# => lowest-number Selects the lowest numerical meta value
457meta-value-selection-default: inheritance
458
459# Defines how meta values should be selected per key.
460meta-value-selection:
461# max-homes: highest-number
462
463# +----------------------------------------------------------------------------------------------+ #
464# | Inheritance settings | #
465# +----------------------------------------------------------------------------------------------+ #
466
467# If the plugin should apply wildcard permissions.
468#
469# - If set to true, LuckPerms will detect wildcard permissions, and resolve & apply all registered
470# permissions matching the wildcard.
471apply-wildcards: true
472
473# If LuckPerms should resolve and apply permissions according to the Sponge style implicit wildcard
474# inheritance system.
475#
476# - That being: If a user has been granted "example", then the player should have also be
477# automatically granted "example.function", "example.another", "example.deeper.nesting",
478# and so on.
479apply-sponge-implicit-wildcards: false
480
481# If the plugin should parse regex permissions.
482#
483# - If set to true, LuckPerms will detect regex permissions, marked with "r=" at the start of the
484# node, and resolve & apply all registered permissions matching the regex.
485apply-regex: true
486
487# If the plugin should complete and apply shorthand permissions.
488#
489# - If set to true, LuckPerms will detect and expand shorthand node patterns.
490apply-shorthand: true
491
492# If the plugin should apply the permissions & groups defined in the BungeeCord config.yml
493#
494# - If set to false, LuckPerms will ignore these values.
495apply-bungee-config-permissions: false
496
497# +----------------------------------------------------------------------------------------------+ #
498# | Extra settings | #
499# +----------------------------------------------------------------------------------------------+ #
500
501# Allows you to set "aliases" for the worlds sent forward for context calculation.
502#
503# - These aliases are provided in addition to the real world name. Applied recursively.
504# - Remove the comment characters for the default aliases to apply.
505world-rewrite:
506# world_nether: world
507# world_the_end: world
508
509# Define special group weights for this server.
510#
511# - Group weights can also be applied directly to group data, using the setweight command.
512# - This section allows weights to be set on a per-server basis.
513group-weight:
514# admin: 10
515
516
517
518
519# +----------------------------------------------------------------------------------------------+ #
520# | | #
521# | FINE TUNING OPTIONS | #
522# | | #
523# | A number of more niche settings for tweaking and changing behaviour. The section also | #
524# | contains toggles for some more specialised features. It is only necessary to make changes to | #
525# | these options if you want to fine-tune LuckPerms behaviour. | #
526# | | #
527# +----------------------------------------------------------------------------------------------+ #
528
529# +----------------------------------------------------------------------------------------------+ #
530# | Miscellaneous (and rarely used) settings | #
531# +----------------------------------------------------------------------------------------------+ #
532
533# If LuckPerms should produce extra logging output when it handles logins.
534#
535# - Useful if you're having issues with UUID forwarding or data not being loaded.
536debug-logins: false
537
538# If LuckPerms should allow usernames with non alphanumeric characters.
539#
540# - Note that due to the design of the storage implementation, usernames must still be 16 characters
541# or less.
542allow-invalid-usernames: false
543
544# If LuckPerms should allow a users primary group to be removed with the 'parent remove' command.
545#
546# - When this happens, the plugin will set their primary group back to default.
547prevent-primary-group-removal: false
548