Commit Graph

661 Commits

Author SHA1 Message Date
Luck
f6c0794691
Return more detailed information about exactly how a permission check result was determined 2019-01-31 00:45:56 +00:00
Luck
d9912cb93f
Update some dependencies 2019-01-27 22:51:05 +00:00
Luck
5db999f995
Only form data buf once in Bukkit PluginMessage messenger 2019-01-23 12:12:33 +00:00
Luck
b744e35ad8
Fix typo in Vault exception message 2019-01-18 23:21:23 +00:00
Luck
3c0d1ba7a1
Ensure caches are invalidated when Bukkit/Nukkit's Permission#getChildren map is modified (#1378) 2019-01-13 16:58:31 +00:00
Luck
4b97c9419e
Finish updating commodore
woops
2019-01-07 21:29:28 +00:00
Luck
db830a0bef
Buildscript changes 2019-01-07 21:25:11 +00:00
Luck
797c195424
unInject -> uninject 2019-01-07 20:45:47 +00:00
Luck
4788290615
Rename Vault implementation classes 2019-01-07 20:44:52 +00:00
Luck
d0c016f6b7
Cleanup with way permissibles are monitored on Bukkit/Nukkit
- The removal of the call to recalculatePermissions should fix CMEs on startup, in particular with Vault.
- Monitored permissibles are now uninjected when the plugin disables.
2019-01-07 20:21:36 +00:00
Luck
ec7a5321a6
Some misc refactoring / code cleanup 2019-01-07 15:08:13 +00:00
Luck
6fc2321fad
Refactor PlayerLoginProcessEvent
This is technically a breaking change, but I'm fairly sure I'm the only person using this event. It's quite obscure ;p
2019-01-02 13:54:55 +00:00
Luck
8eed3131f2
Fix sending component messages on older CB/S releases (#1344) 2018-12-23 16:52:00 +00:00
Luck
e5c4b710f6
Fix CME in Bukkit refreshAutoOp
cc @Exloki
2018-12-22 17:04:32 +00:00
Luck
e3a6db5f97
Refactor ProgressLogger slightly 2018-12-19 10:39:48 +00:00
Luck
6d8077ffd0
Use text-adapter-bukkit for sending Components to Bukkit objects 2018-12-19 10:29:22 +00:00
Luck
8c57c2b46d
Remove static imports 2018-12-18 12:51:26 +00:00
Luck
4b1cf51530
replace LoadingCache with more simple LoadingMap alternative when no auto expiry is needed 2018-12-14 18:37:56 +00:00
Luck
ef31db1431
Improve /op and /deop command matching 2018-12-10 15:33:04 +00:00
Luck
b7ff0824b9
Optimize context set manipulation 2018-12-06 14:02:41 +00:00
Luck
2da6298c53
Update references to the project website 2018-11-22 15:25:39 +00:00
Luck
e111270aed
Add api-version option to Bukkit plugin.yml file
This doesn't make any functional change, LP doesn't use any of the remapped Material APIs. It only saves on the amount of remapping CB tries to perform when loading the plugin.
2018-11-22 15:19:12 +00:00
Luck
e07f8c0fbe
Don't send 1.13 tab completions to players without access to any LP commands (#1310) 2018-11-22 15:07:55 +00:00
Luck
90246afd03
Some misc refactoring 2018-11-22 14:51:20 +00:00
Luck
9809e591ad
Reorganise some packages 2018-11-10 23:16:28 +00:00
Luck
759ec5d499
Attempt to parse uuid from username string in Vault hook 2018-11-10 20:23:40 +00:00
Luck
58ab3c325c
misc tidying up 2018-11-10 20:21:08 +00:00
Luck
5dda522a62
Add option to deduplicate prefix/suffix stacks (#1285) 2018-11-06 14:29:15 +00:00
Luck
9988011308
Improve the way meta lookups are caught & reported to the verbose handler 2018-11-06 13:15:30 +00:00
Luck
5e0b8ebdf6
Include meta lookup events in verbose output 2018-10-28 12:31:47 +00:00
MrMicky
ee2de3cff1 Some minor code cleanup (#1262) 2018-10-09 18:00:53 +01:00
Luck
1cf90692cf
fix typo 2018-09-21 21:53:06 +01:00
Luck
834649b390
Improve Uuids#parse
thanks @kashike
2018-09-20 15:30:22 +01:00
Luck
04e511026d
Detach from permissible objects with a 1 tick delay after player quit to allow plugins listening on monitor to still access data (#1220) 2018-09-20 11:07:20 +01:00
Luck
51b7bb93e2
Don't trigger Vault primary thread checks whilst the server is starting up 2018-09-20 10:44:04 +01:00
Luck
3941c77826
Move from findbugs jsr305 to checker-qual 2018-09-19 20:40:25 +01:00
Luck
4987ca3ba2
Update gradle wrapper and buildscript plugins 2018-09-19 19:41:47 +01:00
Luck
dd78e0e271
Separate formatted vs plain display name methods in User/Group
Continues from 3c773e6823 & #1210
2018-09-10 16:54:16 +01:00
Luck
54a9ff9256
Fix compile 2018-09-09 11:31:17 +01:00
Luck
eca6b09b18
Refactor config keys 2018-09-05 20:49:37 +01:00
Luck
b7f8ca6658
Add 'require-sender-group-membership-to-modify' config option (#1140) 2018-09-05 15:49:29 +01:00
Luck
3a123f9fa1
Avoid running full "update tasks" unless they're absolutely needed. Process Vault API "set" requests immediately instead of in the background 2018-09-04 21:02:40 +01:00
Luck
f0c0328919
Refactor MetaAccumulator to be a little more sane 2018-09-04 20:33:22 +01:00
Luck
55220e9d10
Add support for Velocity 2018-08-26 22:24:46 +01:00
Luck
2ddae5a96c
Avoid UnsupportedEncodingException in LilyPad messenger 2018-08-12 10:40:26 +01:00
Luck
56c55d71fe
Improve the way Vault lookups for offline players are handled (#1150)
1) The behaviour of online player lookups is unchanged - this only affects offline player data lookups.
2) If a 'offline player' request is made from an async task, it is executed normally. (the data is loaded)
3) If a 'offline player' request that cannot be immediately fulfilled is made from the main server thread, an exception is thrown.

The exception thrown as a result of 3) can be disabled in the config. In this case, the query is performed anyway. The main server thread will block until the request is complete.
2018-08-11 19:02:57 +01:00
Luck
56df15caf8
Add bukkit-legacy build back to the main project 2018-08-11 18:11:30 +01:00
Luck
03720665b3
Move to gradle 2018-08-10 20:39:29 +01:00
Luck
b8466beee5
Completely rework event system
* Event instances are now generated dynamically at runtime. The performance hit of creating proxies at runtime is negligible in this case.

* A better EventBus implementation is now being used internally, API contracts are unaffected.
2018-08-09 22:39:33 +01:00
Luck
efa666445f
Initial support for Brigadier (1.13 commands) on Bukkit servers 2018-08-08 23:42:25 +01:00
Luck
b1ab465991
Misc cleanup 2018-07-29 17:12:05 -07:00
Luck
952e41ad3d
A few API javadoc improvements 2018-07-27 23:45:16 -07:00
Luck
ae3adf23c8
Fail silently when plugins use reflection to add to dummy permissibles (#1117) 2018-07-24 21:21:05 -07:00
Luck
c3cdf387c2
Fix NPE in GroupManager migration (#1118) 2018-07-24 21:03:14 -07:00
Luck
07469599bc
Rewrite MessagingService message encoding, conform to new plugin message channel requirements
* This change isn't backwards compatible with previous builds, this version (& onwards) won't be able to "communicate" with old versions, and vice versa.

* MC 1.13 requires plugin message channel names to be namespaced, so 'lpuc' has been changed to 'luckperms:update'

* The channel names for Redis/Lily types have also changed, I've been wanting to change the encoded format to something a bit saner for a while, and this seemed like a good time. Changing the channel names a) keeps things consistent and b) means I don't have to worry about old versions interpreting the new format.
2018-07-15 22:42:37 -07:00
Luck
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
5b66436519
Ensure the backing of LPSubscriptionValueMaps is a WeakHashMap (#1058) 2018-06-19 23:35:19 +01:00
Luck
379eb00b69
Cleanup various message localisations, limit the size of the PermissionRegistry 2018-06-19 22:27:47 +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
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
c0cd197bd0
Don't allow players to be added to SubscriptionValueMaps 2018-06-07 17:01:25 +01:00
Luck
f4e4f727dd
More workarounds to support MassiveCore's modification of attachment permissions via reflection 2018-05-31 00:51:33 +01:00
Luck
644c53a074
Add workaround for plugins adding/removing/modifying permission attachments via reflection (#1024)
who knows why they're doing it, it's not even beneficial for performance...
2018-05-30 13:17:41 +01:00
Luck
adf0589184
Print a more informative error when the port is missing from the address arg (#1022) 2018-05-29 12:40:39 +01:00
Luck
1e73986c60
Allow world rewrite options to apply in (some) Vault lookups (#990) 2018-05-16 19:04:09 +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
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
d3dded8791
Fix jedis shading (#930) 2018-05-06 15:58:40 +01:00
Luck
10c0efaa5d
Fix bad caching logic resulting in super high CPU usage 2018-05-04 23:12:46 +01:00
Luck
55d59bb1c4
Make auto-op changes take effect (almost) immediately (#943)
"almost immediately" is better than "after a relog" ;)
2018-05-03 20:21:52 +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
4547b52748
Refactor extended node types, general cleanup 2018-05-02 20:18:57 +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
55382519a1
Fix sponge split-storage config section being in the wrong section of the config (#928) 2018-04-25 17:30:56 +01:00
Luck
7d90dba08b
Update some dependency versions 2018-04-21 23:26:34 +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
f8d34d7f46
Fix compile 2018-04-09 20:58:52 +01:00
Luck
cb185e4827
Minor misc changes 2018-04-08 22:58:15 +01:00
Luck
6a5b7ce3a1
derp 2018-04-04 15:29:45 +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
cbeaaca7af
Fix shutdown hang (#881) 2018-03-31 11:11:42 +01: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
907d716929
Reorganise commands 2018-03-12 21:25:39 +00:00
Luck
f969e2e52b
Strip color when sending messages to the fallback logger 2018-03-09 16:43:29 +00:00
Luck
bf69d5314e
Implement Sponge subject lookup queries using CachedData from LP common 2018-03-07 23:50:23 +00:00
Luck
68e4d36f40
Extract common plugin behaviour into an abstract class 2018-03-03 16:26:37 +00:00
Luck
7549b3eb9e
Return a dummy value instead of throwing an exception when an offline player is queried via Vault (#806) 2018-03-01 10:08:09 +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
aa4833ed74
Fix NPEs caused in LPPermissionMap (#794) 2018-02-24 22:59:18 +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
4f4a387f04
Run the permissible monitoring injector twice 2018-02-24 14:08:36 +00:00
Luck
d0143f9e54
Fix issue with loading on old CraftBukkit versions 2018-02-24 14:04:22 +00:00
Luck
168e712324
Update API to 4.1 2018-02-23 22:13:41 +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
173286d404
Rebuild default and child permission lookup maps live instead of only once when the plugin first enables 2018-02-04 20:50:35 +00:00
Luck
fd937e3209
Refactor permission processors, misc cleanup 2018-02-04 18:39:34 +00:00
Luck
a1a2e189b6
Refactor PEX primary group detection to exclude temporary parents 2018-02-01 20:31:54 +00:00
Luck
5799a26cb7
Migrate temporary permissions / parents in PEX migration 2018-02-01 20:03:20 +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
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
e1c60fa70f
Only query online players when upgrading usernames --> uuids in Vault hooks 2018-01-23 17:07:26 +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
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
5ae90f2a4b
Log verbose checks for the console, commandblocks & entities when running on Bukkit 2018-01-16 19:20:06 +00:00
Spanner_Man
662b958a7f Update Jenkins URL for the LuckPermsLegacy build (#686) 2018-01-15 20:48:09 +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
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
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
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
ab115c4a6b
Fix NodeFactory#nodeAsCommand (closes #639) 2017-12-27 10:30:13 +00:00
Luck
e1e7bc8e0d
Return empty string instead of null in VaultChatHook 2017-12-24 11:42:40 +00:00
Luck
6602b23f09
misc cleanup 2017-12-23 23:51:42 +00:00
Luck
862fe6e2e3
fix compile 2017-12-23 20:45:28 +00:00
Luck
5a34fa182a
rewrite Vault implementation to upgrade requests to uuids instead of downgrade to usernames 2017-12-23 18:25:23 +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
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