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
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