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
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
Foorack
90cbff885f
Migrate PermissionsEx ladders ( #588 )
2017-12-04 23:24:06 +00:00
Luck
e2b9e37867
Change poms to conform to Sonatype's OSSRH requirements
2017-11-28 22:22:52 +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
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
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
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
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
a2801bff7c
Inject a fake map into the super PermissionAttachment instance to fix compat with plugins using reflection to change attachment data ( #528 )
2017-11-07 17:05:16 +00:00
Luck
f1a50f433f
Throw exception earlier if an invalid permission is added/removed via Vault ( #526 )
2017-11-07 15:22:31 +00:00
Luck
b7541c43c8
Add Sender#getNameWithLocation
2017-11-02 18:51:59 +00:00
Luck
94a4051d29
Add extra catch for null primary group in powerfulperms migration
2017-10-30 20:03:59 +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
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
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
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
5ac0f93214
Fix migrating null / non-existent usernames - reverts parts of 6bfeec6
, fixes #514
2017-10-22 09:07:08 +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
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
b26fc69e73
Remove usage of the now-redundant ExtractedContexts class, other misc cleanup
2017-10-15 14:23:51 +01:00
Luck
597f2f7b1b
Make parents-by-weight
the default primary group calculation method
2017-10-14 22:54:54 +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
de8fb8de90
Only load slf4j if it's not already present on the server
2017-09-23 21:15:45 +01:00