Commit Graph

1493 Commits

Author SHA1 Message Date
Luck
9af6dccd9d
Use the non-registering MySQL driver and revert to using DataSource for MariaDB 2020-11-14 13:44:32 +00:00
Luck
129a10aa60
Automatically install translation bundles 2020-11-12 00:28:02 +00:00
Luck
62270bfd93
Set serverTimezone property on MySQL driver 2020-11-11 13:00:02 +00:00
Luck
00d4a2a1da
Update MySQL driver to 8.0, cleanup Hikari usage 2020-11-10 16:00:36 +00:00
Luck
4ce8ea21f9
Sort users with no known username to the bottom of the editor menu 2020-11-10 15:04:36 +00:00
Luck
9796d2421f
Player context calculator fixes, fix compat with Sponge API 7 (#2703) 2020-11-07 11:40:26 +00:00
Luck
0ea0ce9d26
Provide 'gamemode' and 'dimension-type' contexts by default
Also, optimize world rewrites
2020-11-07 00:57:57 +00:00
Luck
3f04d439b4
Fix permission check message arg ordering 2020-11-03 12:17:05 +00:00
Federico López
5bdc798237
Allow creategroup command to take weight and display name as optional arguments (#2698) 2020-11-02 09:48:02 +00:00
Federico López
5d0c578da1
Fix bulk update command failing on SQL based storages when tracking operation stats with multiple constraints (#2699) 2020-11-02 09:46:45 +00:00
MrMicky
7854de8991
Move exception printing to logger (#2695) 2020-10-31 22:25:11 +00:00
Luck
4c23f93a67
Improve locale display names 2020-10-30 13:14:52 +00:00
Luck
7b3beae57f
Change wiki links from GitHub to luckperms.net 2020-10-28 11:58:41 +00:00
Luck
15d3000fc1
Make storage meta keys translatable 2020-10-28 10:42:47 +00:00
Luck
ad174742e9
Implement localisation for displaying durations 2020-10-25 13:39:14 +00:00
Luck
ab0e25a56d
Fix loading custom en based translations 2020-10-22 09:17:30 +01:00
Luck
6b05e47deb
Include expiry in meta info command (#2663) 2020-10-20 13:10:39 +01:00
Luck
b9eb022011
Fix null player locale causing NPE (#2678) 2020-10-20 12:25:35 +01:00
Federico López
f3857090fa
Format group info prefix and suffix (#2677) 2020-10-19 14:47:36 +01:00
Luck
d7fa9e08f3
Fix various translation issues 2020-10-19 13:24:44 +01:00
Luck
2c7ff2120c
Fix legacy codes in formatted holder display names 2020-10-19 12:37:27 +01:00
Federico López
703b18e51c
Make bulk update operations a bit more verbose (#2647) 2020-10-16 12:11:30 +01:00
Luck
3b779dbbd3
Add note to build scripts about our repackaged version of the adventure library 2020-10-16 00:17:42 +01:00
Luck
9af397c2bc
Change some of the wording slightly in the translations command 2020-10-15 23:47:51 +01:00
Luck
b6e5b0bd47
Fix sending messages on Velocity proxies 2020-10-15 23:35:59 +01:00
Luck
6e7c49488d
Add /lp translations command 2020-10-15 23:02:11 +01:00
Underscore11
c5841b58a7
Fix some formatting issues (#2671) 2020-10-15 00:50:00 +01:00
Federico López
e8b1214219
Make import take 3 args max so lp import <code> --upload --replace is possible (#2651) 2020-10-14 12:38:05 +01:00
Luck
4811129ab1
Convert to text components and implement new translation system 2020-10-14 12:26:09 +01:00
Luck
63878166db
Release 5.2 2020-10-14 12:18:50 +01:00
Luck
2ea43d4b2e
Some misc refactoring and cleanup 2020-09-10 21:13:12 +01:00
Luck
442c7d46f9
Ensure that player data is removed even if a corresponding user doesn't exist 2020-09-07 18:16:25 +01:00
Luck
971bb67b51
Add support for user deletion from the web editor 2020-09-07 18:13:33 +01:00
Luck
020aff66aa
Refactor web editor session handling 2020-09-07 18:06:40 +01:00
Luck
198b86d7c3
Implement the basis for deleting player uuid data from storage 2020-09-07 17:22:42 +01:00
Luck
84e7fd4d09
Update usage string for /lp import 2020-09-07 16:55:08 +01:00
Luck
4027129052
Default to merge when using /lp import (#2601) 2020-09-07 16:54:27 +01:00
Luck
63f67ca72c
Default use-vault-server to false (#2599) 2020-09-07 16:51:07 +01:00
Luck
2adaea2dac
Avoid calling JsonObject#size for compat with older gson versions (#2598) 2020-09-05 22:00:56 +01:00
Luck
5e48224c78
Use a map factory when resolving permissions for cached data 2020-08-30 09:14:33 +01:00
Luck
cc1d8984da
Config option for registering brigadier command list data 2020-08-30 09:13:59 +01:00
Luck
4d5a24f2c4
ContextSetJsonSerializer output should be sorted 2020-08-14 16:25:55 +01:00
Luck
e2b575dd24
Handle null or empty server/world field in SQL (#2553) 2020-08-13 11:40:33 +01:00
Luck
6f90e545fc
Don't attempt further poll operations after SQL messenger has closed (#2516) 2020-08-13 10:49:18 +01:00
Luck
361a4d66bc
Refactor exporter into separate classes 2020-08-13 10:12:36 +01:00
Luck
e1bac438aa
Add /lp export --without-groups (#2498) 2020-08-13 10:00:49 +01:00
Luck
ac9706b83f
Ignore FileAlreadyExistsException in MoreFiles#createDirectories (#2525) 2020-08-10 22:29:12 +01:00
Luck
fea757887c
Use official configurate 3.7 branch 2020-08-01 11:08:46 +01:00
Luck
92e008ff0a
Fix bug in PermissionHolder#hasNode (#2490)
Regression introduced in bd6d3ab7c0
2020-07-26 14:14:41 +01:00
Luck
9659333d0e
Some misc cleanup for migration commands 2020-07-25 16:56:52 +01:00
Larry
d8020e77fe
Fix import with no users object (#2488, #2489) 2020-07-24 11:43:49 +01:00
Luck
232d17436c
Rename config based static calculator 2020-07-21 11:26:16 +01:00
Luck
1461651e22
Include a wider range of potential contexts in web editor payload (#2470) 2020-07-21 11:25:50 +01:00
Luck
ef556f7cf7
Pre-generate event classes (#2463) 2020-07-16 21:00:17 +01:00
Luck
47ca6b162b
Catch throwable instead of exception when handling hikari errors (#2444) 2020-07-16 20:26:54 +01:00
Luck
f72a5cb6b5
Ensure group/track names are always lowercase'd when created via the API (#2440) 2020-07-16 20:19:33 +01:00
Luck
cd0fd80b33
Impose 15 second timeout on all http calls (#2436) 2020-07-16 20:15:53 +01:00
Sam Goodger
0fd7f643a7
Add option to use bytebin for exports/imports (#2432) 2020-07-04 20:41:34 +01:00
Mark
6c7c1b67b8
Try to reopen Redis pub-sub connection on failure (#2430) 2020-07-04 20:08:58 +01:00
Luck
4514a17eaf
Remove MRUCache
Now we're using ConcurrentHashMap, it's usefulness in terms of performance is debatable
2020-07-03 18:23:34 +01:00
Luck
adbd2fc81f
Use ConcurrentHashMap instead of Caffeine in CachedDataManager
The behaviour of Caffeine cache invalidation calls is "undefined for an entry that is being loaded (or reloaded)" - this causes a nasty race condition in CachedDataManager, because we rely on the call to #invalidate to completely clear the cache and prevent old/outdated data from sticking around & being used for permission queries.

This is an unfortunate characteristic of Caffeine, because other than that, it is perfect for our use-case.
2020-07-03 17:57:53 +01:00
Luck
8b506b6a95
Don't re-use PermissionCache instances 2020-07-03 15:18:58 +01:00
Luck
426c8565fd
Small optimization to processExportedPermissions 2020-07-03 14:57:46 +01:00
Luck
bd6d3ab7c0
Optimize PermissionHolder#hasNode 2020-07-02 12:28:30 +01:00
Luck
d12d13d6ea
Fix NodeMap#size method and rename some things 2020-07-02 12:16:13 +01:00
Luck
cc08390abe
Remove NodeMap immutable cache 2020-07-02 12:06:37 +01:00
Luck
b460e282b1
Add ConstraintNodeMatcher toString method for use in commands 2020-07-02 10:44:52 +01:00
Luck
21ae1dbac0
Fix potential race condition in MRUCache 2020-06-21 22:07:53 +01:00
Luck
6cb0f5e810
Use a non-async cache in CachedDataManager 2020-06-21 21:23:57 +01:00
Luck
2ac7d3dfe6
Refactor command argument parsing 2020-06-21 19:58:17 +01:00
Luck
bfaa543ecd
Fix NPE in ConfigurateConfigAdapter#getStringList (#2399) 2020-06-21 10:18:27 +01:00
Luck
f893b1c632
Add optional time parameters to permission/parent removetemp commands (#1384) 2020-06-20 22:01:27 +01:00
Luck
cb5a28f043
Use the only/default track if one is not specifed in the promote/demote command (#1581) 2020-06-20 21:03:01 +01:00
Luck
bd9718c5af
Add log notification filters (#1980) 2020-06-20 20:46:54 +01:00
Luck
df324de9ec
Add DataTypeFilter 2020-06-12 23:14:33 +01:00
Luck
2bb1aa7511
Change behaviour of resolveInheritanceTree when 'resolve inheritance' flag is false 2020-06-12 20:34:57 +01:00
Luck
0bef0902c0
Update some dependencies 2020-06-10 20:41:39 +01:00
Luck
91337b49ea
Just use the section char instead of some other random one
Idk wtf I was thinking
2020-06-08 23:47:10 +01:00
Luck
f5e41f7e7e
Cleanup chat meta commands 2020-06-08 23:44:25 +01:00
Luck
fe0e82f285
Verbose command shouldn't be able to run as console 2020-06-04 14:46:11 +01:00
Luck
8996cf02af
Add player argument to'/lp verbose command' to execute the test command as another player 2020-06-04 01:32:56 +01:00
Luck
e37c77a1be
Add '/lp verbose command <command>' for easy testing of command permissions 2020-06-03 22:32:24 +01:00
Luck
11998b2dd6
Some misc cleanup 2020-06-03 21:20:41 +01:00
Luck
8754123535
Fix parsing second optional argument in editor command 2020-05-30 02:39:37 +01:00
Luck
91d75424f4
Include users which inherit the group when running /lp group <group> editor 2020-05-30 02:13:18 +01:00
Luck
c5c99abd16
Improve argument based perm checks for the editor 2020-05-30 01:54:18 +01:00
Luck
6c88f7629e
Add optional filter argument to editor command 2020-05-30 01:47:31 +01:00
Luck
98c71739f8
Fix user ordering in the editor 2020-05-30 01:37:24 +01:00
Luck
25551641fc
Add option to merge into instead of overriding existing data in imports (#2324) 2020-05-28 21:36:06 +01:00
Luck
00b701f129
Improve undo command generation (#2318) 2020-05-28 20:53:07 +01:00
Luck
ab082aa311
Group names should always be lowercase in inheritance nodes 2020-05-28 00:49:46 +01:00
Joshua Schmitt
dc32c84bb3
Increase world column max length (#2334) 2020-05-27 14:02:53 +01:00
Luck
0bb4161397
Use nicer toString for Durations in log messages 2020-05-27 10:46:24 +01:00
Luck
4a049ca732
Use contains instead of startsWith for context tab completions 2020-05-27 10:43:30 +01:00
Luck
6b3e4bdc71
Add ContextUpdateEvent and related functionality 2020-05-25 21:49:49 +01:00
Luck
5c0d82f306
Refactor config handler classes 2020-05-25 10:42:32 +01:00
Luck
5a6176def5
Enforce removal of server=global and world=global contexts at a higher level 2020-05-21 17:30:13 +01:00
Luck
1ca1bcf1d1
Make getUniqueUsers more resilient to invalid uuids 2020-05-20 21:23:40 +01:00
Luck
ea5a05d770
Fix incorrectly reading node value from the value field when reading from the flatfile meta section (#2312) 2020-05-20 18:22:10 +01:00
Luck
ed85ab1bfd
Change ContextSet 'satisfy' behaviour (#2300) 2020-05-20 14:51:03 +01:00
Luck
c09e4a1aa0
Update web app urls 2020-05-20 14:45:20 +01:00
Luck
ee36fa9d81
Fix prefix being displayed twice in extensions info section 2020-05-19 17:47:07 +01:00
Luck
bfa5fc43cd
Rename getWithPermission method internally 2020-05-19 17:45:16 +01:00
Luck
5d6389249a
Fix bug with searching for group permissions via the api 2020-05-19 13:32:06 +01:00
Luck
637cb0d836
Fix group info command 2020-05-19 09:55:00 +01:00
Luck
bfebe6a5d0
Cleanup MetaStack, cache the computed prefix/suffix when meta accumulator completes 2020-05-19 00:36:39 +01:00
Luck
c120fa6a4d
Fix startup on Nukkit (#2290) 2020-05-16 11:52:51 +01:00
Luck
918ea7503a
Fix bug with duplicated users in editor (lucko/LuckPermsWeb#235) 2020-05-13 11:20:11 +01:00
Luck
98eb756951
Add contextual data section to group info command too 2020-05-12 18:34:07 +01:00
Luck
86eeeb5b94
Slightly change plugin prefix 2020-05-12 17:54:06 +01:00
Luck
a3e6628e11
Improve user info command 2020-05-12 16:54:02 +01:00
Luck
84bc4217de
Fix command arg rewriting 2020-05-12 16:35:43 +01:00
Luck
b88819b9bb
Cleanup Bukkit/Nukkit dummy classes, some aren't necessary anymore 2020-05-11 21:58:24 +01:00
Luck
c7a0e59919
Catch RejectedExecutionException in BufferedRequest (#2289) 2020-05-11 21:15:42 +01:00
Luck
9984d4be42
Optimize ActionLog and Paginated util 2020-05-11 21:00:42 +01:00
Luck
a1c91b9007
Improve sync task performance 2020-05-11 13:46:02 +01:00
Luck
6a256d59f5
Fix null check in selectAllGroupPermissions 2020-05-11 13:12:30 +01:00
Luck
fca2f1e6de
Optimize loading lots of groups from SQL storage types (#2287) 2020-05-11 12:54:42 +01:00
Luck
ec7994a561
Print more useful debug message when a LinkageError is thrown due to bad SLF4J classloading
This is a longstanding issue, mostly caused by plugins with bad Maven shade configurations.

https://github.com/lucko/LuckPerms/issues?q=slf4j
2020-05-11 01:41:01 +01:00
Luck
9f22bf2fbf
Update the client commands list when permissions are changed (#2262) 2020-05-10 22:18:01 +01:00
Luck
5f0df1b167
Increase editor users limit to 1000 & sort users according to their max inherited group weight 2020-05-10 16:31:35 +01:00
Luck
73d76d860e
Move PlayerAdapter to platform package 2020-05-10 13:51:30 +01:00
Luck
bcfcb64931
Add modifyUser and modifyGroup convenience API methods 2020-05-10 12:40:20 +01:00
Luck
a19cb71394
Add PermissionHolder#getQueryOptions API method 2020-05-10 12:22:40 +01:00
Luck
52731fe68e
Add getInheritedGroups and getNodes filtered by type methods to the API (#1926) 2020-05-10 01:19:43 +01:00
Luck
7845d89f10
Add some convenience API methods (#1926) 2020-05-09 23:41:28 +01:00
Luck
3d358e57ff
Fix group listmembers command behaviour with the default group (#2088) 2020-05-09 19:16:17 +01:00
Luck
bd9ae9dbd5
Cleanup command manager aliases handling 2020-05-09 19:04:50 +01:00
Luck
f281927578
Re-add group/g --> parent alias (#2054) 2020-05-09 18:40:15 +01:00
Luck
665c53093a
Tweak HikariCP config to hopefully improve recovery from database downtime (#2223, #2084) 2020-05-09 18:19:49 +01:00
Luck
10fbc24f43
Add option for Sponge style wildcards on other platforms (#1625) 2020-05-09 17:48:29 +01:00
Luck
6631e9144e
Put Nullable annotations in the right place 2020-05-09 17:32:52 +01:00
Luck
7ae532f082
Add UserManager/GroupManager searchAll method 2020-05-09 17:27:17 +01:00
Luck
1af55e3720
Rename InheritanceHandler --> InheritanceGraphFactory 2020-05-07 03:48:09 +01:00
Luck
fe32aa2d33
Download dependencies in parallel 2020-05-06 02:50:19 +01:00
Luck
f6460c2802
Fix Year 2038 problem for future installs (#2126) 2020-05-06 00:13:19 +01:00
Luck
045c10048d
RedisMessenger support for SSL (#2263) 2020-05-05 17:38:24 +01:00
Luck
308356de80
Refactor group name parsing in commands 2020-05-05 17:24:44 +01:00
Luck
cd25681cd3
Remove special message for error 403
it was a firewall config error at my end after all lol woops
2020-04-28 21:40:52 +01:00
Luck
b17da055af
Increase UserHousekeeper cleanup interval & print debug message when unloading 2020-04-28 13:47:13 +01:00
Luck
99348fce53
Reply with more descriptive message when http requests fail 2020-04-28 13:29:09 +01:00
Luck
c03aca35d6
Add checkTime property to verbose data (#2226) 2020-04-26 10:50:10 +01:00
Luck
07b2df7c7e
Cleanup configuration files slightly 2020-04-23 13:05:39 +01:00
Luck
36335c10a4
Cleanup imports 2020-04-17 17:49:32 +01:00
Luck
14d952a212
Code style 2020-04-16 15:09:01 +01:00
Luck
37e09caac5
Slightly optimize SimpleMetaValueSelector by only invoking the selection strategy if there is a selection to be made 2020-04-16 14:50:44 +01:00
Luck
4d7a6cb658
Add meta-value-selection config setting (#2167) 2020-04-16 14:44:38 +01:00
Luck
cc80fe5105
Cleanup ConfigKeys class a bit 2020-04-09 12:00:32 +01:00
Luck
83e9ac04b2
Optimize VerboseHandler by delaying construction of stack trace array until later 2020-04-07 17:56:56 +01:00
Luck
8cecfe5b7c
Avoid calls to the Bukkit singleton 2020-04-07 17:50:08 +01:00
Luck
54aed80db8
Fix applying track reordering from the webeditor (#2144) 2020-04-06 11:55:49 +01:00
Luck
0d89fc9d28
Revert "Trial using the default Java hostname verifier instead of okhttp's (#2134)"
This reverts commit cee34d0c31.
2020-04-05 17:49:20 +01:00
Luck
cee34d0c31
Trial using the default Java hostname verifier instead of okhttp's (#2134) 2020-04-05 17:41:32 +01:00
Luck
d2e60eb5ac
Attempt to fix issue converting MongoDB document _id to UUID (#2110) 2020-04-05 16:42:09 +01:00
Luck
141d3e26ea
Update dependencies 2020-04-04 22:47:43 +01:00
Luck
9f0fe9e0cb
Use a dynamically generated class instead of a reflection Proxy in NonClosableConnection 2020-03-31 14:29:09 +01:00
Luck
2028d65579
Rename some classes 2020-03-31 13:38:28 +01:00
Luck
6805574553
Use a MethodHandle to call event class constructors 2020-03-30 19:46:30 +01:00
Luck
c3128dec0d
Generate actual classes for LP events at runtime instead of using proxies + InvocationHandlers 2020-03-30 19:19:27 +01:00
Luck
b65639cd76
Ignore empty string world names in Bukkit WorldCalculator (#2119) 2020-03-30 14:32:27 +01:00
Luck
42e9f43443
Store result of primary group calculation in CachedMetaData 2020-03-30 14:13:17 +01:00
Luck
c40ad63291
Slightly refactor AbstractConfigurateStorage#appendNode 2020-03-28 10:22:04 +00:00
Luck
497846e5a6
Run some auto code inspections 2020-03-26 17:01:55 +00:00
Luck
0729be0f0a
Print IOException when uploading web editor data fails (#2087) 2020-03-24 10:44:31 +00:00
Luck
2adea2d3dc
Improve reliability of java version check in ReflectionClassLoader (#2093) 2020-03-24 10:35:13 +00:00
Luck
30d7768299
Fix parsing contexts from commands with server/world = global (#2093) 2020-03-24 10:03:34 +00:00
Luck
779bbb9f88
Fix typo
3973aa1000 (r37923265)
2020-03-19 16:24:14 +00:00
Luck
a721cc0b7c
Remove unused DefaultQueryOptions class 2020-03-19 12:57:52 +00:00
Luck
3973aa1000
Add notice to inform users to ignore 'illegal reflective access' warning messages (#952) 2020-03-19 12:14:17 +00:00
Luck
ac9fe74785
Catch subclasses of Throwable when trying to create a FileWatcher (#2066) 2020-03-19 11:30:19 +00:00
Luck
46c9e3b713
Clarify method name in QuotedStringTokenizer 2020-03-19 11:06:41 +00:00
Luck
3086724e92
Don't print InterruptedExceptions in AbstractFileWatcher (#2044) 2020-03-14 21:26:13 +00:00
Luck
fbac03e372
Remove MinimalApiProvider & refactor usages away from static access 2020-03-13 18:13:12 +00:00
Luck
2518a7c8e5
Fix NPE in QueryOptionsImpl (#2051, #2052) 2020-03-11 11:38:38 +00:00
Luck
bca766c20d
Ensure immutability of QueryOptions options map 2020-03-04 12:45:13 +00:00
Luck
bb3afa21a4
Always store node metadata keys in a HashMap, not IdentityHashMap, and ensure immutability when built 2020-03-04 12:44:47 +00:00
Luck
85451a9a20
Remove legacy import functionality
Users wishing to import data from the old export formats will need to downgrade LuckPerms to a version before this commit, import their data, and then upgrade again.
2020-03-03 11:20:32 +00:00
Luck
d475ace76c
Export users & tracks in a consistent order 2020-03-03 11:03:30 +00:00
Luck
9f3395f256
Fix StringIndexOutOfBoundsException with empty string in QuotedStringTokenizer (#2041) 2020-03-02 22:52:08 +00:00
Luck
c6bda0875c
Change argument tokenizer to support unicode double quote characters (#1999) 2020-03-02 15:28:32 +00:00
Luck
0a3141841c
Rename variable for silent flag 2020-02-27 13:20:14 +00:00
Luck
e66ab1be0d
Properly close file watcher on disable
5ce8217cd5 (r37466536)
2020-02-24 23:45:30 +00:00
Luck
5ce8217cd5
Refactor file watcher 2020-02-24 18:26:52 +00:00
Luck
9f7d431d34
Accept empty contexts.json file as valid 2020-02-11 15:35:16 +00:00
Luck
d937c9ce06
Update commodore to 1.7 2020-02-10 00:45:47 +00:00
Luck
2eabe845d7
Update commodore to 1.6 (#1939) 2020-02-09 15:44:52 +00:00
Luck
4cfee76202
Change layout of library storage 2020-02-09 15:24:04 +00:00
Luck
9546987970
Fix AbstractUserManager to only load users once in #loadAllUsers 2020-02-03 00:44:08 +00:00
Luck
7a624fb449
Add additional call to invalidate cached data during a sync task 2020-02-03 00:30:18 +00:00
Luck
a779b31ca5
Refactor SQL storage implementation 2020-01-25 16:02:37 +00:00
Luck
8fa629a243
Fix/catch IllegalArgumentException when estimating potential world contexts (#1951) 2020-01-25 12:59:41 +00:00
Luck
0864cf756c
Cancel delayed/repeating tasks at the start of the disable process (#1935) 2020-01-25 12:38:24 +00:00
Luck
7e8402b542
Fix compile errors 2020-01-17 10:05:19 +00:00
Luck
abad672bef
Implement support for Vanilla command target selectors (e.g. @p, @r) for Bukkit & Sponge 2020-01-16 17:49:28 +00:00
Luck
e151fbe298
Build against 1.15 APIs 2020-01-16 16:05:19 +00:00
Luck
2ccb475aa0
Cleanup command abstraction classes 2020-01-15 23:54:43 +00:00
Luck
352f3bd263
Ensure response body is closed when a http request is not successful (#1912) 2020-01-10 12:50:40 +00:00
Luck
b73b73e221
Add rewrite rule in legacy importer for for switchprimarygroup command (#1922) 2020-01-09 23:18:05 +00:00
Luck
c1e3660551
Update commodore to 1.5 2020-01-04 23:26:53 +00:00
Luck
a33f326cfc
Fix duration parser handling of weeks, months & years (#1905) 2019-12-31 18:04:03 +00:00