Commit Graph

1130 Commits

Author SHA1 Message Date
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
Luck
d23b29aeb1
Update dependency versions 2017-07-07 14:48:42 +01:00
Luck
42d48c8da2
Implement argument based permissions for LP commands - closes #52, #170, #174 2017-07-07 12:43:13 +01:00
Luck
9e83a5e4d9
Add RedisBungee messaging service option for BungeeCord 2017-07-03 16:24:00 +01:00
Luck
d2bf940105
Add option to use the servers uuid cache/lookup facility (#354) 2017-07-03 16:07:33 +01:00
Luck
d7094909c0
Change verbose output slightly 2017-07-02 21:29:48 +01:00
Luck
770db2fee0
Export groups in order of weight, then alphabetically 2017-06-30 19:43:45 +01:00
Luck
fa0b66c2dc
Fix lp tree max recursion property 2017-06-26 16:31:30 +01:00
Luck
1b199fd2c7
Fix NPE when loading locale file - closes #338 2017-06-24 17:26:52 +01:00
Luck
2ffbeeef8e
Add jsr305 annotations to the API 2017-06-24 17:25:13 +01:00
Chris N
26ce8b8ab7 YAML/JSON batch permission defining (#337) 2017-06-22 10:41:29 +01:00
Luck
cf5318b92b
Make command defintion/usage messages translatable 2017-06-20 20:20:41 +01:00
Luck
e50fa17f7c
Store all accumulated meta values in MetaCache 2017-06-19 21:48:52 +01:00
Luck
413e304845
Fix NPE with null context in FileWatcher 2017-06-14 17:32:02 +01:00
Luck
c57947949c
Don't send messages to command blocks async 2017-06-13 17:30:01 +01:00
Luck
a9e751b4b8
Replace fanciful with KyoriPowered/text 2017-06-11 14:46:56 +01:00
Luck
3df1ae8ded
Fix argument validation for parent settrack command - closes #321 2017-06-11 10:27:26 +01:00
Luck
b4a2da0ea8
Add some missing tab completions, remove /lp log export command 2017-06-09 22:19:07 +01:00
Luck
5c5d1e8d0a
Fixes some issues with username storage and handling
- Fix the yaml/json UUID cache corrupting username data when performing uuid --> username checks
- Fix handling of usernames when users are loaded

Closes #301
2017-06-09 18:20:12 +01:00
Luck
ff0c988a1d
Don't store attributes for permissions with only 'value: true' in YAML/JSON storage files 2017-06-07 21:04:14 +01:00
Luck
b9fc8f4b5f
Add MongoDB collection prefix option 2017-06-05 16:09:02 +01:00
Luck
7b8654339c
Maybe fix usernames not being updated in storage after name changes (#301) 2017-06-03 16:40:16 +01:00
Luck
4109863aa9
Fix -s flag (#132) 2017-05-25 21:35:47 +01:00
Luck
139dd5302b
Cleanup login handling & reduce the amount of unnecessary logging output on startup 2017-05-18 22:30:01 +01:00
Luck
cc907b6530
Don't catch exceptions thrown inside i/o (#291) 2017-05-18 21:16:31 +01:00
Luck
ca1dacf2b6
Invalidate active context cache when a player changes world - closes #288 2017-05-16 21:52:46 +01:00
Luck
abc1c164cf
Expose MetaStacks in the API, general cleanup, release 3.2 2017-05-16 21:41:20 +01:00
Luck
dc801464ef
Refactor meta stacking to be mapped in MetaCache - towards lucko/LuckPermsPlaceholders#1 2017-05-16 19:13:08 +01:00
Luck
99c6fe20c2
Catch exceptions thrown by context calculators 2017-05-16 13:50:28 +01:00
Luck
a44dec0402 Fix typo 2017-05-15 12:07:59 +01:00
Luck
a081152baa Fix web editor url 2017-05-15 12:05:54 +01:00
Luck
9b50d48f46
fix compile 2017-05-14 22:41:25 +01:00
Luck
5121fc6b1f
Cleanup 2017-05-14 22:15:25 +01:00
Luck
d4ac261e85
Cleanup config keys, make editor URL configurable 2017-05-14 21:36:02 +01:00
Luck
2e9561371d
Implement initial web editor support 2017-05-13 20:36:05 +01:00
Luck
942fd3c4ce
Fix vault lookups with static context 2017-05-11 20:04:11 +01:00
Luck
8cf32752e9
Fix meta info only showing values in global context 2017-05-11 19:46:28 +01:00
Luck
b240ca9939
Add parent cleartrack command, cleanup Messages enum 2017-05-09 16:26:55 +01:00
Luck
e25d99129c
Implement parent settrack command - closes #112 2017-05-09 14:06:16 +01:00
Luck
1fee47e087
Implement default contexts - closes #241 2017-05-09 13:36:43 +01:00
Luck
030fb1262e
Fix being able to negate permissions/parents/meta in specific contexts 2017-05-08 22:27:46 +01:00
Luck
cedc5108fc
Refactor Patterns to PatternCache 2017-05-07 13:56:42 +01:00
Luck
65af3d0f54
Add data constraints - closes #256 2017-05-07 13:44:29 +01:00
Luck
7dc41e15d3
Fix users being cleaned up too early and then logging back into the server - closes #271 2017-05-06 18:24:44 +01:00
Luck
8326539d40
Refactor LP PermissionService to implement a modified API & add proxied classes 2017-05-03 20:14:31 +01:00
Luck
163e6e0f2a
Always load user data caches alongside user instances 2017-05-02 16:55:08 +01:00
Luck
f56bb251e9
Cleanup some stuff 2017-05-02 16:36:46 +01:00
Luck
152ca99276
Fix issue with bulk removing suffixes 2017-04-25 16:51:21 +01:00
Luck
7c398d2c67
Split up chat messages sent to console containing new lines 2017-04-23 20:51:24 +01:00
Luck
a526c942ca
Add config options to allow for finer control over how permissions are calculated, and set include-global to true on BungeeCord by default 2017-04-23 20:30:58 +01:00
Luck
af8fd15929
improve speed of NodeTools#removeSamePermission 2017-04-23 11:51:56 +01:00
Luck
7bfd5d4bc8
implement atomic group insertion 2017-04-22 22:53:29 +01:00
Luck
f43b9c96de
cleanup login handling & add CountdownLatch to ensure the plugin has started before logins are handled 2017-04-21 19:10:25 +01:00
Luck
c64f72e394
Fix issue with loading usernames on MongoDB - closes #257 2017-04-21 16:58:07 +01:00
Luck
9715c5394c
Fix NPE caused by AllParentsByWeight primary group selector - closes #252 2017-04-18 17:11:07 +01:00
Luck
67b5c72520
Cleanup handling of unknown/null usernames for users 2017-04-17 19:31:52 +01:00
Luck
3314e94a9a
Add not_on_track meta stack criteria 2017-04-16 11:06:05 +01:00
Luck
a27436b086
Fix getting primary groups for offline users 2017-04-15 20:32:03 +01:00
Luck
f305f8d822
Determine dynamic primary groups using current context 2017-04-15 19:08:04 +01:00
Luck
1f54bc41cc
Cleanup poms, update copyright header 2017-04-15 19:01:52 +01:00
Luck
c82d028429
fix yaml/json schema migration 2017-04-12 21:33:59 +01:00
Luck
be2a8b7b07
Fix incorrect chat meta command usage 2017-04-12 17:59:51 +01:00
Luck
261fc82016
Remove getuuid command
why did that ever exist anyways
2017-04-12 17:25:22 +01:00
Luck
37b940f3a5
Convert promote / demote commands to use new context system, update en locale with latest changes 2017-04-12 17:11:01 +01:00
Luck
0504e904a2
Only perform flatfile schema migration if the new dir doesn't exist 2017-04-12 14:28:39 +01:00
Luck
71bfdd9bfd
log the file name when exceptions are thrown during i/o 2017-04-12 14:09:51 +01:00
Luck
4fb07ff181
API changes for 3.1 2017-04-10 22:26:20 +01:00
Luck
4631dcf857
Ensure expired permissions are removed when users/groups are loaded for commands 2017-04-10 20:57:59 +01:00
Luck
f6f9840eb7
Re-implement bulk updates 2017-04-10 19:33:23 +01:00
Luck
242672f49d
Remove old bulk edit commands 2017-04-10 14:56:46 +01:00
creator3
c32c975a71 Fix accumulation of temporary perms with a world or server context (#235) 2017-04-08 20:49:10 +01:00
Luck
82e759d708
Make sure world names are lowercase'd 2017-04-08 17:00:36 +01:00
Luck
132d0cf578
Fix export command switchprimarygroup output, and log player uuid if their username isn't included 2017-04-07 19:59:53 +01:00
Luck
029dc9f8d9
Make the standard MySQL driver the default again 2017-04-06 11:30:17 +01:00
Luck
5567b1dad8
Use the mariadb driver by default 2017-04-05 21:23:18 +01:00
Luck
ea00ec64af
Refactor NodeModel into a more useful class, remove duplicate context serialization methods 2017-04-04 19:19:31 +01:00
Luck
7259e6be0a
Fixes for the verbose uploader 2017-04-04 17:17:57 +01:00
Luck
2e40557b39
Add '/lp group <group> listmembers' command - closes #203 2017-04-04 16:07:41 +01:00
Luck
e68fc7c558
Improve performance of resolve methods in PermissionHolder, other cleanup 2017-04-04 15:22:25 +01:00
Luck
055dfb000d
Only allow one server and one world in context sets parsed from command args 2017-04-04 13:47:50 +01:00
Luck
b997ab6e3f
Properly sort storage files - closes #227 2017-04-03 10:57:29 +01:00
Luck
25f31d0bb8
Cleanup sponge delegate classes 2017-04-03 10:27:31 +01:00
Luck
4cfd8a7e2c
Fix broken command parameter & update default locale file 2017-04-03 09:53:26 +01:00
Luck
0ec19a8fee
Implement accumulation of static contexts from a file 2017-04-03 01:42:49 +01:00
Luck
2749563f5d
Replace guava caches with caffeine 2017-04-03 00:53:04 +01:00
Luck
e7e2e3f7e0
Allow context pairs to be specified in commands, fix misuse of exceptions in the permission holder class 2017-04-02 18:44:05 +01:00
Luck
0a33c0aac5
Fix compatibility with older gson versions - closes #222 2017-04-01 07:26:05 +01:00
Luck
ae82807139
Add "use-vault-server" config option, depreciate vault primary group override feature 2017-03-27 17:35:28 +01:00
Luck
65147e1935
Remove missing permission nodes before adding new ones when saving users/groups with SQL storage 2017-03-27 16:54:59 +01:00
Luck
8e557d122b
Fix some concurrency issues with login handling 2017-03-26 18:40:09 +01:00
Luck
486b19aa90
Cleanup some misc stuff 2017-03-26 16:10:49 +01:00
Luck
14cb34ac95
Force some config options to be read as lower case 2017-03-25 23:23:20 +00:00
Luck
abfc23b04d
Provide tab completion for rewritten arguments & add some more rules 2017-03-25 20:27:33 +00:00
Luck
ebb24aefa1
Fix parent set command also adding default 2017-03-25 20:06:30 +00:00
Luck
2573f46f40
Fix removing temporary permissions/parents/meta in global context 2017-03-25 19:58:56 +00:00
Luck
5dcb8cd73a
Output group/track lists in alphabetical order 2017-03-25 19:48:17 +00:00
Luck
e4bfe09882
Don't bother loading test classes (#217) 2017-03-25 11:38:02 +00:00
Luck
671e2adc32
Cleanup remaining (un)setPermission methods 2017-03-25 11:04:25 +00:00
Luck
1137e476dd
Rewrite inheritance resolution implementation 2017-03-24 22:18:18 +00:00
Luck
c36b0d2975
Automatically push updates to other servers via the messaging service when commands are ran 2017-03-21 21:58:45 +00:00
Luck
f8ad562b95
Rename "debug" classes to "verbose" 2017-03-20 17:22:18 +00:00
Luck
c35ab38f36
Slight speed improvement for import processes 2017-03-19 20:52:35 +00:00
Luck
073b775566
Implement nicer json format for Sponge local data 2017-03-19 17:54:12 +00:00
Luck
85c7a7db8d
Implement new file layout for YAML / JSON storage files (#211) 2017-03-19 15:37:30 +00:00
Luck
1e134df27d
Clarify the file names of H2 and SQLite databases 2017-03-18 23:00:12 +00:00
Luck
bdff84885a
Enforce that ContextSets use the HashMultimap variant - closes #208 2017-03-18 20:18:18 +00:00
Luck
f1a9c3722c
Fix PM migration command not being registered 2017-03-18 17:26:44 +00:00
Luck
a0aec52661
Correct the case of group names when retrieved from Node instances 2017-03-18 14:43:34 +00:00
Luck
c2165e0196
Fix primary groups being selected in reverse order 2017-03-17 23:00:37 +00:00
Luck
2e75bc3f3b
Add some alternate options for primary group calculation 2017-03-17 22:54:18 +00:00
Luck
e91c2ca427
Add method to export Message enum and update language file 2017-03-17 21:17:59 +00:00
Luck
965ff04bcc
Fix ClassCastException with MongoDB user search 2017-03-17 20:54:40 +00:00
Luck
ac4bd418f3
Rename online-mode config option to use-server-uuids to better reflect/clarify its purpose 2017-03-17 20:51:06 +00:00
Luck
e9e844c1f7
Include internal weight value in meta output if not already present 2017-03-13 20:17:54 +00:00
Luck
aa2941fcdb
Refactor and cleanup commands 2017-03-13 20:03:03 +00:00
Luck
dbc909a317
Cleanup migration commands 2017-03-13 19:10:36 +00:00
Luck
f5007f94dc
Add server version info to the startup banner 2017-03-12 14:59:27 +00:00
Luck
d18ac2e6eb
Cleanup pom files, maybe improve build speed a bit 2017-03-12 14:28:35 +00:00
Luck
b9fc5c39ae
Listen for changes in data files and automatically update 2017-03-11 23:05:03 +00:00
Luck
9dc2278083
Cleanup a bit 2017-03-11 21:10:27 +00:00
Luck
281060a972
Make the clone commands work for existing tracks/groups too 2017-03-11 18:30:27 +00:00
Luck
91626f079d
Fix mistake in removeprefix/removesuffix command descriptions 2017-03-11 18:26:29 +00:00
Luck
7305c6c54b
Migrate group weightings onto the group itself as well as to the chat meta held by it 2017-03-11 18:24:25 +00:00
Luck
bce7fa871d
Fix getAllNodes cache not working properly, remove pre-process contexts on Bungee & cleanup some unused methods 2017-03-11 17:55:50 +00:00
Luck
680ad3c145
Update hikari version 2017-03-11 10:32:10 +00:00
Luck
2462eac497
Run exporter in own thread and process user exports concurrently 2017-03-10 20:44:19 +00:00
Luck
bb818c8942
Cleanup powerfulperms migration & remove support for older PP versions 2017-03-09 19:10:48 +00:00
Luck
ddc881af11
Add new argument util method for reading context pairs 2017-03-09 17:56:15 +00:00
Luck
838fba9173
Switch all usages of file reader/writers to use java nio methods - closes #204 2017-03-09 17:55:33 +00:00
Luck
0b6f326c18
Fallback to uuid in the search command if the username is unknown 2017-03-07 22:17:49 +00:00
Luck
ecf1d3790c
Fix issue where group nodes could be unset using the permission commands, and where users with per-server groups wouldn't be assigned to the default group globally 2017-03-05 19:05:05 +00:00
Luck
2862f0dfae
Fix creating delimiter patterns 2017-02-26 21:28:40 +00:00
Luck
fd4963c74b
Fix getUuid and getName API methods returning null for User, Group and Track instances 2017-02-26 20:46:37 +00:00
Luck
df99ef4481
misc cleanup 2017-02-26 12:43:35 +00:00
Luck
26afb69a14
Cleanup LuckPermsSubjectData (fixes #194) 2017-02-26 01:00:02 +00:00
Luck
e8c0c43e9d
misc cleanup 2017-02-24 19:31:45 +00:00
Luck
6798fb21b2
Events rewrite, remove most deprecated API methods (v3.0) 2017-02-19 14:57:20 +00:00
Luck
b328fa74a7
Clarify thrown exception when a null context is returned 2017-02-16 21:45:43 +00:00
Luck
8d86eed0a7
Don't bother adding checks to the listener queue if no listeners are registered 2017-02-15 19:39:24 +00:00
Luck
05f906a759
Add /lp tree command - closes #175 2017-02-15 19:21:27 +00:00
Luck
bd97a7c5d2
Respect prefix option set in subject - closes #149 2017-02-14 17:11:17 +00:00
Luck
a3a23d8870
Remove redundant SQL queries and fix issue where multiple uuids could be mapped to the same username - fixes #179 2017-02-14 16:23:54 +00:00
Luck
30bddceac5
import log should be sent to console too 2017-02-13 16:26:41 +00:00
Luck
3f17e8c3c8
Test verbose filters before registering them (#178) 2017-02-12 17:19:16 +00:00
Luck
1df6f4b9df
Allow negated group permissions 2017-02-08 21:04:34 +00:00
Luck
0d1f3b855f
Ignore commented lines on dump imports & add annotations to export files - closes #169 2017-02-05 09:58:24 +00:00
Luck
9b8d6e1dc7
Modify node escaping to use "\" characters, and remove all limits on node/server/world strings - closes #166 2017-02-04 12:18:45 +00:00
Luck
6540c695de
Add configurable duration handling when a holder already has a temporary permission/parent/option set - closes #152 2017-02-03 22:24:42 +00:00
Luck
c837dd5cc8
fix jedis shading - closes #158 2017-02-02 16:00:18 +00:00
Luck
d804c4be2a
fix build 2017-02-02 15:16:08 +00:00
Luck
ede413a213
Fix import/export handling - closes #159 2017-02-02 15:13:44 +00:00
Luck
9cee319ed9
Cleanup all migration commands - closes #63 2017-02-01 18:41:15 +00:00
Luck
f7b281f655
Fix build 2017-01-31 12:32:18 +00:00
Luck
8dbb083b90
Fix migration log being sent to the console twice 2017-01-31 12:29:06 +00:00
Luck
0be6d658ed
Refactor plugin and scheduler interfaces 2017-01-31 12:14:42 +00:00
Luck
1efce41767
Fix search command page number 2017-01-30 20:13:19 +00:00
Luck
da23b6ea9a
Fix search command page number 2017-01-30 20:13:19 +00:00
Luck
a61d3b3fd4
Fix sponge PEX/PM migration issue with defaults 2017-01-29 21:56:09 +00:00
Luck
ab9284b80f
Use reflection in the #getAllKeys method instead of a list 2017-01-29 14:52:42 +00:00
Luck
424af27a47
Change update messages to account for more than just redis messaging 2017-01-29 11:09:11 +00:00
Luck
a617675771
prettify the verbose paste output 2017-01-26 19:47:46 +00:00
Luck
86b203c21b
Compile with shaded redis version - fixes #150 2017-01-26 13:54:23 +00:00
Luck
73c5a1ad9b
Fix apache pool2 jar not loading correctly - closes #150 2017-01-25 22:07:50 +00:00
Luck
81c71777cb
Fix some usage messages 2017-01-24 21:48:47 +00:00
Luck
599072eef6
Fix null config values throwing exception - closes #147 2017-01-24 20:13:18 +00:00
Luck
02ea3afbe9
Add "!" delimiter to verbose matching 2017-01-23 22:47:39 +00:00
Luck
0c1a2e82bf
implement verbose expression matching 2017-01-23 22:43:52 +00:00
Luck
f89fb87c92
Log the file name when I/O fails 2017-01-23 21:15:25 +00:00
Luck
98d6cf842a
reword check result message slightly 2017-01-23 21:08:27 +00:00
Luck
69dc02b2c2
Add /lp check <user> <permission> command 2017-01-23 21:03:58 +00:00
Luck
8025f3a082
Fix all users sharing the same meta state 2017-01-22 22:19:29 +00:00
Luck
327c8b83be
Implement BungeeCord & LilyPad messaging services - closes #142 2017-01-22 21:46:22 +00:00
Luck
0f8c334de8
FIx stacking backwards compatibility 2017-01-22 19:01:34 +00:00
Luck
292d4cd450
Implement stacking prefixes - closes #60 2017-01-22 18:23:08 +00:00
Luck
38d1c9974b
Soften server checking regex - also towards #143 2017-01-22 16:36:06 +00:00
Luck
0be7300677
Fix node shorthand parsing - closes #143 2017-01-22 16:29:52 +00:00
Luck
c03585aeca
Fix using UTF-8 characters with MySQL - closes #129 2017-01-22 12:19:29 +00:00
Luck
d39dad3287
Fix config reloading causing ClassCastExceptions 2017-01-22 11:58:48 +00:00
Luck
0a3ca3affe
Add /lp reloadconfig command - closes #100 2017-01-21 20:14:25 +00:00
Luck
b7cf0e6bc7
Refactor config handling - towards #100 2017-01-21 15:36:13 +00:00
Luck
6dd093fe72
fix API ClassCastException 2017-01-19 21:29:54 +00:00
Luck
2e16844141
Remove console only commands - closes #137 2017-01-19 20:39:09 +00:00
Luck
241507228f
Colorize console info messages 2017-01-19 19:51:41 +00:00
Luck
01ac5382ea
Prevent some shutdown exceptions - closes #136 2017-01-19 18:56:22 +00:00
Luck
02b88a8357 Maybe fix default assignment parsing error with sponge 2017-01-18 22:40:25 +00:00
Luck
c99d6556db
Fix issues with default assignment loading on Sponge 2017-01-18 21:37:41 +00:00
Luck
aea44fc8bc
API changes for 2.17 - closes #123 2017-01-16 20:01:41 +00:00
Luck
c0da9d49d9
make clickable message invert filter more specific 2017-01-16 16:55:59 +00:00
Luck
148fe4c729
Make prefix/suffix string optional in the meta remove commands - related to #83 2017-01-15 15:11:35 +00:00
Luck
32fd484b58
Change promote / demote behaviour at the end of tracks - towards #112 2017-01-15 13:22:50 +00:00
Luck
7d24e748b7
Fix reading and writing UTF-8 characters from storage files - closes #129 2017-01-15 12:18:12 +00:00
Luck
6501e5cf8d
Fix bukkit permission subscriptions 2017-01-14 23:19:11 +00:00