AuthMe / AuthMeReloaded

The best authentication plugin for the Bukkit/Spigot API!
https://www.spigotmc.org/resources/authmereloaded.6269/
GNU General Public License v3.0
618 stars 514 forks source link

Authme with luckperms error when player has more than 1 server context. #2576

Open Dagrond opened 2 years ago

Dagrond commented 2 years ago

What behaviour is observed?

Latest dev build of Authme from jenkins. When Player with more than one server context (luckperms) permission joins a server, the error appears: [10:11:07] [Server thread/WARN]: [AuthMe] Task #285 for AuthMe v5.6.0-SNAPSHOT-b2536 generated an exception java.lang.IllegalArgumentException: Multiple entries with same key: server=survival1 and server=proxy at com.google.common.collect.ImmutableMap.conflictException(ImmutableMap.java:376) ~[guava-31.0.1-jre.jar:?] at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:370) ~[guava-31.0.1-jre.jar:?] at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:153) ~[guava-31.0.1-jre.jar:?] at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:115) ~[guava-31.0.1-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.buildOrThrow(ImmutableMap.java:574) ~[guava-31.0.1-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:538) ~[guava-31.0.1-jre.jar:?] at me.lucko.luckperms.common.context.ImmutableContextSetImpl.toFlattenedMap(ImmutableContextSetImpl.java:123) ~[?:?] at fr.xephi.authme.permission.handlers.LuckPermsHandler.lambda$getGroups$5(LuckPermsHandler.java:189) ~[AuthMe-5.6.0-SNAPSHOT.jar:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) ~[?:?] at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?] at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?] at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?] at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[?:?] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?] at fr.xephi.authme.permission.handlers.LuckPermsHandler.getGroups(LuckPermsHandler.java:190) ~[AuthMe-5.6.0-SNAPSHOT.jar:?] at fr.xephi.authme.permission.handlers.LuckPermsHandler.getGroups(LuckPermsHandler.java:37) ~[AuthMe-5.6.0-SNAPSHOT.jar:?] at fr.xephi.authme.permission.PermissionsManager.getGroups(PermissionsManager.java:290) ~[AuthMe-5.6.0-SNAPSHOT.jar:?] at fr.xephi.authme.data.limbo.LimboServiceHelper.createLimboPlayer(LimboServiceHelper.java:48) ~[AuthMe-5.6.0-SNAPSHOT.jar:?] at fr.xephi.authme.data.limbo.LimboService.createLimboPlayer(LimboService.java:73) ~[AuthMe-5.6.0-SNAPSHOT.jar:?] at fr.xephi.authme.process.join.AsynchronousJoin.lambda$processJoinSync$8(AsynchronousJoin.java:183) ~[AuthMe-5.6.0-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:101) ~[purpur-1.18.2.jar:git-Purpur-1626] at org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483) ~[purpur-1.18.2.jar:git-Purpur-1626] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1558) ~[purpur-1.18.2.jar:git-Purpur-1626] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:522) ~[purpur-1.18.2.jar:git-Purpur-1626] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1482) ~[purpur-1.18.2.jar:git-Purpur-1626] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1246) ~[purpur-1.18.2.jar:git-Purpur-1626] at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:320) ~[purpur-1.18.2.jar:git-Purpur-1626] at java.lang.Thread.run(Thread.java:833) ~[?:?]

Expected behaviour

Not throwing error.

To Reproduce

  1. Give an player group/permission with 2 server contexts: /lp user (nickname) permission set anything true server=first server=second
  2. Join the server and the error will appear.

Plugin list

AuthmeReloaded, Luckperms, Vault.

Server Implementation

Standalone server (no proxy)

Database Implementation

MySQL

AuthMe Version

AuthMe Reloaded v5.6.0-SNAPSHOT (build: 2536)

Error log (if applicable)

https://paste.gg/p/anonymous/4fc2e4025d1847af9cf459c7ff44457b

Configuration

No need of that, this is happening even on default configuration.

haroldrc commented 2 years ago

I have the same problem