Commit Graph

1334 Commits

Author SHA1 Message Date
Luck
ae63a42c2e
Slightly optimize regex and wildcard processors 2019-02-21 12:37:23 +00:00
Luck
8773ec07ab
Include processor & cause in verbose hover message 2019-02-19 23:30:11 +00:00
Luck
287cc308d6
Fix parsing log entry types (#1438) 2019-02-19 14:17:33 +00:00
Luck
4ef3d50965
Properly implement ContextManager#unregisterCalculator (#1422) 2019-02-09 11:50:00 +00:00
Luck
dae64fc8c4
Cleanup some of the Sponge permission holder implementation code 2019-02-07 15:35:09 +00:00
Luck
215031a1f3
Close messaging service before storage
Fixes https://www.spigotmc.org/threads/174259/page-129#post-3302827
2019-02-07 12:38:24 +00:00
Luck
85d2f0b51f
Add method to unregister context calculators (#1422) 2019-02-07 12:24:23 +00:00
Luck
1a690dabd7
Implement NodeMap without using Guava's Multimap util (#1416) 2019-02-04 20:35:20 +00:00
Luck
526448ce40
Don't try to set unicode connection properties for PostgreSQL (#1134) 2019-02-04 19:36:53 +00:00
Luck
307614e704
Cleanup import statements 2019-01-31 00:53:42 +00:00
Luck
f6c0794691
Return more detailed information about exactly how a permission check result was determined 2019-01-31 00:45:56 +00:00
Luck
83db00aef8
Better null checking in HikariConnectionFactory (#1408) 2019-01-30 16:24:30 +00:00
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
Luck
b8a1871cf1
Fix guava being accidentally shaded 2018-05-03 13:46:17 +01:00
Luck
f556c75d94
Allow display names to be set in specific contexts (#963) 2018-05-02 21:27:21 +01:00
Luck
58bd7de66a
Implement equals, hashcode and toString for NodeTypes 2018-05-02 20:35:20 +01:00
Luck
4547b52748
Refactor extended node types, general cleanup 2018-05-02 20:18:57 +01:00
Luck
b9acb84119
Optimize WildcardProcessor 2018-05-01 00:20:39 +01:00
Luck
e3a783c546
Maybe fix problems with symlinks (#956) 2018-04-30 14:44:09 +01:00
Luck
2e136666be
Remove storage buffers 2018-04-29 11:33:51 +01:00
Luck
7d089cb5f0
Refactor configurate deo serialization of permission data, add support for the TOML format 2018-04-28 21:26:59 +01:00
Luck
fef6ebf793
Context set values should be lowercase'd too 2018-04-26 19:51:05 +01:00
Luck
316e177c1d
Exclude temporary file changes from FileWatcher (#945) 2018-04-26 18:44:53 +01:00
Luck
4cdff14c7c
Apply improvements to the caches in AbstractContextManager (#929) 2018-04-25 21:14:16 +01:00
Luck
97121bc719
Add some missing null check annotations 2018-04-25 21:02:17 +01:00
Luck
1312aac349
Add promote and demote methods to the API (#938) 2018-04-25 19:58:56 +01:00
Bogdan
8a5c9ddef2 Added explicit column names in INSERT queries. (#939) 2018-04-25 18:27:28 +01:00
Luck
ba51f803ba
add more logging to the importer 2018-04-25 17:15:30 +01:00
Luck
7d90dba08b
Update some dependency versions 2018-04-21 23:26:34 +01:00
Luck
f11ebe6166
Replace file logger with json based system 2018-04-21 18:16:35 +01:00
Luck
1b917f0901
Fix init error in SeparatedConfigurateDao (#924 & #925) 2018-04-21 17:03:59 +01:00
Luck
328353d053
Implement the option to combine yaml/json/hocon storage files into one 2018-04-20 21:59:32 +01:00
Luck
4e87489dc1
Output meta in inheritance order in the 'meta info' command (#908) 2018-04-20 15:04:29 +01:00
Luck
8e5bcdd5ea
Move schema files to a namespaced package (#899) 2018-04-20 14:59:06 +01:00
Luck
4704c5c975
Add full diff to the log when webeditor data is applied (#922) 2018-04-20 14:06:35 +01:00
Luck
957365ab91
refactor inheritance graphs slightly 2018-04-20 14:00:50 +01:00
Luck
cb185e4827
Minor misc changes 2018-04-08 22:58:15 +01:00
Luck
f5c6b9e3d4
Add 'permission clear' command (#893) 2018-04-04 18:46:01 +01:00
Luck
f33c540efb
Register Sponge PermDescriptions to the LP permission registry 2018-04-03 21:56:15 +01:00
Luck
7684ac5d3a
Add extra parameter to EventBus#subscribe which allows a handler to be bound to a plugin 2018-04-02 17:26:02 +01:00
Luck
c13b01da01
misc cleanup 2018-04-02 16:02:55 +01:00
Luck
3453f05aca
Copy usernames in the GroupManager migration (#883) 2018-04-02 13:34:30 +01:00
Luck
c8bb85a06b
Don't intern strings in permission checking process 2018-03-31 22:13:10 +01:00
Luck
2aabc9902f
Rename verbose paste to verbose upload 2018-03-31 22:09:58 +01:00
Luck
6dba778e60
Catch exceptions thrown in repeating tasks to avoid subsequent executions from being cancelled 2018-03-31 11:13:27 +01:00
Luck
cbeaaca7af
Fix shutdown hang (#881) 2018-03-31 11:11:42 +01:00
Luck
0e69c8902d
Revert f63d6cf 2018-03-31 10:26:22 +01:00
Luck
f63d6cfced
Properly escape sql query for loadTrack (#877) 2018-03-30 21:50:03 +01:00
Luck
509e89b9cf
Clarify the showtracks output (#862) 2018-03-30 11:58:32 +01:00
Luck
90cce19baf
Make the world-rewrite map case insensitive (#863) 2018-03-30 11:54:17 +01:00
Luck
e4e93b1af1
Improve the way player uuid data is saved/stored. Add a warning message to catch ip forwarding issues 2018-03-29 21:46:55 +01:00
Luck
4923d10b86
Encode editor payload using UTF-8 (#841) 2018-03-18 20:58:33 +00:00
Luck
bd3a4e1ad7
Fix Sql messenger table name & bug which meant entries were only received after a 1 min delay 2018-03-18 18:58:53 +00:00
Luck
0f99a6c5ca
Fix recursive proxying in PhasedStorage
ugh
2018-03-18 18:31:30 +00:00
Luck
0150da94a8
Apply table prefix to the SQL messenger 2018-03-18 17:38:52 +00:00
Luck
b8da286f64
Replace huge forwarding classes with java Proxy instances 2018-03-18 17:36:07 +00:00
Luck
da797f154d
Implement Messaging Service using SQL (#534) 2018-03-18 16:02:04 +00:00
Luck
d1e76f401a
Reorganise the default configuration 2018-03-17 21:03:50 +00:00
Luck
4773934481
Fix race condition in the import process (#833) 2018-03-14 22:01:52 +00:00
Luck
dbfc524180
Fix NPE in Message#asString (fixes #822, #823, #824) 2018-03-13 15:30:35 +00:00
Luck
60aa7c6104
Fix compile 2018-03-12 21:27:23 +00:00
Luck
907d716929
Reorganise commands 2018-03-12 21:25:39 +00:00
Luck
1689a8abe2
Fix adding null json values (#818) 2018-03-12 19:01:38 +00:00
Luck
5db3820df4
A few minor API javadoc changes 2018-03-12 18:58:11 +00:00
Luck
cde2306079
Compress editor/verbose/treeview data using gzip before uploading 2018-03-09 16:21:45 +00:00
Luck
f6c440c172
Further improvements to the Sponge service design 2018-03-08 21:51:25 +00:00
Luck
1b98667365
Fix IsolatedClassLoader on Java 9 (#815) 2018-03-08 18:36:41 +00:00
Luck
bf69d5314e
Implement Sponge subject lookup queries using CachedData from LP common 2018-03-07 23:50:23 +00:00
Luck
0d89840179
Reduce the number of entries sent to the verbose viewer, cleanup old hikari try..catches 2018-03-03 20:41:46 +00:00
Luck
68e4d36f40
Extract common plugin behaviour into an abstract class 2018-03-03 16:26:37 +00:00
Luck
cd5447de38
Submit users/groups to the editor in weight order 2018-03-01 18:26:32 +00:00
Luck
6c0bb61cb1
Remove sponge migration commands 2018-03-01 11:03:22 +00:00
Luck
8f82ef7eb4
Add copyFrom method to Node.Builder 2018-03-01 09:19:26 +00:00
Luck
fbe84322b5
Cleanup parts of the sponge service implementation 2018-03-01 08:48:39 +00:00
Luck
98fb9946e4
Refactor Contexts class 2018-02-28 19:13:21 +00:00
Luck
984bc5860f
Set allow-invalid-usernames to true by default for Nukkit (#798) 2018-02-26 17:35:34 +00:00
Luck
6704ac4b46
Fully relocate the jedis driver 2018-02-24 18:20:56 +00:00
Luck
4e4ec8e608
Bump caffeine & hikari version 2018-02-24 14:15:51 +00:00
Luck
b2175e885f
Fix compat with older Gson versions (#791) 2018-02-24 13:50:38 +00:00
Luck
168e712324
Update API to 4.1 2018-02-23 22:13:41 +00:00
Luck
2889c28815
Separate prefix/suffix/meta nodes into their own section within yaml/json/hocon storage files 2018-02-23 15:59:12 +00:00
Luck
966bf8bf51
Replace deprecated method usage in NodeTools 2018-02-23 14:20:30 +00:00
Luck
63ff3c34b3
Fix default assignment expressions checking temporary permissions (#783) 2018-02-22 23:38:26 +00:00
Luck
736105cc12
Add node equality predicates, and provide way to determine hasPermission behaviour using them (#782) 2018-02-22 23:34:35 +00:00
Luck
31d435dc2b
Update web related functionality to point to new locations and APIs (#770) (#784) 2018-02-22 22:09:37 +00:00
Luck
da9977a30f
Fix compile and some minor formatting errors 2018-02-20 20:15:48 +00:00
Andrew
9c92522564 MongoDB Replica Set connections cannot resolve (#776 & #777) 2018-02-20 19:59:29 +00:00
Luck
31e436868d
Nukkit support (#764) 2018-02-18 15:10:35 +00:00
Luck
794455d728
Refactor bulkupdate comparisons 2018-02-16 22:25:19 +00:00
Luck
0adf85746d
Abstract out the process of traversing the inheritance tree, add configurable option to choose which algorithm to use (#719) 2018-02-16 17:46:17 +00:00
Luck
765f9d2545
Remove old schema migration code, cleanup a bit 2018-02-16 13:19:43 +00:00
Luck
0b5588a7dd
Cleanup temporary permission auditing process 2018-02-16 12:35:25 +00:00
Luck
4fda89d5c8
Wrap unimportant sql migrations in try..catch (#755) 2018-02-16 12:13:15 +00:00
Luck
b8c5c60ece
try to fix null proxySelector issue with okhttp 2018-02-15 22:20:11 +00:00
Luck
a3730aceeb
i'm a dummy 2018-02-15 22:08:42 +00:00
Luck
df5240a67c
Lazily initialise Http client 2018-02-15 22:03:53 +00:00
Luck
620b0c898c
Add ability to edit multiple users/groups in the same editor session 2018-02-12 22:04:39 +00:00
Luck
02ac4bc48b
Allow temporary-add-behaviour to be defined as an argument to the add/set commands (#747) 2018-02-10 22:04:53 +00:00
Luck
d14310768c
Allow bulkupdates without constraints (#746) 2018-02-10 21:51:57 +00:00
Luck
63f8e8849f
extract WeightCache out of PermissionHolder 2018-02-10 21:27:02 +00:00
Luck
7e7268bb5a
Filter expired entries from user/group bulk permission search results (#736) 2018-02-07 18:03:25 +00:00
Luck
fd937e3209
Refactor permission processors, misc cleanup 2018-02-04 18:39:34 +00:00
Luck
31df29194b
Add source to UserPromote & UserDemote events (#722) 2018-02-01 21:33:32 +00:00
Luck
fe200ca1ec
Add API methods to load users/groups/tracks and return a future encapsulating the resultant object instead of a success flag 2018-01-30 15:55:36 +00:00
Luck
7f7116e1c7
Use OkHttp for web requests 2018-01-30 00:08:00 +00:00
Luck
0cc1c4e5a7
fix build, refactor Bukkit model classes 2018-01-28 14:18:53 +00:00
Luck
2bc56de1c3
Don't store API delegate instances for all users 2018-01-28 00:26:58 +00:00
Luck
e28d15456c
Update some dependencies 2018-01-25 23:31:31 +00:00
Luck
54dbede130
Add /lp debug command 2018-01-24 19:13:29 +00:00
Luck
982254ff5e
Reduce the amount of unnecessary data in info command outputs a bit 2018-01-23 19:55:21 +00:00
Luck
6923c4e247
Log the name of the calculator when an exception is thrown 2018-01-23 16:52:50 +00:00
Luck
0eba5f1cbc
Add a means to provide a custom Storage dao implementation (#590) 2018-01-22 23:21:47 +00:00
Luck
4858e59b70
Don't relocate H2 or SQLite depends in favour of loading into isolated classloaders (fixes #704) 2018-01-22 21:32:31 +00:00
Luck
1f70ad978f
Cleanup usages of loadUser/loadGroup/loadTrack - eliminate possibility for unloading race condition (#706) 2018-01-22 17:34:15 +00:00
Luck
40294b10f5
ensure that we always use the shaded JDBC driver 2018-01-21 22:20:00 +00:00
Luck
8d045be0b0
misc cleanup 2018-01-21 21:35:25 +00:00
Luck
e24a482deb
Don't call events for changes to transient nodes 2018-01-21 20:31:48 +00:00
Luck
72d4e5cf7a
Remove the 'use-server-uuids' option and internal UuidCache system
The feature has stuck around since the early days - and solves a problem which really should never occur.
2018-01-21 20:18:13 +00:00
Luck
4c3e28ba85
Only show enduring nodes in command output, encapsulate the Node multimaps in PermissionHolder into separate class 2018-01-21 19:53:20 +00:00
Luck
821dc4ef56
Expose a means to implement the plugin's MessagingService via the API 2018-01-19 23:35:41 +00:00
Luck
612712f015
fix accidentally marking guava as compile in the previous commit 2018-01-19 19:29:34 +00:00
Luck
03a93b1186
Apply dependency remapping using an isolated classloader
* Fixes the issue which prevented LP from loading on Java 9
* Should also fix #697
2018-01-19 19:27:08 +00:00
Luck
04ffd00c0e
fix typo in /lp <u/g> editor message 2018-01-19 16:31:15 +00:00
Luck
a74475d4cd
serialise -> serialize 2018-01-18 19:21:02 +00:00
Luck
05ac7e6041
refactor the way verbose filters are parsed - tokenize on first init as opposed to on each check 2018-01-17 19:30:05 +00:00
Luck
5ae90f2a4b
Log verbose checks for the console, commandblocks & entities when running on Bukkit 2018-01-16 19:20:06 +00:00
Luck
b800db03fc
Nest the 'switchprimarygroup' command under the 'parent' subcommand 2018-01-15 21:09:42 +00:00
Luck
7cd5eea6d3
Display tracks relating to the group itself when the showtracks command is performed on a group 2018-01-15 20:39:18 +00:00
Luck
ed223f0e4e
Don't allow empty context keys/values (#688) 2018-01-15 20:06:20 +00:00
Luck
8a374aed04
add javadocs to Command class 2018-01-15 19:55:21 +00:00
Luck
9ceacdb739
Refactor some Sponge service details 2018-01-15 18:07:27 +00:00
Luck
39daed23c4
fix ~~minor~~ typo 2018-01-13 23:53:44 +00:00
Luck
19e6d4e4c8
Relocate dependency packages to prevent conflicts with other plugins 2018-01-13 23:27:55 +00:00
Luck
22006617d0
misc refactor for PermissionHolder & DummySender 2018-01-12 23:51:59 +00:00
Luck
3201d10bdd
Rewrite the way user instances are cleaned up and unloaded - towards #674 2018-01-10 21:28:33 +00:00
Luck
ea94bd8696
move bukkit-legacy module to a separate project, cleanup poms 2018-01-08 20:01:02 +00:00
Luck
f646c04d09
Remove lombok from the project 2018-01-07 18:40:23 +00:00
Luck
17ff9ac328
Allow shorthand nodes with single element lists (#665) 2018-01-03 19:25:47 +00:00
Luck
6c8f04f829
Implement PermissionsBukkit migration 2018-01-01 21:11:50 +00:00
Luck
505a10a8b1
misc refactoring 2018-01-01 19:48:20 +00:00
Luck
764665cf15
Populate Subject cache when obtaining SubjectReferences for instances which already exist 2017-12-30 15:23:31 +00:00
Luck
b9dfd7db54
Execute commands sequentially on a single thread executor 2017-12-30 12:16:34 +00:00
Luck
e09c5622f7
Recompile against new powerfulperms namespace (#651) 2017-12-29 22:44:42 +00:00
Luck
717347273d
Revert Spigot PluginClassLoader workaround 2017-12-29 20:40:43 +00:00
Luck
9bb1ba12b2
Fix issue with slf4j loading 2017-12-29 16:52:11 +00:00
Luck
bff9715e7f
Implement nasty workaround for Spigot's changes to the PluginClassLoader (#648) 2017-12-29 15:25:49 +00:00
Luck
cfcd896c59
Fix broadcasting log entries 2017-12-29 00:41:45 +00:00
Luck
aaa50cacda
Allow spaces in world names 2017-12-29 00:39:54 +00:00
Luck
3413adf16f
Send a different type of update ping for user changes, and only apply the change if the user is loaded 2017-12-28 13:37:55 +00:00
Luck
3d6aa69ca1
Improve various javadocs, add LogNotifyEvent 2017-12-27 17:00:54 +00:00
Luck
ab115c4a6b
Fix NodeFactory#nodeAsCommand (closes #639) 2017-12-27 10:30:13 +00:00
Luck
6602b23f09
misc cleanup 2017-12-23 23:51:42 +00:00
Luck
0b72507e2d
Correctly close flatfile database connections on disable, catch all exceptions when performing initial data load 2017-12-22 22:35:13 +00:00
Luck
cc3ddd51fd
fix copyright headers 2017-12-21 11:09:42 +00:00
Luck
f793fd5010
pass and account for the holder type when building PermissionCalculators 2017-12-19 22:48:53 +00:00
Luck
fb92fd9357
Extract out common constants & magic values into factory classes 2017-12-18 22:19:25 +00:00
Luck
a415a2705f
Return the loaded objects from storage methods as opposed to success flags 2017-12-18 17:03:59 +00:00
Luck
765f140121
Various fixes for log commands 2017-12-17 21:20:22 +00:00
Luck
cb47f9f94b
Change log output format, refactor log pagination 2017-12-17 17:47:10 +00:00
Luck
d0fb9f6aee
Update text version 2017-12-17 17:14:43 +00:00
Luck
9d424f5122
Fix more broken message coloring 2017-12-17 13:41:37 +00:00
Luck
f71237ea95
Send more helpful message when /lp is executed without any arguments 2017-12-17 13:31:45 +00:00
Luck
fb5925e1e8
Add user clone command (#530) 2017-12-17 12:59:36 +00:00
Luck
f86bdb7619
Misc cleanup 2017-12-17 12:17:46 +00:00
Luck
ad5299d0cd
Send a message when an editor upload begins 2017-12-16 23:29:50 +00:00
Luck
904bb90385
Refactor paginated command output, add flags for ordering 'permission info' entries, fix crashes caused by long messages (#591) 2017-12-16 21:05:43 +00:00
Luck
2e7a08c006
Fix promote / demote command inconsistencies (#609) 2017-12-14 21:43:44 +00:00
Luck
38e75da92f
Fix user demote command success message (#609) 2017-12-14 18:31:52 +00:00
Luck
e5ce64266f
Add option to pull server setting from the server.properties file 2017-12-11 19:42:24 +00:00
Luck
a765be0a6f
Fix compat with older hikari versions (#600) 2017-12-11 19:26:17 +00:00
Luck
dfb1b8f841
Work around message bug when parsing two consecutive color codes 2017-12-11 17:39:35 +00:00
Luck
322b522a52
propagate i/o errors to the futures returned by the dao 2017-12-10 01:47:00 +00:00
Luck
9dd4f71526
Remove the isAcceptingLogins storage state in favour of just throwing exceptions on usage 2017-12-09 19:02:23 +00:00
Luck
94b4e3d366
Validate checksums of downloaded dependencies 2017-12-09 18:36:08 +00:00
Luck
bbb2897d20
Fix compatibility with older Gson versions 2017-12-09 11:26:12 +00:00
Luck
a5e41e479a
Use static empty context set where appropriate, cache reversed comparator instances 2017-12-07 19:49:04 +00:00
Luck
2baea0ce13
Fix MongoDao issue causing unnecessary writes each time a user is loaded (#589) 2017-12-07 16:52:21 +00:00
Luck
0d9034504e
Run a sync task after completing a bulk update (#579) 2017-12-01 17:44:57 +00:00
Luck
2985cf7237
Don't run schema migrations for Postgre (#568) 2017-11-30 20:33:15 +00:00
Luck
003ddc51de
Rewrite the MongoDB storage impl to use the modern node serialisation format 2017-11-30 20:25:48 +00:00
Luck
c369ac6b90
Fix mongodb bulkupdate (#572) 2017-11-29 23:10:32 +00:00
Luck
1e105b4135
Cleanup sponge service impl 2017-11-25 15:56:02 +00:00
Luck
717835e5c1
Add config option for defining extra SQL connection properties (#563) 2017-11-25 11:37:30 +00:00
Luck
ae8fe0fe1e
Refactor configurate dao 2017-11-23 22:51:05 +00:00
Luck
d992d7f77c
Fix race condition when saving null config nodes to non-existent files 2017-11-23 20:15:29 +00:00
Luck
a7cb7ec1af
Remove character constraints on group names, cleanup legacy node (de)serialization system 2017-11-23 20:05:38 +00:00
Luck
3afeb30795
Implement system for shorter editor urls & display diff when changes are applied 2017-11-22 20:54:58 +00:00
Luck
26feeb125e
Don't allow user names to be set if the length exceeds 16 characters 2017-11-22 17:17:49 +00:00
Luck
211fb219a7
Catch and ignore exceptions thrown when migrating a specific entity 2017-11-22 16:59:19 +00:00
Luck
e71ef834c0
fix issue with the LP Vault impl and servers with more than one server context 2017-11-21 16:44:20 +00:00
Luck
29eba93ee3
Fix zero length prefixes from locale files 2017-11-21 15:44:22 +00:00
Luck
52ebfe9309
Bump SQLite version 2017-11-20 15:16:00 +00:00
Luck
b3e78c6dc1
Fix issue with loading tracks with configurate 2017-11-20 15:14:44 +00:00
Luck
cd0184970a
Don't try to run schema migrations for SQLite 2017-11-19 22:24:39 +00:00
Luck
6401480874
Fix compiling null AssignmentExpressions 2017-11-19 19:09:21 +00:00
Luck
6ca9eb13dd
General tidy up 2017-11-18 23:20:48 +00:00
Luck
987ea51264
Expose more connection pool settings in the config file 2017-11-14 19:39:46 +00:00
Luck
9a420403de
Attach extra data to the editor payload object to allow for tab completion 2017-11-11 22:57:25 +00:00
Luck
17da2807cf
Bump dependency versions 2017-11-10 20:16:44 +00:00
Luck
22fba0c172
Fix broken usage of LogEntry#getActed 2017-11-09 21:05:06 +00:00
Luck
14005563a3
Move #refreshCachedData up the type hierarchy into PermissionHolder 2017-11-08 22:59:22 +00:00