
Player Login Issue
Closed this issue ยท 9 comments
When I started my server and attempted to login I got this error:
https://gist.github.com/Spazzinq/e8775c906f363fb6de2898aa956696d1
(Also, I couldn't join either)
LuckPerms version 3.3.13
My only guess is that another plugin is bundling an older version of Caffeine (a lib used by LuckPerms).
Can you try removing all other plugins and seeing if the issue persists.
I remembered seeing Caffeine in the libs folder for LegacyFactions, so I removed LegacyFactions first and found that LegacyFactions was the issue. Looking into the LuckPerms folder, I now believe that instead of LegacyFactions using an older version of Caffeine, it is LuckPerms, as LuckPerms is using Caffeine 2.4.0 and 2.5.2, rather than LegacyFactions' Caffeine 2.5.5.
Can you try with https://ci.lucko.me/job/LuckPerms/319/
Got this error: https://gist.github.com/Spazzinq/c86f75d3db1bbeb00480768e6b57cdf3
(Still can't join)
Gonna guess this is because the same jar is being injected twice at different places in the classloader hierarchy.
LegacyFactions injects into the system loader
https://github.com/redstone/LegacyFactions/blob/master/src/main/java/net/redstoneore/legacyfactions/util/LibraryUtil.java#L68
whereas LP injects into the plugin loader.
https://github.com/lucko/LuckPerms/blob/master/common/src/main/java/me/lucko/luckperms/common/dependencies/DependencyManager.java#L138-L144
I would argue that of the two, LP's approach is the 'more correct', as it injects as if the lib was shaded into the jar. All plugins are expected to use their PluginClassLoader.
On that basis, I'd ask that you open a ticket on the LegacyFactions repo, as that is where I believe the issue lies.
I'm pretty unaware of which way is better. But I'll implement your approach, soft depend luckperms and also check that com.github.benmanes.caffeine.cache.Caffeine
doesn't already exist. Thanks!