AuthMe Reloaded

AuthMe Reloaded

3M Downloads

Error when executing the "/logout" command for the first time.

Qveshn opened this issue · 3 comments

commented

Error when executing the /logout command for the first time after starting the server.

Terms used below:
bungee-server - BungeeCord-1598 with AuthMeBungee-2.2.0-beta1
authme-server - spigot-1.17.1-3221 with AuthMe-5.6.0-beta2 (AuthMeReloaded) + ProtocolLib-4.7.0-b529.jar

Test case:

  1. START bungee-server => OK
  2. START authme-server => OK
  3. the player connects to bungee-server -> authme-server => OK
  4. /login => OK
  5. /logout => ERROR (this is the first time the command is executed after starting the server)
[02:06:07] [Server thread/INFO]: player issued server command: /logout
[02:06:07] [Server thread/WARN]: java.lang.NoSuchMethodException: java.util.Arrays$ArrayList.<init>()
[02:06:07] [Server thread/WARN]:        at java.base/java.lang.Class.getConstructor0(Class.java:3517)
[02:06:07] [Server thread/WARN]:        at java.base/java.lang.Class.getConstructor(Class.java:2238)
[02:06:07] [Server thread/WARN]:        at com.comphenix.protocol.wrappers.BukkitConverters.getGenericList(BukkitConverters.java:277)
[02:06:07] [Server thread/WARN]:        at com.comphenix.protocol.wrappers.BukkitConverters.access$100(BukkitConverters.java:88)
[02:06:07] [Server thread/WARN]:        at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:367)
[02:06:07] [Server thread/WARN]:        at com.comphenix.protocol.wrappers.BukkitConverters$3.getGeneric(BukkitConverters.java:359)
[02:06:07] [Server thread/WARN]:        at com.comphenix.protocol.wrappers.Converters$1.getGeneric(Converters.java:48)
[02:06:07] [Server thread/WARN]:        at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:372)
[02:06:07] [Server thread/WARN]:        at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:345)
[02:06:07] [Server thread/WARN]:        at fr.xephi.authme.listener.protocollib.InventoryPacketAdapter.sendBlankInventoryPacket(InventoryPacketAdapter.java:114)
[02:06:07] [Server thread/WARN]:        at fr.xephi.authme.listener.protocollib.ProtocolLibService.sendBlankInventoryPacket(ProtocolLibService.java:113)
[02:06:07] [Server thread/WARN]:        at fr.xephi.authme.process.logout.ProcessSyncPlayerLogout.processSyncLogout(ProcessSyncPlayerLogout.java:57)
[02:06:07] [Server thread/WARN]:        at fr.xephi.authme.process.SyncProcessManager.lambda$processSyncPlayerLogout$2(SyncProcessManager.java:48)
[02:06:07] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:82)
[02:06:07] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:415)
[02:06:07] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1269)
[02:06:07] [Server thread/WARN]:        at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:438)
[02:06:07] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1217)
[02:06:07] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1050)
[02:06:07] [Server thread/WARN]:        at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:305)
[02:06:07] [Server thread/WARN]:        at java.base/java.lang.Thread.run(Thread.java:831)
[02:06:07] [Server thread/INFO]: [AuthMe] player logged out
  1. continue: /login, /logout, ..., /login, /logout => OK
  2. player is disconnected => OK
  3. STOP and START authme-server => OK
  4. player joins bungee-server -> authme-server => OK
  5. /login => OK
  6. /logout => ERROR (the same error as above)
  7. continue: /login, /logout, ..., /login, /logout => OK
commented

@Qveshn which version of ProtocolLib are you using? (Please include the build number)

commented

Sorry, forgot... now added this to the description

ProtocolLib-4.7.0.jar

https://www.spigotmc.org/threads/protocollib.36230/
direct link https://www.spigotmc.org/resources/protocollib.1997/download?version=408253
or
github https://github.com/dmulloy2/ProtocolLib/releases/tag/4.7.0
direct link https://github.com/dmulloy2/ProtocolLib/releases/download/4.7.0/ProtocolLib.jar

Both files have the same bytes when compared

There is some problems with build number... I did not use dev-build versions
ATM https://ci.dmulloy2.net/job/ProtocolLib/ has last dev-build number 531, but I use version under section "recomended versions" v4.7.0. Url goes to github (as above one). And I use it (v4.7.0).
Just compared 10 last dev builds with github one, When comparing bytes, no devbuild version matches the github version =\

...
Сompared in more detail. Found a devbuild version corresponding to what is on github/spigot. - 529.
All files in jar are equal except two maven files:
META-INF\maven\com.comphenix.protocol\ProtocolLib\pom.properties
META-INF\maven\com.comphenix.protocol\ProtocolLib\pom.xml
Difference is only in end-of-line chars (CRLF vs LF)

Should I try to use last devbuild version 4.7.1-SNAPSHOT-b531 ?
... I will test last dev build version tonight

PS. As I understood, looking at the source codes, the exception occurs during the update of the player's inventory (probably deleting the previously given item after login). I also noticed that in 1.17.1 the "Window Items" packet format has changed compared to 1.17
1.17.1: https://wiki.vg/index.php?title=Protocol&oldid=16918#Window_Items
1.17: https://wiki.vg/index.php?title=Protocol&oldid=16866#Window_Items

on 10 Jul

commented

Tested with ProtocolLib-4.7.1-SNAPSHOT-b531.jar - no errors! 😃
Hope they release the general availability (final) 4.7.1 version soon.
I am closing this issue.