Commit Graph

550 Commits

Author SHA1 Message Date
Luck
68e4d36f40
Extract common plugin behaviour into an abstract class 2018-03-03 16:26:37 +00:00
Luck
6c0bb61cb1
Remove sponge migration commands 2018-03-01 11:03:22 +00:00
Luck
d9a45b1090
Implement SubjectDataUpdateEvent (#753) 2018-03-01 10:58:08 +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
6704ac4b46
Fully relocate the jedis driver 2018-02-24 18:20:56 +00:00
Luck
168e712324
Update API to 4.1 2018-02-23 22:13:41 +00:00
Luck
b1fa4263ed
Fix illegal argument exception when a proxied Sponge calculator adds an empty context (#780) 2018-02-22 22:24:21 +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
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
fd937e3209
Refactor permission processors, misc cleanup 2018-02-04 18:39:34 +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
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
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
f18d230ff6
Force a clear of transient nodes when a User quits, don't just rely on their instance being unloaded 2018-01-21 20:25:00 +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
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
a74475d4cd
serialise -> serialize 2018-01-18 19:21:02 +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
505a10a8b1
misc refactoring 2018-01-01 19:48:20 +00:00
Luck
4fd89e6a34
fix compile 2017-12-30 19:38:58 +00:00
Luck
7bf666b062
fix abuse of static in SubjectReferenceFactory 2017-12-30 16:11:41 +00:00
Luck
764665cf15
Populate Subject cache when obtaining SubjectReferences for instances which already exist 2017-12-30 15:23:31 +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
f86bdb7619
Misc cleanup 2017-12-17 12:17:46 +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
e5ce64266f
Add option to pull server setting from the server.properties file 2017-12-11 19:42:24 +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
a5e41e479a
Use static empty context set where appropriate, cache reversed comparator instances 2017-12-07 19:49:04 +00:00
Luck
e2b9e37867
Change poms to conform to Sonatype's OSSRH requirements 2017-11-28 22:22:52 +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
211fb219a7
Catch and ignore exceptions thrown when migrating a specific entity 2017-11-22 16:59:19 +00:00
Luck
b3e78c6dc1
Fix issue with loading tracks with configurate 2017-11-20 15:14:44 +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
df37491199
maybe fix some bukkit migration issues when plugins use strange identifier formats, cleanup legacy message conversion on Bungee 2017-11-12 15:05:06 +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
3e8f7911af
Fix tab completions not being returned for empty strings (#538) 2017-11-07 22:16:48 +00:00
Luck
175a21c0e4
API 4.0 - this is a breaking change 2017-11-07 22:05:49 +00:00
Luck
b7541c43c8
Add Sender#getNameWithLocation 2017-11-02 18:51:59 +00:00
Luck
230d9725e8
cleanup & fix build 2017-10-29 20:37:29 +00:00
Luck
72e6c75433
Cleanup / tidy up a number of classes 2017-10-29 12:58:49 +00: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
b299301b69
Cleanup 2017-10-22 21:02:48 +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
ecfbed00b1
Add config option to allow invalid usernames (#516) 2017-10-22 09:00:10 +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
0f4c057395
Add highest_inherited and lowest_inherited meta stack elements 2017-10-15 15:13:23 +01:00
Luck
b26fc69e73
Remove usage of the now-redundant ExtractedContexts class, other misc cleanup 2017-10-15 14:23:51 +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
9e6788de2f
Refactor context manager 2017-10-03 19:02:14 +01:00
Luck
1bd7e5c9c4
Refactor sponge cache invalidation 2017-09-29 23:21:12 +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
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
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
Luck
479bd91b74
Fix build 2017-09-04 22:32:02 +01:00
Luck
7fe5397e21
Fix incorrect usage of CompletableFuture#thenCombineAsync 2017-09-04 17:56:01 +01:00
Luck
754c7d8e3b
Add config option to prevent primary group removal (#405) 2017-09-04 17:03:17 +01:00
Luck
d60d0ac9c5
Reduce buffer times, refactor MessagingService init 2017-09-04 16:49:43 +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
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
909844aef5
Update KyoriPowered/text dependency 2017-08-16 10:56:35 +02:00
Luck
82466c2e5d
Properly implement Contexts#allowAll - bump API to 3.3 2017-08-13 22:21:04 +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
07eb17f5d5
Fix Sponge PermissionDescription lookups (#425) 2017-08-08 10:37:54 +02:00
Luck
5784458d03
Make Sponge's #getFriendlyIdentifier return usernames of Users and display names of Groups (#412) 2017-08-03 18:39:39 +01:00
Luck
3d2115ff3c
Remove unnecessary extra cache in ContextManager 2017-08-02 21:48:22 +01:00
Luck
8618a67e2e
Fix sponge config loading - closes #407 2017-07-31 22:26:59 +01:00
Luck
e42cc101cc
Cleanup & document a number of Bukkit impl classes 2017-07-24 14:32:10 +01:00
Luck
90afd3c3ed
Cleanup handling of empty permissions when migrating data (closes #387) 2017-07-22 20:04:55 +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
Luck
cadd7545c5
Use saner class naming 2017-07-16 21:16:08 +01:00
Luck
b41dea9ee1
Implement support for futures & other changes in the Sponge Permissions API 2017-07-16 14:12:36 +01:00
Luck
1bb1f5ebb3
Fail silently when the Sponge Server is not available - closes #367 2017-07-10 09:18:58 +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
5cd5186092
Don't cancel re-allowed connections unless the cancel was made by LP 2017-06-26 21:39:59 +01:00
Luck
8e224c4a27
Don't force cancel Sponge ClientConnection.Join if the cancellation state changes, shuffle event orders slightly - fixes #335 2017-06-20 21:37:38 +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
8766e3b408
Add jar signing to build scripts 2017-06-19 20:09:18 +01:00
Luck
0acefde805
Tidy up configuration file layouts 2017-06-12 21:41:23 +01:00
Luck
a9e751b4b8
Replace fanciful with KyoriPowered/text 2017-06-11 14:46:56 +01:00
Luck
b9fc8f4b5f
Add MongoDB collection prefix option 2017-06-05 16:09:02 +01:00
Luck
2ecaa39cb6
Only resolve inheritances for groups which exist already 2017-06-04 16:41:20 +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
139dd5302b
Cleanup login handling & reduce the amount of unnecessary logging output on startup 2017-05-18 22:30:01 +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
5121fc6b1f
Cleanup 2017-05-14 22:15:25 +01:00
Luck
1fee47e087
Implement default contexts - closes #241 2017-05-09 13:36:43 +01:00
Luck
e835b31277
Apply world rewrites on-top of the real world name, and apply recursively (#255) 2017-05-09 13:07:39 +01:00
Luck
6817945e12
Bump sponge API version, cleanup 2017-05-09 12:55:45 +01:00
Luck
a5746dfa21
Support sponge selector resolution - closes #275 2017-05-07 22:52:45 +01:00
Luck
cedc5108fc
Refactor Patterns to PatternCache 2017-05-07 13:56:42 +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
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
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
67b5c72520
Cleanup handling of unknown/null usernames for users 2017-04-17 19:31:52 +01:00
Luck
a3737d4f35
fix typo 2017-04-16 11:08:54 +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
1f54bc41cc
Cleanup poms, update copyright header 2017-04-15 19:01:52 +01:00
Luck
4fb07ff181
API changes for 3.1 2017-04-10 22:26:20 +01:00
Luck
82e759d708
Make sure world names are lowercase'd 2017-04-08 17:00:36 +01:00
Luck
9de44d2605
Don't attempt to migrate empty permissions 2017-04-07 21:03:27 +01:00
Luck
029dc9f8d9
Make the standard MySQL driver the default again 2017-04-06 11:30:17 +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
e68fc7c558
Improve performance of resolve methods in PermissionHolder, other cleanup 2017-04-04 15:22:25 +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
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
4d0499a61e
Avoid parsing UUID in sponge world calculator 2017-03-30 18:40:36 +01:00
Luck
8e557d122b
Fix some concurrency issues with login handling 2017-03-26 18:40:09 +01:00
Luck
5dcb8cd73a
Output group/track lists in alphabetical order 2017-03-25 19:48:17 +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
407ab43dd1
Update PM migration to support latest version 2017-03-17 23:21:57 +00:00
Luck
2e75bc3f3b
Add some alternate options for primary group calculation 2017-03-17 22:54:18 +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
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
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
2462eac497
Run exporter in own thread and process user exports concurrently 2017-03-10 20:44:19 +00:00
Luck
07f38aa283
Fix possible issue with context conversion 2017-03-05 22:56:00 +00:00
Luck
ec8273aa9f
Change bungeecord leave event priority to wait longer before unloading data 2017-02-26 21:53:03 +00:00
Luck
df99ef4481
misc cleanup 2017-02-26 12:43:35 +00:00
Luck
35d1057673
Refactor sponge commands to use the proxied interfaces (closes #197) 2017-02-26 11:55:59 +00:00
Luck
e6a90a18c4
Sort subjects properly 2017-02-26 01:16:54 +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
f97aa651a0
Fix NPE caused by generating the wrong ExtractedContexts type - closes #185 2017-02-16 21:43:27 +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
140e6b08ca
Apply regex perms before wildcards 2017-02-11 12:12:28 +00:00
Luck
6a39b721ba Fix sponge service returning subjects in reverse priority order 2017-02-09 23:00:48 +00:00
Luck
9493fb3a7a
Switch SpongeGroup meta handling to use MetaHolder - closes #171 2017-02-06 22:38:03 +00:00
Michael Vorburger
0982154a15 "Explaination" --> "Explanation" (#168) 2017-02-04 22:32:34 +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
1d71ec07be
fix option lookups in specific contexts returning as global instead 2017-02-03 17:18:18 +00:00
Luck
f0b4040458
Fix Sponge PEX meta migration weightings 2017-02-02 15:33:15 +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
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
a61d3b3fd4
Fix sponge PEX/PM migration issue with defaults 2017-01-29 21:56:09 +00:00
Luck
424af27a47
Change update messages to account for more than just redis messaging 2017-01-29 11:09:11 +00:00
Luck
f27034bb35
Pull git commit id once only - should improve build time 2017-01-26 13:55:06 +00:00
Luck
0c1a2e82bf
implement verbose expression matching 2017-01-23 22:43:52 +00:00