Commit Graph

1044 Commits

Author SHA1 Message Date
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
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
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
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
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