Commit Graph

1122 Commits

Author SHA1 Message Date
Luck
7b8426977a
Switch text dependency back to 1.11 (#1404) 2019-01-28 10:39:08 +00:00
Luck
d9912cb93f
Update some dependencies 2019-01-27 22:51:05 +00:00
Luck
1d9fc568e4
Fix calling default methods on Event interfaces (#1386) 2019-01-16 14:43:55 +00:00
Luck
3c0d1ba7a1
Ensure caches are invalidated when Bukkit/Nukkit's Permission#getChildren map is modified (#1378) 2019-01-13 16:58:31 +00:00
Luck
d3ae3324fa
Allow the bytebin url to be configured 2019-01-12 12:02:16 +00:00
Luck
4b97c9419e
Finish updating commodore
woops
2019-01-07 21:29:28 +00:00
Luck
9b1c73ed23
Implement use of a Maven Central mirror for dependency downloads
People keep telling me that LP's use of Maven Central for downloading dependencies is not allowed / inappropriate / abusive. I disagree but I'm bored of hearing it. Using a mirror will mean that all of the load is taken off of Central, and is instead absorbed by my servers + (mostly) Cloudflare.

- The mirror is (currently) hosted at https://nexus.lucko.me/repository/maven-central/
- The prospect of the mirror becoming compromised is not a concern. LuckPerms compares the downloaded content against a checksum before saving it.
- The prospect of the mirror going offline is also not a concern. We will fallback to Maven Central if a connection cannot be made to the mirror.
2019-01-07 16:56:16 +00:00
Luck
048768007d
Change the way static contexts are displayed in /lp info 2019-01-07 15:44:54 +00:00
Luck
ec7a5321a6
Some misc refactoring / code cleanup 2019-01-07 15:08:13 +00:00
Luck
c396323308
Log exceptions thrown by BufferedRequest tasks 2019-01-05 23:06:57 +00:00
Luck
6fc2321fad
Refactor PlayerLoginProcessEvent
This is technically a breaking change, but I'm fairly sure I'm the only person using this event. It's quite obscure ;p
2019-01-02 13:54:55 +00:00
Luck
a0d04790a5
Update text-adapter-bungeecord to 1.0.2 (#1362) 2019-01-01 15:33:18 +00:00
Luck
c4154c09da
Remove SQL indexes on the permission field 2018-12-23 21:56:51 +00:00
Luck
8eed3131f2
Fix sending component messages on older CB/S releases (#1344) 2018-12-23 16:52:00 +00:00
Luck
2ccffc6e6d
Fix error message when event handlers throw an exception 2018-12-22 17:03:51 +00:00
Luck
fc69002c86
Fix wrong checksum for text-adapter-bukkit 2018-12-19 14:36:20 +00:00
Luck
e3a6db5f97
Refactor ProgressLogger slightly 2018-12-19 10:39:48 +00:00
Luck
6d8077ffd0
Use text-adapter-bukkit for sending Components to Bukkit objects 2018-12-19 10:29:22 +00:00
Luck
784161d66d
Update okhttp and okio versions 2018-12-19 10:06:36 +00:00
Luck
2cb5e437fd
Switch default MySQL/MariaDB charset from utf8 to utf8mb4
https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434
Relates to #1337
2018-12-18 16:02:25 +00:00
Luck
8c57c2b46d
Remove static imports 2018-12-18 12:51:26 +00:00
Luck
879a88a398
Account for 'allow-invalid-usernames' setting in API calls 2018-12-18 12:50:52 +00:00
Luck
4b1cf51530
replace LoadingCache with more simple LoadingMap alternative when no auto expiry is needed 2018-12-14 18:37:56 +00:00
Luck
de24817d9c
Some node equality changes 2018-12-14 17:27:34 +00:00
Luck
1aabd7610e
Tweak PlayerSaveResult javadoc 2018-12-10 15:33:38 +00:00
Luck
757e9d6be6
Add API method to get known permissions & improve the way PermissionDescriptions are migrated from existing Sponge services when LP enables 2018-12-07 14:07:54 +00:00
Luck
b3a028e3ca
Refactor AbstractConnectionListener for the addition of Velocity support 2018-12-07 13:36:38 +00:00
Luck
e222e4e98c
Missing nullability annotations 2018-12-07 13:33:05 +00:00
Luck
b7ff0824b9
Optimize context set manipulation 2018-12-06 14:02:41 +00:00
Luck
7b5917660c
Implement LoadingMap using Guava's ForwardingMap utility 2018-11-28 12:35:38 +00:00
Luck
1544487e92
Convert permissions to lowercase inside the cache
Slight optimization, toLowerCase is a relatively expensive call in the scheme of permission checks.
2018-11-24 13:09:26 +00:00
Luck
e8c4a55dc3
Cache the most recent lookup for permission/meta data in AbstractCachedData.
This avoids a (somewhat) costly lookup operation involving Contexts comparison. It aims to be effective on the basis that lookup calls within the same period of time are likely to target the same context (and therefore have the same result).
2018-11-24 01:17:42 +00:00
Luck
97d6aaed5c
Experiment with different cache implementation in PermissionCalculator
Caffeine seems to just fallback to a ConcurrentHashMap based implementation in this case anyway.
2018-11-24 00:15:56 +00:00
Luck
e07f8c0fbe
Don't send 1.13 tab completions to players without access to any LP commands (#1310) 2018-11-22 15:07:55 +00:00
Luck
90246afd03
Some misc refactoring 2018-11-22 14:51:20 +00:00
Luck
9809e591ad
Reorganise some packages 2018-11-10 23:16:28 +00:00
Luck
26973461e7
Don't show negated group membership permissions in the output to 'user info' and 'group listmembers' 2018-11-10 22:42:54 +00:00
Luck
58ab3c325c
misc tidying up 2018-11-10 20:21:08 +00:00
Luck
5dda522a62
Add option to deduplicate prefix/suffix stacks (#1285) 2018-11-06 14:29:15 +00:00
Luck
f63992e209
Return a more informative error for invalid verbose filters 2018-11-06 13:16:07 +00:00
Luck
9988011308
Improve the way meta lookups are caught & reported to the verbose handler 2018-11-06 13:15:30 +00:00
Luck
42c8cb1354
Use the fragment identifier instead of query parameters to convey the editor/verbose/treeview data id
This fixes the issue Multicraft panels have with displaying ? characters in console. (absolute quality)
2018-10-28 22:32:02 +00:00
Luck
aaeaf5cfa0
Nicer format for verbose meta logging 2018-10-28 21:56:42 +00:00
Luck
45b4e1463f
Match the type in verbose filters 2018-10-28 15:18:02 +00:00
Luck
be92a67544
Increase verbose stacktrace truncation length for web outputs 2018-10-28 12:40:56 +00:00
Luck
5e0b8ebdf6
Include meta lookup events in verbose output 2018-10-28 12:31:47 +00:00
Luck
9d4ccd33e1
Update commodore for tab complete fix (#1257) 2018-10-26 20:21:00 +01:00
Luck
f5c42c70e5
Catch Throwable instead of Exception when calling context calculators
Related to:  lucko/ExtraContexts#4
2018-10-15 22:32:52 +01:00
MrMicky
ee2de3cff1 Some minor code cleanup (#1262) 2018-10-09 18:00:53 +01:00
Luck
f96518b8e4
misc tidying 2018-10-07 19:48:20 +01:00
Luck
dac59966aa
Setup gradle license format check 2018-09-24 13:52:59 +01:00
Luck
8115fbaa98
Refactor storage system 2018-09-23 21:49:49 +01:00
Luck
8b97439ffc
Use the correct permission check method when forming tree views 2018-09-23 19:53:37 +01:00
Luck
fa83986250
Refactor Constraint/Comparison impls for bulkupdate 2018-09-23 19:53:16 +01:00
Luck
e1b16465f8
Fix race condition in BufferedRequest 2018-09-23 19:52:42 +01:00
Luck
57619dacb1
Update commodore to 1.1 2018-09-23 15:40:33 +01:00
Luck
1cc156d6f6
Fix buildscript deployment config for Sonatype 2018-09-23 14:30:09 +01:00
Imortalshard
1445a3faec Fix typo in the description of /lp export (#1229) 2018-09-23 11:28:48 +01:00
Luck
8e344cea76
Cleanup imports 2018-09-20 21:17:28 +01:00
Luck
5b1229c882
Fix slf4j loading (#1224) 2018-09-20 21:17:00 +01:00
Luck
834649b390
Improve Uuids#parse
thanks @kashike
2018-09-20 15:30:22 +01:00
Luck
d28170cc3f
Operations to add new nodes with differing values should just override existing entries, instead of failing with the ALREADY_HAS result (#1198) 2018-09-20 11:25:31 +01:00
Luck
04e511026d
Detach from permissible objects with a 1 tick delay after player quit to allow plugins listening on monitor to still access data (#1220) 2018-09-20 11:07:20 +01:00
Luck
3941c77826
Move from findbugs jsr305 to checker-qual 2018-09-19 20:40:25 +01:00
Luck
dd78e0e271
Separate formatted vs plain display name methods in User/Group
Continues from 3c773e6823 & #1210
2018-09-10 16:54:16 +01:00
Max Lee
3c773e6823 Use neutral color to display potentially colored names - fixes #1170 (#1210) 2018-09-10 16:41:14 +01:00
Luck
eca6b09b18
Refactor config keys 2018-09-05 20:49:37 +01:00
Luck
b7f8ca6658
Add 'require-sender-group-membership-to-modify' config option (#1140) 2018-09-05 15:49:29 +01:00
Luck
ffdeadac8a
Add flag to prevent users from being added/removed to/from the first group on a track (#1151) 2018-09-05 15:15:15 +01:00
Luck
9e769904bf
Expose TemporaryMergeBehaviour in the API (#1189) 2018-09-05 11:11:45 +01:00
Luck
8d79ec6b07
Rename "update task" --> "sync task" 2018-09-04 21:11:03 +01:00
Luck
3a123f9fa1
Avoid running full "update tasks" unless they're absolutely needed. Process Vault API "set" requests immediately instead of in the background 2018-09-04 21:02:40 +01:00
Luck
f0c0328919
Refactor MetaAccumulator to be a little more sane 2018-09-04 20:33:22 +01:00
Luck
76517374a2
Only allow import and export commands to interact with files in the data directory (#1193) 2018-09-02 22:20:29 +01:00
Luck
2da027f3b5
Revert MySQL driver update 2018-09-02 20:04:26 +01:00
Luck
fd712f131f
Update some dependency versions 2018-09-02 16:36:28 +01:00
Luck
ec9060ba80
Update messenger log prefixes 2018-08-31 20:22:31 +01:00
Luck
502d57e744
Optimize event generation & other misc improvements 2018-08-27 22:11:03 +01:00
Luck
c59f2ab37a
Don't call NodeAddEvent when adding the default group (#1177) 2018-08-27 22:06:49 +01:00
Luck
066189b486
Send a more informative message when the bulkupdate command is used from in-game 2018-08-27 18:25:57 +01:00
Luck
55220e9d10
Add support for Velocity 2018-08-26 22:24:46 +01:00
Luck
bd41286076
Fix build 2018-08-26 18:45:33 +01:00
Luck
d84484c81c
Optimize event generation and posting 2018-08-26 10:28:04 +01:00
Luck
fec87d4c6a
Update event to 3.0.0 2018-08-16 20:01:26 +01:00
Luck
a784ad435f
Fix applying group web editor changes (#1148) 2018-08-13 22:44:10 +01:00
Luck
cc9bb34873
Update kyori/event dependency 2018-08-13 20:03:57 +01:00
Luck
56c55d71fe
Improve the way Vault lookups for offline players are handled (#1150)
1) The behaviour of online player lookups is unchanged - this only affects offline player data lookups.
2) If a 'offline player' request is made from an async task, it is executed normally. (the data is loaded)
3) If a 'offline player' request that cannot be immediately fulfilled is made from the main server thread, an exception is thrown.

The exception thrown as a result of 3) can be disabled in the config. In this case, the query is performed anyway. The main server thread will block until the request is complete.
2018-08-11 19:02:57 +01:00
Luck
56df15caf8
Add bukkit-legacy build back to the main project 2018-08-11 18:11:30 +01:00
Luck
03720665b3
Move to gradle 2018-08-10 20:39:29 +01:00
Luck
445429b510
Update text & asm dependencies (fixes #1142)
Updates for:
6a7fda4e80
2018-08-10 00:09:34 +01:00
Luck
c698587d53
Update text dependency 2018-08-09 22:43:41 +01:00
Luck
b8466beee5
Completely rework event system
* Event instances are now generated dynamically at runtime. The performance hit of creating proxies at runtime is negligible in this case.

* A better EventBus implementation is now being used internally, API contracts are unaffected.
2018-08-09 22:39:33 +01:00
Luck
efa666445f
Initial support for Brigadier (1.13 commands) on Bukkit servers 2018-08-08 23:42:25 +01:00
Luck
59c7d77525
Load a up-to-date copy of group data before applying web editor changes 2018-08-08 09:00:35 +01:00
Luck
553da9baf6
Give some form of feedback when trying to applyedits no changes instead of no feedback at all (#1136) 2018-08-08 08:58:58 +01:00
Luck
486ddb3d42
Don't include any database properties by default (#1134) 2018-08-05 21:59:48 +01:00
Luck
381922fc02
Don't schedule a delayed load task on startup (#1130) 2018-08-05 21:51:53 +01:00
Luck
4c891f0819
Fix uppercase inconsistencies when saving users to SQL storage types (#1119)
This was causing issues when user data was saved, without UUID data being saved beforehand.

This commit fixes the way the inconsistency was introduced, and ensures that inconsistent data is made consistent in the future. (when players next login)
2018-07-30 11:22:50 -07:00
Luck
4b3d11ccab
More SQL escaping (#1091 & #1126)
Follows from c16630c32b
2018-07-29 17:14:48 -07:00
Luck
b1ab465991
Misc cleanup 2018-07-29 17:12:05 -07:00
Luck
952e41ad3d
A few API javadoc improvements 2018-07-27 23:45:16 -07:00
Luck
054f0c2c19
Don't add spaces when formatting 'concise' durations 2018-07-24 20:59:49 -07:00
Luck
2f7fce2109
Change name of Sql messenger table for compat with changes in the previous commit 2018-07-15 22:49:09 -07:00
Luck
07469599bc
Rewrite MessagingService message encoding, conform to new plugin message channel requirements
* This change isn't backwards compatible with previous builds, this version (& onwards) won't be able to "communicate" with old versions, and vice versa.

* MC 1.13 requires plugin message channel names to be namespaced, so 'lpuc' has been changed to 'luckperms:update'

* The channel names for Redis/Lily types have also changed, I've been wanting to change the encoded format to something a bit saner for a while, and this seemed like a good time. Changing the channel names a) keeps things consistent and b) means I don't have to worry about old versions interpreting the new format.
2018-07-15 22:42:37 -07:00
Luck
08869da96e
misc cleanup 2018-07-13 17:51:30 -07:00
Luck
7540a6eb70
Send more appropriate message when no users/groups match the editor type (#1096) 2018-07-13 17:51:21 -07:00
Luck
fa2d9357b8
Allow FileWatcher locations to be registered after initial start 2018-07-12 17:10:07 -07:00
Luck
247a40b65f
Fix /lp search for groups when using separated file storage (#1094) 2018-07-12 16:35:32 -07:00
Luck
01ffe6ad5a
Use synchronized wrapper for NodeMap backings 2018-07-12 09:50:10 -07:00
Luck
c16630c32b
Escape groups keyword in SQL queries to (hopefully) fix compat with newer versions of MySQL (#1091) 2018-07-11 13:09:20 -07:00
Luck
bf64f465a8
Re-implement Bukkit 1.7.10 support 2018-07-01 15:31:28 +01:00
Luck
c1e0b874d8
Add helpful message for users on first startup 2018-07-01 15:07:25 +01:00
Luck
c780266139
Add setprefix, setsuffix, settempprefix, settempsuffix commands (#840) 2018-06-27 17:31:30 +01:00
Luck
08454d58d0
Refactor the way contexts are cached on all platforms (#1071)
Should fix memory leak issues on BungeeCord
2018-06-27 00:17:53 +01:00
Luck
ee13540d78
Specify explicit global context in generated LP commands when default contexts have been set (#1062) 2018-06-26 14:39:18 +01:00
Luck
379eb00b69
Cleanup various message localisations, limit the size of the PermissionRegistry 2018-06-19 22:27:47 +01:00
Luck
2036127612
Cleanup action log formatting and pagination
This is technically a breaking change to the API, but I'm fairly certain hardly anyone is using these methods (the pagination functionality in the API is pretty useless)

Can always add them back if it becomes an issue
2018-06-18 16:08:18 +01:00
Luck
6b305972ac
Fix sponge build script 2018-06-16 18:41:53 +01:00
Luck
b8c06904ab
Make logging messages a bit less obnoxious
* Removed the ascii text from the startup output
* Log messages (but not command output) is now sent through the standard server logger, and isn't colored
2018-06-16 16:59:59 +01:00
Luck
6baa472567
Fix context cache invalidation 2018-06-15 19:07:24 +01:00
Luck
9c449def57
Update some dependency versions 2018-06-13 20:29:00 +01:00
Luck
e4acc133a9
remove some unnecessary interfaces 2018-06-12 18:18:38 +01:00
Luck
194790110d
Fix node comparison for identical nodes except the value 2018-06-07 19:58:55 +01:00
Luck
30ce269873
Disable hikari leak detection (#1033) 2018-06-05 20:33:23 +01:00
Luck
4d7be13c16
Don't reload Sponge persisted subjects when a save is pending 2018-06-03 20:46:50 +01:00
Luck
8cf0f7da5f
Improve buffering code 2018-06-03 19:36:55 +01:00
Luck
bcb4e5ca64
cleanup various comparators 2018-05-31 23:41:37 +01:00
Luck
c66622bd09
Fix regex permissions not really working properly (#1021) 2018-05-29 14:45:21 +01:00
Luck
b7de0e6901
Provide an even more detailed warning message when other uuids are present for a username
We can use the data we have about the UUID and the platform LP is running on to infer more information about what the problem (potentially) is.
2018-05-25 17:05:26 +01:00
Luck
a90e59ec97
Fix cache invalidation when group data changes (#1010) 2018-05-21 18:48:47 +01:00
Luck
45e2b7b12f
Fix saving node attributes on non-YAML file storage types (#999) 2018-05-16 19:30:05 +01:00
Luck
20f992110d
Refactor meta stack element creation, add 'from_group' & 'not_from_group' elements 2018-05-16 18:46:25 +01:00
Luck
18f09f9862
Various performance optimizations 2018-05-15 00:08:23 +01:00
Luck
a0be1c7c48
Fix issue with Bukkit attachment permissions never being removed (#991) 2018-05-13 14:06:23 +01:00
Luck
1639879106
Reduce the number of config lookups required when calculating contexts 2018-05-12 01:51:38 +01:00
Luck
a927ca659f
Reduce the throughput on the contexts cache in ContextManager (#929) 2018-05-12 01:34:34 +01:00
Luck
804c884d8b
Update configurate to fix issues with legacy guava compat 2018-05-06 19:57:50 +01:00
Luck
51f215b8ac
Add PlayerDataSaveEvent 2018-05-06 18:21:14 +01:00
Luck
64838708ab
Release version 4.2.0
blaze it
2018-05-06 17:16:36 +01:00
Luck
91b7af52ac
Use the servers uuid cache in the output to /lp search if LP doesn't have data (#974) 2018-05-06 16:20:08 +01:00
Luck
022b385c0a
Fix /lp search query (#972) 2018-05-05 18:39:13 +01:00
Luck
7ee9b93365
Convert bulkupdate & search functionality to use PreparedStatements (#972) 2018-05-05 18:17:48 +01:00
Luck
c4c98aaabf
Improve the behaviour of the APIs (now somewhat redundant) holder refresh method 2018-05-04 23:17:06 +01:00
Luck
10c0efaa5d
Fix bad caching logic resulting in super high CPU usage 2018-05-04 23:12:46 +01:00
Luck
d8a7d8de4a
Throw a more detailed error when database connection info is missing 2018-05-04 21:27:57 +01:00
Luck
ab8b675bae
Add flag to exclude users from an export (#961) 2018-05-04 18:19:52 +01:00
Luck
194b602fd6
Implement different comparison methods for /lp search (#917) 2018-05-04 18:11:11 +01:00
Luck
7da0c58b76
Improve consistency of contextual primary group caching 2018-05-04 17:24:40 +01:00
Luck
2dbbea4993
Remove the locks in NodeMap to ease thread contention when lots of processes are resolving inheritance & refactor the way LocalizedNodes are created (#734) 2018-05-04 16:16:12 +01:00
Luck
a6facf7492
Refactor the way holder caches are invalidated in order to improve consistency (#734) 2018-05-03 19:36:10 +01:00