Luck
February 1, 2017, 6:58pm
1
This is a discussion topic for the Ore project, LuckPerms . View the full project on Ore for downloads and more information.
LuckPerms
LuckPerms is a permissions plugin for Minecraft servers. It allows server admins to control what features players can use by creating groups and assigning permissions.
It is:
fast - written with performance and scalability in mind.
reliable - trusted by thousands of server admins, and the largest of server networks.
easy to use - setup permissions using commands, directly in config files, or using the web editor.
flexible - supports a variety of data storage options, and works on lots of different server types.
extensive - a plethora of customization options and settings which can be changed to suit your server.
free - available for download and usage at no cost, and permissively licensed so it can remain free forever.
LuckPerms is currently the only maintained and āworkingā permissions plugin for Sponge servers.
For more information, see the wiki article on Why LuckPerms?
Useful Links
The latest downloads & other useful links can be found on the project homepage at luckperms.net .
The plugin has extensive documentation available on the wiki . Please use the resources there before coming to us directly for support.
Support for the plugin is provided on Discord . If you have a question which cannot be answered by reading the wiki, the best place to ask it is there.
If you would like to report a bug, please open a ticket on GitHub .
External connections
In order to deliver itās functionality, LuckPerms will under some circumstances make connections with and communicate with external services outside of the local server.
The nature of these connections are detailed on this wiki page .
3 Likes
Luck
February 3, 2017, 7:26pm
3
/lp group admin permission set * true
Youāll be told by most people that using wildcards in this manner is bad practice, but itās exactly the same as PEXās defaults system.
Linoko
February 16, 2017, 11:04am
4
I have a few general questions regarding tracks. On my server I wish to have several tracks, but some that only specific groups can promote/demote along.
For instance: I only want my server to be able to promote/demote along the track following donations (iron->gold->diamond), but I want my moderators to be able to help promoting/demoting on the general rank track on the server (visiting->user->mod->admin).
To the question: Is there any way to handle permissions regarding promotions/demotions on mutliple tracks? In addition, is there any way to prevent self-promotion via permissions (mod promotes himself to admin)?
I was thinking of something like:
ānameā: āmodā,
āpermsā: {
āluckperms.user.promote.rankā: true,
āluckperms.user.promote.donationsā: false,
āluckperms.user.promote.rank.adminā: false,
}
Luck
February 25, 2017, 11:22pm
5
Apologies for the late reply, your message mustāve slipped past me.
Currently, no, this is not possible, however, it has been addressed by this issue, and will hopefully be added soon.
opened 10:38PM - 08 Feb 17 UTC
closed 11:43AM - 07 Jul 17 UTC
type: suggestion
Pretty low priority, would be cool though.
## Some examples
### `/lp user <uā¦ ser> promote <track>`
Currently checks for luckperms.user.promote
Should be changed to check:
* luckperms.user.promote.\<track\>.\<group promoting to\> (if false return, if true allow, if undef continue)
* luckperms.user.promote.\<track\> (if false return, if true allow, if undef continue)
* luckperms.user.promote (if true, allow, otherwise deny)
Should be the same for demote.
### `/lp user <user> parent add <group>`
Currently checks for luckperms.user.parent.add
Should be changed to check:
* luckperms.user.parent.add.\<group\> (if false return, if true allow, if undef continue)
* luckperms.user.parent.add (if true, allow, otherwise deny)
Should be the same for permission equivalents.
## How to determine whether players can actually use the command
I guess this should be achieved through parsing the command string directly. Instead of doing the check at execution, it will be done ahead of time.
1 Like
Luck
March 7, 2017, 10:12pm
6
A new version has been released for LuckPerms , it is available for download here .
Pushed latest development build to Ore.
Luck
May 18, 2017, 9:38pm
7
A new version has been released for LuckPerms , it is available for download here .
v3.0.15 - Fallback to uuid in the search command if the username is unknown
v3.0.16 - Switch all usages of file reader/writers to use java nio methods - closes #204
v3.0.17 - Add new argument util method for reading context pairs
v3.0.18 - Cleanup powerfulperms migration & remove support for older PP versions
v3.0.19 - Run exporter in own thread and process user exports concurrently
v3.0.20 - Update readme
v3.0.21 - Update hikari version
v3.0.22 - Add some more placeholders to the expansion
v3.0.23 - remove placeholder expansion from main project
v3.0.24 - Fix getAllNodes cache not working properly, remove pre-process contexts on Bungee & cleanup some unused methods
v3.0.25 - Migrate group weightings onto the group itself as well as to the chat meta held by it
v3.0.26 - Fix mistake in removeprefix/removesuffix command descriptions
v3.0.27 - Make the clone commands work for existing tracks/groups too
v3.0.28 - Cleanup a bit
v3.0.29 - Listen for changes in data files and automatically update
v3.0.30 - Cleanup pom files, maybe improve build speed a bit
v3.0.31 - Add server version info to the startup banner
v3.0.32 - Fix BungeePerms migration to account for group weights and negated permissions
v3.0.33 - Cleanup migration commands
v3.0.34 - Refactor and cleanup commands
v3.0.35 - Include internal weight value in meta output if not already present
v3.0.36 - Rename online-mode config option to use-server-uuids to better reflect/clarify its purpose
v3.0.37 - Fix ClassCastException with MongoDB user search
v3.0.38 - Add method to export Message enum and update language file
v3.0.39 - Add some alternate options for primary group calculation
v3.0.40 - Fix primary groups being selected in reverse order
v3.0.41 - Update PM migration to support latest version
v3.0.42 - Correct the case of group names when retrieved from Node instances
v3.0.43 - Fix NoSuchMethodError being thrown for older Bukkit config classes
v3.0.44 - Fix PM migration command not being registered
v3.0.45 - Enforce that ContextSets use the HashMultimap variant - closes #208
v3.0.46 - Clarify the file names of H2 and SQLite databases
v3.0.47 - Implement new file layout for YAML / JSON storage files (#211 )
v3.0.48 - Implement nicer json format for Sponge local data
v3.0.49 - Slight speed improvement for import processes
v3.0.50 - Rename ādebugā classes to āverboseā
v3.0.51 - Automatically push updates to other servers via the messaging service when commands are ran
v3.0.52 - correct zPermissions migration logging tag
v3.0.53 - Rewrite inheritance resolution implementation
v3.0.54 - Cleanup remaining (un)setPermission methods
v3.0.55 - Add es_ES locale
v3.0.56 - Donāt bother loading test classes (#217 )
v3.0.57 - Output group/track lists in alphabetical order
v3.0.58 - Fix removing temporary permissions/parents/meta in global context
v3.0.59 - Fix parent set command also adding default
v3.0.60 - Provide tab completion for rewritten arguments & add some more rules
v3.0.61 - Force some config options to be read as lower case
v3.0.62 - Cleanup some misc stuff
v3.0.63 - Fix some concurrency issues with login handling
v3.0.64 - Remove missing permission nodes before adding new ones when saving users/groups with SQL storage
v3.0.65 - Add āuse-vault-serverā config option, depreciate vault primary group override feature
v3.0.66 - Avoid parsing UUID in sponge world calculator
v3.0.67 - Add ru_RU.yml (#224 )
v3.0.68 - Fix compatibility with older gson versions - closes #222
v3.0.69 - Allow context pairs to be specified in commands, fix misuse of exceptions in the permission holder class
v3.0.70 - Replace guava caches with caffeine
v3.0.71 - Implement accumulation of static contexts from a file
v3.0.72 - Fix broken command parameter & update default locale file
v3.0.73 - Cleanup sponge delegate classes
v3.0.74 - Properly sort storage files - closes #227
v3.0.75 - Only allow one server and one world in context sets parsed from command args
v3.0.76 - Improve performance of resolve methods in PermissionHolder, other cleanup
v3.0.77 - Add ā/lp group listmembersā command - closes #203
v3.0.78 - Fixes for the verbose uploader
v3.0.79 - Refactor NodeModel into a more useful class, remove duplicate context serialization methods
v3.0.80 - Use the mariadb driver by default
v3.0.81 - Make the standard MySQL driver the default again
v3.0.82 - Fix export command switchprimarygroup output, and log player uuid if their username isnāt included
v3.0.83 - Donāt attempt to migrate empty permissions
v3.0.84 - Make sure world names are lowercaseād
v3.0.85 - Fix accumulation of temporary perms with a world or server context (#235 )
v3.0.86 - Remove old bulk edit commands
v3.0.87 - fix issue with /reloading and permission registration
v3.0.88 - Re-implement bulk updates
v3.0.89 - Ensure expired permissions are removed when users/groups are loaded for commands
v3.1.0 - API changes for 3.1
v3.1.1 - Update ru_RU locale (#238 )
v3.1.2 - log the file name when exceptions are thrown during i/o
v3.1.3 - Only perform flatfile schema migration if the new dir doesnāt exist
v3.1.4 - Convert promote / demote commands to use new context system, update en locale with latest changes
v3.1.5 - Remove getuuid command
v3.1.6 - Fix incorrect chat meta command usage
v3.1.7 - fix yaml/json schema migration
v3.1.8 - Cleanup poms, update copyright header
v3.1.9 - Determine dynamic primary groups using current context
v3.1.10 - fix build
v3.1.11 - Fix getting primary groups for offline users
v3.1.12 - Add not_on_track meta stack criteria
v3.1.13 - fix typo
v3.1.14 - Update RU locale (#250 )
v3.1.15 - Cleanup handling of unknown/null usernames for users
v3.1.16 - Fix NPE caused by AllParentsByWeight primary group selector - closes #252
v3.1.17 - support glowstone (maybe)
v3.1.18 - cleanup duplicated method
v3.1.19 - Fix issue with loading usernames on MongoDB - closes #257
v3.1.20 - cleanup login handling & add CountdownLatch to ensure the plugin has started before logins are handled
v3.1.21 - show uuid in log messages if username is null
v3.1.22 - implement atomic group insertion
v3.1.23 - improve speed of NodeTools#removeSamePermission
v3.1.24 - Add config options to allow for finer control over how permissions are calculated, and set include-global to true on BungeeCord by default
v3.1.25 - Split up chat messages sent to console containing new lines
v3.1.26 - Fix issue with bulk removing suffixes
v3.1.27 - Cleanup some stuff
v3.1.28 - Always load user data caches alongside user instances
v3.1.29 - Refactor LP PermissionService to implement a modified API & add proxied classes
v3.1.30 - Fix users being cleaned up too early and then logging back into the server - closes #271
v3.1.31 - Fix migrating false zPerms nodes
v3.1.32 - Fix migrating weight with zPerms
v3.1.33 - Add data constraints - closes #256
v3.1.34 - Refactor Patterns to PatternCache
v3.1.35 - Support sponge selector resolution - closes #275
v3.1.36 - Fix zPerms parent group migration for users, and fix migration of temporary memberships
v3.1.37 - Add zh-CN locale (#279 )
v3.1.38 - Update zh-CN locale (#281 )
v3.1.39 - Fix retrieving meta keys from Vault which contain delimited characters - closes #270
v3.1.40 - Fix being able to negate permissions/parents/meta in specific contexts
v3.1.41 - Bump sponge API version, cleanup
v3.1.42 - Apply world rewrites on-top of the real world name, and apply recursively (#255 )
v3.1.43 - Implement default contexts - closes #241
v3.1.44 - Implement parent settrack command - closes #112
v3.1.45 - Add parent cleartrack command, cleanup Messages enum
v3.1.46 - Fix meta info only showing values in global context
v3.1.47 - Fix vault lookups with static context
v3.1.48 - Implement initial web editor support
v3.1.49 - Cleanup config keys, make editor URL configurable
v3.1.50 - Cleanup
v3.1.51 - fix compile
v3.1.52 - Fix web editor url
v3.1.53 - Fix typo
v3.1.54 - Fix misleading Vault debug message
v3.1.55 - Catch exceptions thrown by context calculators
v3.1.56 - Refactor meta stacking to be mapped in MetaCache - towards lucko/LuckPermsPlaceholders#1
v3.2.0 - Expose MetaStacks in the API, general cleanup, release 3.2
v3.2.1 - Invalidate active context cache when a player changes world - closes #288
v3.2.2 - Donāt catch exceptions thrown inside i/o (#291 )
v3.2.3 - Cleanup login handling & reduce the amount of unnecessary logging output on startup
1 Like
Luck
June 19, 2017, 5:48pm
8
A new version has been released for LuckPerms , it is available for download here .
v3.2.4 - Update copyright headers in the API module
v3.2.5 - Fix -s flag (#132 )
v3.2.6 - Cleanup Bukkit PEX migration, fix user parents being transferred incorrectly
v3.2.7 - Update README.md
v3.2.8 - Add pl_PL locale (#306 )
v3.2.9 - Maybe fix usernames not being updated in storage after name changes (#301 )
v3.2.10 - Only resolve inheritances for groups which exist already
v3.2.11 - Add MongoDB collection prefix option
v3.2.12 - Donāt store attributes for permissions with only āvalue: trueā in YAML/JSON storage files
v3.2.13 - Fixes some issues with username storage and handling
v3.2.14 - Add some missing tab completions, remove /lp log export command
v3.2.15 - Fix argument validation for parent settrack command - closes #321
v3.2.16 - Replace fanciful with KyoriPowered/text
v3.2.17 - Tidy up configuration file layouts
v3.2.18 - Donāt send messages to command blocks async
v3.2.19 - Deploy source & javadoc jar with the API
v3.2.20 - Fix NPE with null context in FileWatcher
v3.2.21 - Fix BungeePerms migration - closes #333
2 Likes
Luck
July 30, 2017, 8:19pm
9
A new version has been released for LuckPerms , it is available for download here .
v3.2.22 - Add jar signing to build scripts
v3.2.23 - Store all accumulated meta values in MetaCache
v3.2.24 - Make command defintion/usage messages translatable
v3.2.25 - Donāt force cancel Sponge ClientConnection.Join if the cancellation state changes, shuffle event orders slightly - fixes #335
v3.2.26 - YAML/JSON batch permission defining (#337 )
v3.2.27 - Add jsr305 annotations to the API
v3.2.28 - Fix NPE when loading locale file - closes #338
v3.2.29 - Fix lp tree max recursion property
v3.2.30 - Donāt cancel re-allowed connections unless the cancel was made by LP
v3.2.32 - Export groups in order of weight, then alphabetically
v3.2.34 - Change verbose output slightly
v3.2.35 - Fix jsr being shaded & tweak javadoc generation to link to guava docs correctly
v3.2.36 - Add option to use the servers uuid cache/lookup facility (#354 )
v3.2.38 - Implement argument based permissions for LP commands - closes #52 , #170 , #174
v3.2.39 - Update dependency versions
v3.2.40 - Make āmeta infoā and āparent infoā clickable (#311 )
v3.2.41 - Fix generating unset commands for temporary nodes
v3.2.42 - Use GA MySQL version
v3.2.43 - Fail silently when the Sponge Server is not available - closes #367
v3.2.44 - Improve /lp listgroups output - closes #368
v3.2.45 - Implement support for futures & other changes in the Sponge Permissions API
v3.2.46 - Use saner class naming
v3.2.47 - Use single quotes in escapeStringForSql (#379 )
v3.2.48 - Add option to disable colored logging (#382 )
v3.2.49 - Update /lp info output
v3.2.50 - Fix IllegalStateException in meta info command - closes #385
v3.2.51 - Fix possible NPEs when calling API storage events - fixes #384
v3.2.52 - Cleanup handling of empty permissions when migrating data (closes #387 )
v3.2.53 - Flush storage buffer more frequently
v3.2.55 - fix error with null subject in ContextManager removal listener - closes #392
v3.2.56 - Throw an NPE if a null delegate sender is passed to SenderFactory#wrap
v3.2.57 - Donāt load contexts file twice
v3.2.59 - Fix IndexOutOfBoundsException with āpermission settempā command (#403 )
v3.2.60 - Give default group if needed after āparent removeā (#405 )
Luck
September 11, 2017, 9:35pm
10
A new version has been released for LuckPerms , it is available for download here .
v3.2.61 - Fix sponge config loading - closes #407
v3.2.62 - Remove unnecessary extra cache in ContextManager
v3.2.63 - Make Spongeās #getFriendlyIdentifier return usernames of Users and display names of Groups (#412 )
v3.2.64 - Fix NPE with Vault #getPlayerGroups
v3.2.65 - Fix āmeta settempā command using duration as the server context (#421 )
v3.2.66 - Fix Sponge PermissionDescription lookups (#425 )
v3.2.67 - Refactoring & misc cleanup
v3.2.68 - Cleanup verbose & treeview packages. Return known permissions from the PermissionVault as Sponge PermissionDescriptions
v3.2.69 - Optimizations to the core PermissionHolder class
v3.2.70 - Fix negating group permissions to cancel inheritance
v3.3.0 - Properly implement Contexts#allowAll - bump API to 3.3
v3.3.1 - Fix checkinherits command not returning the inheritance data
v3.3.2 - Correctly export meta/prefix/suffix nodes to command strings
v3.3.3 - Update KyoriPowered/text dependency
v3.3.4 - Fix text dependencies being shaded
v3.3.5 - Fix issue with casting UUIDs in MongoDB backing (#443 )
v3.3.6 - Allow permission info command to be filtered by context (#442 )
v3.3.7 - Refactor weight lookups
v3.3.8 - Send a more helpful message when the non legacy version of LP is installed on Bukkit 1.7 (#437 )
v3.3.9 - Remove āā¦ data was saved to storageā messages
v3.3.10 - Format times in /lp log into a shorter form
v3.3.11 - Refactor and cleanup Log classes
v3.3.12 - Dispatch log entries via the messaging service
v3.3.13 - Fix comparator and ensure @Nonnull annotated methods never return null in LogEntry
v3.3.14 - Update zh-CN locale (#449 )
v3.3.15 - Update zh-CN locale (#450 )
v3.3.16 - Refactor metastacks & primary group calculation
v3.3.17 - Fix time test for node expiry times
v3.3.18 - Update for latest Text version
v3.3.19 - Add login debug option
v3.3.20 - Run user cleanup task async and not on Storage init
v3.3.21 - Catch Throwable instead of Exception when setting up BukkitJsonMessageHandler
v3.3.22 - Reduce buffer times, refactor MessagingService init
v3.3.23 - Remove ālistā alias for holder info (#461 )
v3.3.24 - Add config option to prevent primary group removal (#405 )
v3.3.25 - Add type argument to āmeta clearā command (#457 )
v3.3.26 - Fix incorrect usage of CompletableFuture#thenCombineAsync
v3.3.27 - Refactor command execution to use Locks per target instead of (effectively) one for all commands - towards #317
v3.3.28 - Donāt publish/broadcast log entries from the import process - towards #317
v3.3.29 - Refactor Importer/Exporter to use multiple threads (#317 )
v3.3.30 - Fix build
v3.3.31 - Fix some issues with the recent import/export changes
v3.3.32 - Send some extra data to the editor data object
v3.3.33 - Bump caffeine and hikari versions (#462 )
v3.3.34 - Fix NodeFactory#nodeAsCommand when unsetting meta nodes, fix meta unset command
v3.3.35 - Added uranium server support to DependencyManager (#464 )
v3.4.0 - Add tracing to /lp verbose, API updates/cleanup, add login process event, and utilise string interning for faster context/node comparisons
v3.4.1 - Fix missing depend
v3.4.2 - Make some ingame messages more consistent with the LP theme, general cleanup
Can u move your creation to SpongeAPI 7.0.0? Thank you!
Luck
September 27, 2017, 7:16pm
13
A new version has been released for LuckPerms , it is available for download here .
Just a quick update to make a couple of small improvements.
v3.4.4 - Cleanup subscription updates & UserManager#loadAllUsers
v3.4.6 - Fix group expiry time not being exported (#474 )
v3.4.7 - Always load dependencies into the plugin classloader, and not itās parent - fixes #479 (this fixes Java 9 support)
v3.4.8 - Only schedule a user cleanup when LuckPermsApi#cleanupUser is called
v3.4.10 - Fix tab completion inconsistencies caused by argument rewrites - closes #481
v3.4.11 - Re-add ālistā as an alias of āpermission infoā - reverts #461 , closes #473
v3.4.12 - Cache SubjectReference instances, general cleanup
v3.4.14 - Only load slf4j if itās not already present on the server
v3.4.15 - Bump dependency versions
v3.4.17 - Make verbose output more readable when a check is made against a lot of contexts
Luck
December 19, 2017, 9:33pm
14
A new version has been released for LuckPerms , it is available for download here .
Itās been a while since I last posted a build here ā so here ya go!
Change list
v3.4.18 - Refactor sponge cache invalidation
v3.4.19 - Refactor context manager
v3.4.20 - Add hu_HU locale - thanks @montlikadani
v3.4.21 - Export using the /lp alias
v3.4.22 - Move Track methods away from checked exceptions, refactor ContextManager & primary group holders
v3.4.23 - Remove context pre-processing (mostly)
v3.4.27 - Remove cleanupUsers functionality
v3.4.28 - Prioritise primary groups when two inherited groups have the same weight (#500 )
v3.4.29 - Make parents-by-weight
the default primary group calculation method
v3.4.30 - Primary groups should come first, not last, when ordering groups for inheritance (#500 )
v3.4.31 - Remove usage of the now-redundant ExtractedContexts class, other misc cleanup
v3.4.32 - Ensure stored primary groups are always lowercaseād
v3.4.33 - fix MetaStackElement equality checks
v3.4.34 - Add highest_inherited and lowest_inherited meta stack elements
v3.4.35 - Fix updating primary groups for players whoāve never joined the server with SQL storage types (#500 )
v3.4.36 - Throw an exception if weāre unable to create the lib dir
v3.4.37 - Ensure users are a member of their primary group (#506 )
v3.4.38 - Cleanup verbose handler & only send sponge OP command notification if the sender has permission
v3.4.39 - Rewrite flatfile storage (YAML & JSON) to use configurate, add HOCON storage method
v3.4.40 - Throw exception if directories cannot be created
v3.4.41 - Add config option to allow invalid usernames (#516 )
v3.4.42 - Fix migrating null / non-existent usernames - reverts parts of 6bfeec6, fixes #514
v3.4.43 - Try to find the most appropriate primary group before just adding a user to default - closes #506
v3.4.45 - More storage refactoring - write group nodes into their own section in flatfile types (#502 )
v3.4.46 - Add group setdisplayname command (#493 )
v3.4.47 - More storage refactoring
v3.4.48 - Cleanup
v3.4.49 - Add option to cancel failed logins on BungeeCord variant
v3.4.50 - Form more descriptive console & import usernames
v3.4.51 - Fix NPE on startup (#520 )
v3.4.52 - Fix temporary group display format in parent info command (#518 )
v3.4.53 - Fix changes not being saved for flatfile bulkupdate operations
v3.4.54 - Fix user exports
v3.4.55 - Cleanup / tidy up a number of classes
v3.4.57 - cleanup & fix build
v3.4.58 - Increase actions actor_name column length (#525 )
v3.4.60 - Refactor the log creation process
v3.4.61 - Deprecate some unused methods in ImmutableNode, refactor #shouldApplyWithContext
v3.4.62 - Add Sender#getNameWithLocation
v3.4.64 - Use a string version of the full static context, as opposed to the server name
v3.4.65 - Increase actor_name field length to account for changes to logging
v3.4.66 - Use āNoneā instead of āglobalā when no server name is specified
v3.4.67 - Alias /lp player ā /lp user
v3.4.68 - Donāt prevent modification of group.<group name>
nodes with permission subcommands
v4.0.0 - API 4.0 - this is a breaking change
v4.0.1 - Fix tab completions not being returned for empty strings (#538 )
v4.0.2 - Move a couple more methods around in the API
v4.0.3 - Final bits of API refactoring, add group data caches, fix issue with LPPermissionAttachment fake map injection
v4.0.4 - Move #refreshCachedData up the type hierarchy into PermissionHolder
v4.0.5 - Fix broken usage of LogEntry#getActed
v4.0.6 - Bump dependency versions
v4.0.7 - Attach extra data to the editor payload object to allow for tab completion
v4.0.9 - Expose more connection pool settings in the config file
v4.0.10 - General tidy up
v4.0.11 - Fix compiling null AssignmentExpressions
v4.0.12 - Donāt try to run schema migrations for SQLite
v4.0.13 - Fix issue with loading tracks with configurate
v4.0.14 - Bump SQLite version
v4.0.15 - Fix zero length prefixes from locale files
v4.0.18 - Donāt allow user names to be set if the length exceeds 16 characters
v4.0.19 - Implement system for shorter editor urls & display diff when changes are applied
v4.0.20 - Remove character constraints on group names, cleanup legacy node (de)serialization system
v4.0.21 - Fix race condition when saving null config nodes to non-existent files
v4.0.22 - Refactor configurate dao
v4.0.23 - Update ru_RU locale (#560 - thanks @DarkFort )
v4.0.24 - Update hu_HU locale (#558 )
v4.0.25 - Update pl_PL locale (#556 )
v4.0.26 - Add config option for defining extra SQL connection properties (#563 )
v4.0.28 - Cleanup sponge service impl
v4.0.29 - Change poms to conform to Sonatypeās OSSRH requirements
v4.0.30 - Fix mongodb bulkupdate (#572 )
v4.0.31 - Rewrite the MongoDB storage impl to use the modern node serialisation format
v4.0.32 - Donāt run schema migrations for Postgre (#568 )
v4.0.35 - Run a sync task after completing a bulk update (#579 )
v4.0.37 - Fix MongoDao issue causing unnecessary writes each time a user is loaded (#589 )
v4.0.38 - Use static empty context set where appropriate, cache reversed comparator instances
v4.0.39 - Fix compatibility with older Gson versions
v4.0.40 - Validate checksums of downloaded dependencies
v4.0.41 - Remove the isAcceptingLogins storage state in favour of just throwing exceptions on usage
v4.0.42 - propagate i/o errors to the futures returned by the dao
v4.0.43 - Work around message bug when parsing two consecutive color codes
v4.0.44 - refactor context sets
v4.0.45 - Fix compat with older hikari versions (#600 )
v4.0.47 - Update locale files (#604 , #601 , #602 )
v4.0.48 - Fix user demote command success message (#609 )
v4.0.49 - Fix promote / demote command inconsistencies (#609 )
v4.0.50 - Refactor paginated command output, add flags for ordering āpermission infoā entries, fix crashes caused by long messages (#591 )
v4.0.51 - Send a message when an editor upload begins
v4.0.52 - Misc cleanup
v4.0.53 - Add user clone command (#530 )
v4.0.54 - Send more helpful message when /lp is executed without any arguments
v4.0.55 - Fix more broken message coloring
v4.0.56 - Update text version
v4.0.57 - Change log output format, refactor log pagination
v4.0.58 - Various fixes for log commands
v4.0.59 - Return the loaded objects from storage methods as opposed to success flags
v4.0.60 - Extract out common constants & magic values into factory classes
3 Likes
This is great so far except for the fact that any rank below me canāt use /help, but can perform /minecraft:help? Is there any way to fix this?
You havnāt given them the permission for sponge.command.help
people were complaining that you couldnāt prevent people using it, so it was newly added in the last few months.
My database is collapsing due huge indexes size from luckperms tables.
Do not you think that it would be more efficient to store the UUIDās in binary(16) for MySQL/MariaDB?
@Ghostly that seems oddā¦ How many unique players are you seeing? Is it current schemaād to be varchar or something?
@Luck
After seeing that several blogs discuss storage of UUID values into MySQL, and that this topic is recurrent on forums, I thought I would compile some sensible ideas I have seen, and also add a couple new ones.
See also follow up post called Mysql...
1 Like
Luck
January 6, 2018, 11:23pm
19
It would be more efficient yes, however the SQL implementation supports more than just MySQL, and so itās not easily doable.
I administrate a number of large networks running LuckPerms - we have close to 1 million entries in one of our user permission tables (we store a lot of data using permissions ), and the disk usage for the table + indexes is still negligible.
Iām wondering if something else is causing your issue? Could you perhaps share some stats?
Luck
January 6, 2018, 11:27pm
20
Yep, Iāve used that approach before on a couple of other projects.
e.g. https://github.com/lucko/helper/blob/master/helper-profiles/src/main/java/me/lucko/helper/profiles/plugin/ProfilesPlugin.java
You get faster comparisons, and more compact data - but interacting with the data in a CLI is a real PITA. (not like thatās a good reason not to do so, though)
As said previously, itās trickier in LP, as the data types vary quite a bit in the other supported database implementations.
1 Like
Is it possible to use this plugin to format a rank with a certain colored rank, and also change their name to a specific color. For example the Owner rank would be like [Owner]ANameHere, the word owner would appear red in chat and the name would appear blue and bold or something?
Yes, just use the minecraft colour codes when you set the prefix - &c[Owner]