Luckperms reset groups error on 1.19.2
Yomamaeatstoes opened this issue ยท 0 comments
Description
Hello, I am using the snapshot version of via version on the latest version for my server which is also on the latest version of paper on 1.19.2, but my minecraft version I am using to log in is 1.19.3 on the latest version. When going to the end to the over world, and vise versa I got this error. I am on also using the latest version of luckperms. For some reason my groups have been reset.
https://paste.gg/p/anonymous/9da4477479064bb39c1f8ab3e2c77b0e
Reproduction Steps
Teleport to one region to another.
Expected Behaviour
Teleport to one region to another, and your groups shouldn't dissapear.
Server Details
1.19.2 latest paper version
LuckPerms Version
5.4.40
Logs and Configs
####################################################################################################
+----------------------------------------------------------------------------------------------+
| __ __ ___ __ __ |
| | | | / |__/ |__) |__ |__) |\/| /__
|
| |___ _/ _, | \ | |___ | \ | | .__/ |
| |
| https://luckperms.net |
| |
| WIKI: https://luckperms.net/wiki |
| DISCORD: https://discord.gg/luckperms |
| BUG REPORTS: https://github.com/lucko/LuckPerms/issues |
| |
| Each option in this file is documented and explained here: |
| ==> https://luckperms.net/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. |
+----------------------------------------------------------------------------------------------+
####################################################################################################
+----------------------------------------------------------------------------------------------+
| |
| ESSENTIAL SETTINGS |
| |
| Important settings that control how LuckPerms functions. |
| |
+----------------------------------------------------------------------------------------------+
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://luckperms.net/wiki/Context
server: global
If the servers own UUID cache/lookup facility should be used when there is no record for a player
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
+----------------------------------------------------------------------------------------------+
| |
| 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://luckperms.net/wiki/Storage-types
- 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)
|=> HOCON (.conf files)
|=> TOML (.toml files)
|
| By default, user, group and track data is separated into different files. Data can be combined
| and all stored in the same file by switching to a combined storage variant.
| Just add '-combined' to the end of the storage-method, e.g. 'yaml-combined'
- 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 how frequently the pool will 'ping' a connection in order to prevent it
# from being timed out by the database or network infrastructure, measured in milliseconds.
# - The value should be less than maximum-lifetime and greater than 30000 (30 seconds).
# - Setting the value to zero will disable the keepalive functionality.
keepalive-time: 0
# 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.
#
# By default, the following options are set to enable utf8 encoding. (you may need to remove
# these if you are using PostgreSQL)
# useUnicode: true
# characterEncoding: utf8
#
# You can also use this section to disable SSL connections, by uncommenting the 'useSSL' and
# 'verifyServerCertificate' options below.
properties:
useUnicode: true
characterEncoding: utf8
#useSSL: false
#verifyServerCertificate: false
The prefix for all LuckPerms SQL tables.
- This only applies for remote SQL storage types (MySQL, MariaDB, etc).
- Change this if you want to use different tables for different servers.
table-prefix: 'luckperms_'
The prefix to use for all LuckPerms MongoDB collections.
- This only applies for the MongoDB storage type.
- Change this if you want to use different collections for different servers. The default is no
prefix.
mongodb-collection-prefix: ''
The connection string URI to use to connect to the MongoDB instance.
- When configured, this setting will override anything defined in the address, database,
username or password fields above.
- If you have a connection string that starts with 'mongodb://' or 'mongodb+srv://', enter it
below.
- For more information, please 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:
=> sql Uses the SQL database to form a queue system for communication. Will only work when
'storage-method' is set to MySQL or MariaDB. This is chosen by default if the
option is set to 'auto' and SQL storage is in use. Set to 'notsql' to disable this.
=> pluginmsg 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 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.
=> rabbitmq Uses RabbitMQ pub-sub to push changes. Your server connection info must be
configured below.
=> custom Uses a messaging service provided using the LuckPerms API.
=> auto Attempts to automatically setup a messaging service using redis or sql.
messaging-service: auto
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
username: ''
password: ''
Settings for RabbitMQ.
Port 5672 is used by default; set address to "host:port" if differs
rabbitmq:
enabled: false
address: localhost
vhost: '/'
username: 'guest'
password: 'guest'
+----------------------------------------------------------------------------------------------+
| |
| 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
Controls how LuckPerms will determine a users "primary" group.
- The meaning and influence of "primary groups" are explained in detail on the wiki.
- The preferred approach is to let LuckPerms automatically determine a users primary group
based on the relative weight of their parent groups.
- 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
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 nature of the checks are documented on the wiki under "Argument based command permissions".
- Argument based permissions are not static, unlike the 'base' permissions, and will depend upon
the arguments given within the command.
argument-based-command-permissions: false
If the plugin should check whether senders are a member of a given group before they're able to
edit the groups data or add/remove other users to/from it.
Note: these limitations do not apply to the web editor!
require-sender-group-membership-to-modify: false
If the plugin should send log notifications to users whenever permissions are modified.
- Notifications are only sent to those with the appropriate permission to receive them
- They can also be temporarily enabled/disabled on a per-user basis using
'/lp log notify <on|off>'
log-notify: true
Defines a list of log entries which should not be sent as notifications to users.
- Each entry in the list is a RegEx expression which is matched against the log entry description.
log-notify-filtered-descriptions:
- "parent add example"
If LuckPerms should automatically install translation bundles and periodically update them.
auto-install-translations: true
Defines the options for prefix and suffix stacking.
- The feature allows you to display multiple prefixes or suffixes alongside a players username in
chat.
- It is explained and documented in more detail on the wiki under "Prefix & Suffix Stacking".
- The options are divided into separate sections for prefixes and suffixes.
- The 'duplicates' setting refers to how duplicate elements are handled. Can be 'retain-all',
'first-only' or 'last-only'.
- The value of 'start-spacer' is included at the start of the resultant prefix/suffix.
- The value of 'end-spacer' is included at the end of the resultant prefix/suffix.
- The value of 'middle-spacer' is included between each element in the resultant prefix/suffix.
- 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_ Selects the value with the highest weight, but only if the
value was inherited from a group on the given track.
=> lowest_on_track_ Same as above, except takes the value with the lowest weight.
=> highest_not_on_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_ Same as above, except takes the value with the lowest weight.
=> highest_from_group_ Selects the value with the highest weight, but only if the
value was inherited from the given group.
=> lowest_from_group_ Same as above, except takes the value with the lowest weight.
=> highest_not_from_group_ Selects the value with the highest weight, but only if the
value was not inherited from the given group.
=> lowest_not_from_group_ Same as above, except takes the value with the lowest weight.
meta-formatting:
prefix:
format:
- "highest"
duplicates: first-only
start-spacer: ""
middle-spacer: " "
end-spacer: ""
suffix:
format:
- "highest"
duplicates: first-only
start-spacer: ""
middle-spacer: " "
end-spacer: ""
+----------------------------------------------------------------------------------------------+
| |
| PERMISSION CALCULATION AND INHERITANCE |
| |
| Modify the way permission checks, meta lookups and inheritance resolutions are handled. |
| |
+----------------------------------------------------------------------------------------------+
The algorithm LuckPerms should use when traversing the "inheritance tree".
- 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
If a final sort according to "inheritance rules" should be performed after the traversal algorithm
has resolved the inheritance tree.
"Inheritance rules" refers to things such as group weightings, primary group status, and the
natural contextual ordering of the group nodes.
Setting this to 'true' will allow for the inheritance rules to take priority over the structure of
the inheritance tree.
Effectively when this setting is 'true': the tree is flattened, and rules applied afterwards,
and when this setting is 'false':, the rules are just applied during each step of the traversal.
post-traversal-inheritance-sort: false
Defines the mode used to determine whether a set of contexts are satisfied.
- Possible options:
=> at-least-one-value-per-key Set A will be satisfied by another set B, if at least one of the
key-value entries per key in A are also in B.
=> all-values-per-key Set A will be satisfied by another set B, if all key-value
entries in A are also in B.
context-satisfy-mode: at-least-one-value-per-key
LuckPerms has a number of built-in contexts. These can be disabled by adding the context key to
the list below.
disabled-contexts:
- "world"
+----------------------------------------------------------------------------------------------+
| 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
+----------------------------------------------------------------------------------------------+
| Meta lookup settings |
+----------------------------------------------------------------------------------------------+
Defines how meta values should be selected.
- Possible options:
=> inheritance Selects the meta value that was inherited first
=> highest-number Selects the highest numerical meta value
=> lowest-number Selects the lowest numerical meta value
meta-value-selection-default: inheritance
Defines how meta values should be selected per key.
meta-value-selection:
max-homes: highest-number
+----------------------------------------------------------------------------------------------+
| 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 LuckPerms should resolve and apply permissions according to the Sponge style 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.
apply-sponge-implicit-wildcards: false
If the plugin should apply negated Bukkit default permissions before it considers wildcard
assignments.
- Plugin authors can define permissions which explicitly should not be given automatically to OPs.
This is usually used for so called "anti-permissions" - permissions which, when granted, apply
something negative.
- If this option is set to true, LuckPerms will consider any negated declarations made by
plugins before it considers wildcards. (similar to the way the OP system works)
- If this option is set to false, LuckPerms will consider any wildcard assignments first.
apply-default-negated-permissions-before-wildcards: false
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 |
+----------------------------------------------------------------------------------------------+
A list of context calculators which will be skipped when calculating contexts.
- You can disable context calculators by either:
=> specifying the Java class name used by the calculator (e.g. com.example.ExampleCalculator)
=> specifying a sub-section of the Java package used by the calculator (e.g. com.example)
disabled-context-calculators: []
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. Note that vanilla features like the spawn-protection require an operator on the
server to work.
enable-ops: true
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,
temporarily, etc.
- 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
disabled.
- It is recommended that you use this option instead of assigning a single '*' permission.
auto-op: false
Defines if "opped" players should be able to use all LuckPerms commands by default.
- Set to false to only allow users who have the permissions access to the commands
commands-allow-op: true
+----------------------------------------------------------------------------------------------+
| Vault integration settings |
+----------------------------------------------------------------------------------------------+
If Vault lookups for offline players on the main server thread should be enabled.
LuckPerms has a "catch" for plugins attempting to perform unsafe offline player data lookups
from the main server thread. This catch raises an exception (causes an error to occur) when unsafe
lookups are made, instead of allowing the lookup to happen, which would likely cause the server
to lag.
However, if you're willing to accept the consequences, the catch can be disabled by setting this
option to 'true.
vault-unsafe-lookups: false
If LuckPerms should use the 'display name' of a group when returning groups in Vault API calls.
- When this option is set to true, the display name of the group is returned.
- When this option is set to false, the standard name/id of the group is returned.
vault-group-use-displaynames: true
Controls which group LuckPerms should use for NPC players when handling Vault requests.
- As NPCs aren't actually real players, LuckPerms does not load any user data for them. This
becomes an issue when plugins want to check for their permissions using Vault.
- As a solution, Vault checks for NPCs fallback to a group, which is defined below.
vault-npc-group: default
Controls how LuckPerms should consider the OP status of NPC players when handing Vault requests.
- If you want NPCs to have the same permissions as "normal" players, set this option to false.
- If you want NPCs to have OP status, set this option to true.
vault-npc-op-status: false
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.
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.
vault-server: global
If global permissions should be considered when retrieving meta or player groups
vault-include-global: true
If Vault operations should ignore any world arguments if supplied.
vault-ignore-world: false
+----------------------------------------------------------------------------------------------+
| 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 not require users to confirm bulkupdate operations.
- When set to true, operations will be executed immediately.
- This is not recommended, as bulkupdate has the potential to irreversibly delete large amounts of
data, and is not designed to be executed automatically.
- If automation is needed, users should prefer using the LuckPerms API.
skip-bulkupdate-confirmation: false
If LuckPerms should prevent bulkupdate operations.
- When set to true, bulkupdate operations (the /lp bulkupdate command) will not work.
- When set to false, bulkupdate operations will be allowed via the console.
disable-bulkupdate: 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
If LuckPerms should update the list of commands sent to the client when permissions are changed.
update-client-command-list: true
If LuckPerms should attempt to register "Brigadier" command list data for its commands.
register-command-list-data: true
If LuckPerms should attempt to resolve Vanilla command target selectors for LP commands.
See here for more info: https://minecraft.gamepedia.com/Commands#Target_selectors
resolve-command-selectors: false
Extra Details
[INFO] Plugins (51): BanItem*, BedWars, BetterEconomy, BetterRTP, BisectHosting, ChatFilter, Chunky, ClansLite, CommandBlockAsPlayer, DisableBreeding, DiscordSRV, dynmap, floodgate, Geyser-Spigot, HarmonyScoreboard, HolographicDisplays, HungerGames, LuckPerms, Multiverse-Core, NoCheatPlus, NoteBlockAPI, Orebfuscator, Parkour, PL-Hide, PlaceholderAPI, PlayerKits, PlugManX (PlugMan), ProtocolLib, racing, ScoreboardChatShop, SecondThreadAPI*, SilkySpawnersLITE, Skywars, spark, Spleef*, StormerAntiNetherRoof, StormerAntiSpam, StormerHomes, StormerTPA, StormerWarps, Themis, TNTRun_reloaded, Vault, VaultToVanilla, ViaBackwards, ViaRewind, ViaVersion, Votifier, VotingPlugin, WorldEdit, WorldGuard