Commit Graph

1487 Commits

Author SHA1 Message Date
Luck
6c34da6b32
Catch another Hikari/classloading issue 2021-01-18 13:18:05 +00:00
Luck
2a44572fb2
Fix non-daemon command manager thread sometimes preventing shutdown 2021-01-16 18:24:10 +00:00
Luck
73230bc9b6
Tidy up node + context comparators a bit 2021-01-14 20:45:51 +00:00
Luck
be1b9d45fa
Show the full redis exception in logger output 2021-01-14 20:43:39 +00:00
Luck
238a4fba75
Rename MapProcessor to DirectProcessor 2021-01-13 18:25:02 +00:00
Luck
33e412f663
Include info about wildcards in permission check command output 2021-01-13 17:55:41 +00:00
Luck
c904ede972
Improve & consolidate permission check commands 2021-01-13 16:40:57 +00:00
Luck
489c09ddfc
Add /lp track <track> editor command (#2752) 2021-01-13 14:33:01 +00:00
Luck
505c073c8e
Add config to control whether display names are returned by the Vault hook 2021-01-09 20:36:08 +00:00
Luck
848c36928f
Fix logging in on Fabric using offline mode (#2810) 2021-01-05 10:30:28 +00:00
i509VCB
21abb94796
Fabric (#2029) 2021-01-04 15:23:54 +00:00
Luck
0a99a96188
Tidy up Node add/remove/clear API events 2021-01-02 21:16:45 +00:00
Luck
a8b1dc8c07
Only store ids of received messages for 1 hour to prevent high memory usage on instances with high uptime (#2807) 2021-01-02 20:08:56 +00:00
Luck
c3581c00d3
Fix verbose command no checks message format 2021-01-02 00:50:18 +00:00
Luck
8124a17adb
Conserve expiry time when promoting/demoting (#2794) 2021-01-01 20:25:47 +00:00
Luck
d83559b949
Change permission tree size limits to be less restrictive 2021-01-01 18:17:56 +00:00
Luck
8167fbf73f
Give false default permissions priority over wildcards
I think this is a good compromise. It won't apply to registered permissions that are defaulted to 'op' (Bukkit) or 'undefined' (Sponge), only to those that are specifically set to false.

The change is configurable, enabled by default for new installs of LP.

Will hopefully go some way to resolving:
- #2787
- https://v2.nucleuspowered.org/docs/nowildcard.html
- NucleusPowered/Nucleus#1093 (and related)

cc: @dualspiral @slipcor
2020-12-23 14:36:31 +00:00
Luck
8dfeef9575
Some misc tidying up 2020-12-23 12:16:14 +00:00
Luck
5c44333892
Move migration commands to a separate jar 2020-12-22 14:53:22 +00:00
Luck
142cdc8e89
Add some unit tests
This is a start at least.. I have some catching up to do!
2020-12-22 14:40:29 +00:00
Luck
abb608b856
Support Bukkit-Forge hacks which add enum constants at runtime (#2779) 2020-12-20 15:45:57 +00:00
Luck
c28b1949a9
Process 'give default if needed' when saving instead of after each change made in the API (#2775) 2020-12-18 19:17:01 +00:00
Luck
8ef871f6db
Fix bug with NodeMap#remove (#2772) 2020-12-15 14:31:04 +00:00
Federico López
fa89236e48
Fix translation key used for parent clear (#2773) 2020-12-14 21:49:25 +00:00
Luck
e6a5cb06af
Include note in verbose command-exec-as response if there were no matches (#2734) 2020-12-14 15:11:49 +00:00
lucko
478fddc486
Track individual changes to users/groups instead of writing in full on each save (#2767) 2020-12-13 13:08:15 +00:00
Luck
97d1deec9c
Slightly optimize weight and display name lookups 2020-12-11 10:38:57 +00:00
Luck
45188c6334
Fix NPE from null path in AbstractFileWatcher (#2759) 2020-12-09 18:21:54 +00:00
Luck
17f67f6e13
Use case insensitive LIKE command on H2 databases (#2760) 2020-12-09 18:08:17 +00:00
Luck
39a5ccf9a9
Some tidying up 2020-12-09 10:46:22 +00:00
Luck
5fbb80f16a
Ensure meta keys are always lowercase, and fix 'similar' comparison case sensitivity (#2760) 2020-12-09 10:38:22 +00:00
Luck
798a539024
Fix saving to flatfile storage when sections become empty (#2755) 2020-12-05 14:28:54 +00:00
Luck
645efb0e5b
Cleanup applying bulkupdates to Node objects directly 2020-12-05 14:27:32 +00:00
Luck
7d7d40b087
Add some missing arg-based permission checks 2020-12-04 14:12:36 +00:00
Luck
e183f520d6
Cleanup EventDispatcher and some other minor tidying 2020-12-01 23:31:20 +00:00
Sven Arends
727c2f92c3
PowerRanks migration (#2718) 2020-11-26 17:52:31 +00:00
Luck
fdd3b117f1
Reduce translation cache refresh slightly to 23 hours 2020-11-26 17:24:37 +00:00
Luck
8a38c5f4b7
Properly open URLClassLoader module on Java 9+ to allow reflection and avoid access warning (#952) 2020-11-26 15:52:39 +00:00
Luck
53fb46ee85
Expose uuid/username lookups and validity checks as events in the API 2020-11-23 23:54:02 +00:00
powercas_gamer
e851234723
Remove debug command & add more usages to commands (#2725) 2020-11-18 23:52:26 +00:00
Federico López
26f7dfcb24
Fix .verbose.enabled and enabled-recording args (#2732) 2020-11-18 23:51:32 +00:00
Luck
d1b53f65ae
Cleanup flatfile database handling 2020-11-16 01:17:24 +00:00
Luck
c39749e526
Use a better approach for avoiding MySQL driver sharing 2020-11-14 14:10:54 +00:00
Luck
23c7eb79d0
Fix leftover code in MariaDbConnectionFactory 2020-11-14 13:50:37 +00:00
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