高性能和高兼容性的1.12.2/1.16.5/1.18.2版本Forge+Bukkit+Spigot服务端 (A high performance and high compatibility 1.12.2/1.16.5/1.18.2 version Forge+Bukkit+Spigot server)
[12:27:30] [Server thread/INFO]: Bear[/127.0.0.1:50278] logged in with entity id 154 at ([world]-12.5, 67.0, -48.5)
[12:27:36] [Server thread/INFO]: Bear lost connection: Disconnected
[12:27:36] [Server thread/INFO]: Bear left the game
异常的退出的日志(用cat核心测试)
Caused by: java.lang.IllegalStateException: Can't retrieve player session from offline player!
at com.lenis0012.bukkit.loginsecurity.session.SessionManager.getPlayerSession(SessionManager.java:40) ~[?:?]
at com.lenis0012.bukkit.loginsecurity.modules.threading.ThreadingModule.onPlayerQuit(ThreadingModule.java:66) ~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor703.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[forge-1.18.2-40.2.4-universal.jar%23118!/:?]
... 13 more
[15:31:32] [Server thread/ERROR] [Minecraft]: Could not pass event PlayerQuitEvent to LoginSecurity v3.1.1
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[forge-1.18.2-40.2.4-universal.jar%23118!/:?]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[forge-1.18.2-40.2.4-universal.jar%23118!/:?]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:594) ~[forge-1.18.2-40.2.4-universal.jar%23118!/:?]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:578) ~[forge-1.18.2-40.2.4-universal.jar%23118!/:?]
at net.minecraft.server.players.PlayerList.m_11286_(PlayerList.java:390) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.m_7026_(ServerGamePacketListenerImpl.java:1422) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at net.minecraft.network.Connection.m_129541_(Connection.java:406) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at net.minecraft.server.network.ServerConnectionListener.m_9721_(ServerConnectionListener.java:175) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:1206) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:397) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:1112) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:952) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:312) ~[server-1.18.2-20220404.173914-srg.jar%23113!/:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
运行环境
Minecraft版本(1.12.2/1.16.5/1.18.2): 1.18.2 构建版本(从/version指令获取): 6c3f596 相关模组/插件: LoginSecurity
描述这个BUG
正常玩家退出的日志(用spigot核心测试)
异常的退出的日志(用cat核心测试)
导致的问题
LoginSecurity 插件在 cat 端无法正确处理 player session 集合
复现方法