Commit Graph

1221 Commits

Author SHA1 Message Date
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
Luck
a115ff8ce2
Final bits of API refactoring, add group data caches, fix issue with LPPermissionAttachment fake map injection 2017-11-08 22:55:05 +00:00
Luck
d75b29f51d
Move a couple more methods around in the API 2017-11-08 15:48:55 +00:00
Luck
175a21c0e4
API 4.0 - this is a breaking change 2017-11-07 22:05:49 +00:00
Luck
76bfde4d77
Don't prevent modification of group.<group name> nodes with permission subcommands 2017-11-04 19:12:46 +00:00
Luck
d393a4c9ca
Alias /lp player --> /lp user 2017-11-03 16:26:54 +00:00
Luck
9ea6b0b8bb
Use "None" instead of "global" when no server name is specified 2017-11-02 19:32:13 +00:00
Luck
c20b91d5ea
Increase actor_name field length to account for changes to logging 2017-11-02 19:28:49 +00:00
Luck
fad8a38bdf
Use a string version of the full static context, as opposed to the server name 2017-11-02 19:25:35 +00:00
Luck
b7541c43c8
Add Sender#getNameWithLocation 2017-11-02 18:51:59 +00:00
Luck
0f10bb0bc9
Deprecate some unused methods in ImmutableNode, refactor #shouldApplyWithContext 2017-11-02 18:22:42 +00:00
Luck
357717886e
Refactor the log creation process 2017-10-30 21:06:45 +00:00
Luck
0e581cbcf3
Increase actions actor_name column length (#525) 2017-10-30 20:03:03 +00:00
Luck
230d9725e8
cleanup & fix build 2017-10-29 20:37:29 +00:00
Luck
dee41b315f
Inject our own subscription map into the plugin manager instead of registering permissions individually for each player 2017-10-29 15:16:48 +00:00
Luck
72e6c75433
Cleanup / tidy up a number of classes 2017-10-29 12:58:49 +00:00
Luck
ebe12f838c
Fix user exports 2017-10-28 00:15:34 +01:00
Luck
7279fdc25f
Fix changes not being saved for flatfile bulkupdate operations 2017-10-27 23:17:57 +01:00
Luck
af5c859385
Fix temporary group display format in parent info command (#518) 2017-10-24 13:17:27 +01:00
Luck
e8896fbdf7
Fix NPE on startup (#520) 2017-10-24 13:05:06 +01:00
Luck
54695b8046
Form more descriptive console & import usernames 2017-10-23 23:37:55 +01:00
Luck
c573c755d2
Add option to cancel failed logins on BungeeCord variant 2017-10-23 16:59:07 +01:00
Luck
a3a7198777
More storage refactoring 2017-10-22 20:09:53 +01:00
Luck
ca8cc91f37
Add group setdisplayname command (#493) 2017-10-22 16:58:53 +01:00
Luck
26c813c07b
Mode storage refactoring - write group nodes into their own section in flatfile types (#502) 2017-10-22 14:22:52 +01:00
Luck
f109cb684a
Apply PermissionAttachment permissions at a higher priority than normal nodes using the transient system (#515) 2017-10-22 10:24:04 +01:00
Luck
1baefaade4
Try to find the most appropriate primary group before just adding a user to default - closes #506 2017-10-22 09:16:04 +01:00
Luck
ecfbed00b1
Add config option to allow invalid usernames (#516) 2017-10-22 09:00:10 +01:00
Luck
6e429d6c78
Throw exception if directories cannot be created 2017-10-22 08:48:00 +01:00
Luck
fa4bb0447a
Rewrite flatfile storage (YAML & JSON) to use configurate, add HOCON storage method 2017-10-21 23:20:45 +01:00
Luck
aa0be40124
Cleanup verbose handler & only send sponge OP command notification if the sender has permission 2017-10-16 18:55:17 +01:00
Luck
04d5310c04
Ensure users are a member of their primary group (#506) 2017-10-16 18:53:02 +01:00
Luck
74069af309
Throw an exception if we're unable to create the lib dir 2017-10-16 15:28:02 +01:00
Luck
6bfeec6d16
Fix updating primary groups for players who've never joined the server with SQL storage types (#500) 2017-10-16 14:43:58 +01:00
Luck
0f4c057395
Add highest_inherited and lowest_inherited meta stack elements 2017-10-15 15:13:23 +01:00
Luck
2fd74f3b7e
fix MetaStackElement equality checks 2017-10-15 14:51:42 +01:00
Luck
fb171a57c2
Ensure stored primary groups are always lowercase'd 2017-10-15 14:32:57 +01:00
Luck
b26fc69e73
Remove usage of the now-redundant ExtractedContexts class, other misc cleanup 2017-10-15 14:23:51 +01:00
Luck
28961b1cfa
Primary groups should come first, not last, when ordering groups for inheritance (#500) 2017-10-15 11:22:38 +01:00
Luck
00cd8bb3f3
Prioritise primary groups when two inherited groups have the same weight (#500) 2017-10-14 22:50:50 +01:00
Luck
5732e60510
Remove cleanupUsers functionality
It was pretty useless (and wasn't implemented on SQL/Mongo storage types.) Data is naturally cleaned up over time as users are loaded/saved.
2017-10-12 20:38:08 +01:00
Luck
1a5f9683c2
Fix build (whoops) 2017-10-12 20:21:49 +01:00
Luck
8920396360
Remove context pre-processing (mostly)
This approach isn't very effective when contexts are frequently changing, and it is hard to guess in advance which contexts are going to be in-use.

The Sponge version has proven that this whole system isn't really necessary.

Contexts for 'allow all' and 'global' are still pre-processed, however this should be significantly less work for the server. (even if it is being done async)
2017-10-12 20:17:52 +01:00
Luck
9c505e4402
Move Track methods away from checked exceptions, refactor ContextManager & primary group holders 2017-10-12 19:43:42 +01:00
Luck
de4c6b384c
Export using the /lp alias 2017-10-12 18:47:35 +01:00
Luck
9e6788de2f
Refactor context manager 2017-10-03 19:02:14 +01:00
Luck
ec75fdddb5
Make verbose output more readable when a check is made against a lot of contexts 2017-09-27 20:11:17 +01:00
Luck
f4d2a0daf9
Bump dependency versions 2017-09-23 23:36:13 +01:00
Luck
de8fb8de90
Only load slf4j if it's not already present on the server 2017-09-23 21:15:45 +01:00
Luck
777c972bdc
Cache SubjectReference instances, general cleanup 2017-09-21 21:59:27 +01:00
Luck
f9efa15781
Re-add 'list' as an alias of 'permission info' - reverts #461, closes #473 2017-09-20 20:31:24 +01:00
Luck
1d1cd679dd
Fix tab completion inconsistencies caused by argument rewrites - closes #481 2017-09-20 20:27:46 +01:00
Luck
a9ed4686dd
Avoid loading slf4j when running on Sponge 2017-09-19 22:13:02 +01:00
Luck
5b742eb5b2
Only schedule a user cleanup when LuckPermsApi#cleanupUser is called 2017-09-18 20:50:50 +01:00
Luck
a3d78f4d0e
Always load dependencies into the plugin classloader, and not it's parent - fixes #479 2017-09-17 19:30:43 +01:00
Luck
214929e5e5
Fix group expiry time not being exported (#474) 2017-09-14 19:10:18 +01:00
Luck
67602b8d85
Fix startup deadlock 2017-09-13 21:24:35 +01:00
Luck
2412edaa3a
Cleanup subscription updates & UserManager#loadAllUsers 2017-09-13 20:18:48 +01:00
Luck
a14a416193
Make some ingame messages more consistent with the LP theme, general cleanup 2017-09-11 22:21:57 +01:00
Luck
096885d91f
Add tracing to /lp verbose, API updates/cleanup, add login process event, and utilise string interning for faster context/node comparisons 2017-09-10 21:25:00 +01:00
Frank Zhang
368700156c Added uranium server support to DependencyManager (#464) 2017-09-08 14:25:49 +01:00
Luck
81cf50520b
Fix NodeFactory#nodeAsCommand when unsetting meta nodes, fix meta unset command 2017-09-06 21:56:41 +01:00
Luck
649748c2d3
Bump caffeine and hikari versions (#462) 2017-09-05 23:56:45 +01:00
Luck
bf7a708440
Send some extra data to the editor data object 2017-09-05 14:54:22 +01:00
Luck
8faa4d137b
Fix some issues with the recent import/export changes 2017-09-04 23:20:21 +01:00
Luck
6bc7f1fca2
Refactor Importer/Exporter to use multiple threads (#317) 2017-09-04 22:24:07 +01:00
Luck
dadd8e2c50
Don't publish/broadcast log entries from the import process - towards #317 2017-09-04 20:47:45 +01:00
Luck
03f342a21c
Refactor command execution to use Locks per target instead of (effectively) one for all commands - towards #317 2017-09-04 20:42:21 +01:00
Luck
b6e1fd179e
Add type argument to 'meta clear' command (#457) 2017-09-04 17:25:59 +01:00
Luck
754c7d8e3b
Add config option to prevent primary group removal (#405) 2017-09-04 17:03:17 +01:00
Luck
925d3ccd1b
Remove "list" alias for holder info (#461) 2017-09-04 16:55:10 +01:00
Luck
d60d0ac9c5
Reduce buffer times, refactor MessagingService init 2017-09-04 16:49:43 +01:00
Luck
fbe9d9f128
Run user cleanup task async and not on Storage init 2017-09-03 16:16:21 +01:00
Luck
509826949d
Add login debug option 2017-08-27 13:54:26 +01:00
Luck
39aaa8a292
Update for latest Text version 2017-08-22 22:51:49 +01:00
Luck
069c76c53a
Fix time test for node expiry times 2017-08-22 16:30:46 +01:00
Luck
f45c0caa45
Refactor metastacks & primary group calculation 2017-08-21 15:45:29 +02:00
Luck
269aa39378
Fix comparator and ensure @Nonnull annotated methods never return null in LogEntry 2017-08-20 14:51:46 +02:00
Luck
ae8be97db7
Dispatch log entries via the messaging service 2017-08-20 13:32:52 +02:00
Luck
f0ad40825b
Refactor and cleanup Log classes 2017-08-20 01:35:03 +02:00
Luck
36d292747a
Format times in /lp log into a shorter form 2017-08-19 11:38:08 +02:00
Luck
b65d2262bf
Remove "... data was saved to storage" messages 2017-08-19 11:08:28 +02:00
Luck
c02fcb6508
Refactor weight lookups 2017-08-18 11:14:03 +02:00
Luck
07c38de44b
Allow permission info command to be filtered by context (#442) 2017-08-18 10:44:54 +02:00
Luck
188d62c99b
Fix issue with casting UUIDs in MongoDB backing (#443) 2017-08-18 10:35:56 +02:00
Luck
76b203ad10
Fix text dependencies being shaded 2017-08-17 10:12:08 +02:00
Luck
909844aef5
Update KyoriPowered/text dependency 2017-08-16 10:56:35 +02:00
Luck
046202719a
Correctly export meta/prefix/suffix nodes to command strings 2017-08-14 18:58:12 +02:00
Luck
ed15e2838d
Fix checkinherits command not returning the inheritance data 2017-08-14 09:38:08 +02:00
Luck
82466c2e5d
Properly implement Contexts#allowAll - bump API to 3.3 2017-08-13 22:21:04 +02:00
Luck
c598daf350
Fix negating group permissions to cancel inheritance 2017-08-13 19:40:59 +02:00
Luck
a40421fa1f
Optimizations to the core PermissionHolder class
- Remove usage of Java 8 streams from frequently called methods
- Use LinkedLists where appropriate to improve Iterator#remove speed
- Cache immutable multimap conversion
- Rename some methods to make the intended use/behaviour clearer
2017-08-13 19:24:00 +02:00
Luck
d98b464ce9
Cleanup verbose & treeview packages. Return known permissions from the PermissionVault as Sponge PermissionDescriptions 2017-08-13 12:07:05 +02:00
Luck
1d5e3205ac
Refactoring & misc cleanup 2017-08-12 19:34:14 +02:00
Luck
3951725852
Fix 'meta settemp' command using duration as the server context (#421) 2017-08-05 23:46:19 +02:00
Luck
3d2115ff3c
Remove unnecessary extra cache in ContextManager 2017-08-02 21:48:22 +01:00
Luck
234b9cafd7
Give default group if needed after "parent remove" (#405) 2017-07-30 21:08:05 +01:00
Luck
4ecd899bac
Fix IndexOutOfBoundsException with 'permission settemp' command (#403) 2017-07-30 15:23:42 +01:00
Luck
51898abb71
Don't load contexts file twice 2017-07-26 10:31:14 +01:00
Luck
e2f800dd63
Throw an NPE if a null delegate sender is passed to SenderFactory#wrap 2017-07-26 10:10:25 +01:00
Luck
d9e5bc9345
fix error with null subject in ContextManager removal listener - closes #392 2017-07-24 19:42:35 +01:00
Luck
e42cc101cc
Cleanup & document a number of Bukkit impl classes 2017-07-24 14:32:10 +01:00
Luck
845367e847
Flush storage buffer more frequently 2017-07-22 20:42:53 +01:00
Luck
90afd3c3ed
Cleanup handling of empty permissions when migrating data (closes #387) 2017-07-22 20:04:55 +01:00
Luck
b4aeb04d1b
Fix possible NPEs when calling API storage events - fixes #384 2017-07-22 00:06:37 +01:00
Luck
65b0d45738
Fix IllegalStateException in meta info command - closes #385 2017-07-22 00:00:58 +01:00
Luck
3c44388883
Update /lp info output 2017-07-19 22:15:12 +01:00
Luck
400f3a9156
Add option to disable colored logging (#382) 2017-07-18 17:58:40 +01:00
creator3
ad6e837aa5 Use single quotes in escapeStringForSql (#379) 2017-07-16 23:53:15 +02:00
Luck
7a6c0ab154
Improve /lp listgroups output - closes #368 2017-07-10 10:09:29 +01:00
Luck
1bb1f5ebb3
Fail silently when the Sponge Server is not available - closes #367 2017-07-10 09:18:58 +01:00
Luck
fce5b8430d
Use GA MySQL version 2017-07-09 18:05:08 +01:00
Luck
0befa6a491
Fix generating unset commands for temporary nodes 2017-07-07 19:39:31 +01:00
Luck
b12ce943f7
Make 'meta info' and 'parent info' clickable (#311) 2017-07-07 19:28:26 +01:00