Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ####################################################################################################
- # +----------------------------------------------------------------------------------------------+ #
- # | __ __ ___ __ __ | #
- # | | | | / ` |__/ |__) |__ |__) |\/| /__` | #
- # | |___ \__/ \__, | \ | |___ | \ | | .__/ | #
- # | | #
- # | | #
- # | 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 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
- # 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"
- # 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="json"
- group="json"
- track="json"
- uuid="json"
- log="json"
- }
- }
- 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.
- # -> 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"
- # }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement