你的目标
- 支持正版、外置登录、基岩版玩家进服
- 登录功能正常运作
- 后端服务器能正常接收Floodgate API的数据(Floodgate配置中
send-floodgate-data可设为true)
当前环境
- velocity-3.5.0-SNAPSHOT-593
- 置于Docker容器中(镜像名:
mcr.microsoft.com/openjdk/jdk:25-ubuntu)
- Geyser Build 1129
- Floodgate Build 132
- 登录服:leaf-1.21.11-123
- 置于Docker容器中(镜像名:
mcr.microsoft.com/openjdk/jdk:21-ubuntu)
- Viaversion + Viabackwards
- Floodgate Build 132
- 游戏服:purpur-1.21.1-2329
- 置于Docker容器中(镜像名:
mcdreforged/mcdreforged-temurin:latest)
- Viaversion + Viabackwards
- Floodgate Build 132
- 数据库:内置 SQLite
- 启用模块:
auth-floodgate auth-yggd profile-skin
- 关键配置:
插件版本与下载渠道
HyperZoneLogin-26.W18.7-WEEKLY-1fc582f8-all.jar (Github Weekly Release)
服务器插件列表
代理端:
- Alert-1.6.jar
- floodgate-velocity.jar (build 132)
- Geyser-Velocity.jar (build 1129)
- HyperZoneLogin-26.W18.7-WEEKLY-1fc582f8-all.jar
- KickRedirect-2.0.10.jar
- LibertyBans_1.1.3-SNAPSHOT.jar
- LuckPerms-Velocity-5.4.128.jar
- Maintenance-Velocity-4.2.1.jar
- minimotd-velocity-2.1.0.jar
- ServerPermissions-1.3.3.jar
- SignedVelocity-Proxy-1.3.0.jar
- Sonar-Velocity.jar
- TrChat-2.3.2.jar
登录服:
- floodgate-spigot.jar (build 132)
- ViaBackwards-5.9.0-SNAPSHOT.jar
- ViaVersion-5.9.0-SNAPSHOT.jar
具体问题
一旦在 Velocity 端的 Floodgate 中启用send-floodgate-data,所有玩家(包括 Java 版玩家)均无法进入服务器,Velocity 后台输出java.lang.IllegalArgumentException错误(见下)。将send-floodgate-data禁用后恢复正常。
感觉该问题与 #12 类似,可能当时没有对Floodgate数据转发做推送?
你已经看过哪些文档
所有文档(毕竟文档就是我写的awa)
其他补充
报错日志片段:
[17:12:43 INFO]: [connected player] JerryHan3 (/***.***.***.***:*****) entered outpre pre-registration flow
[17:12:43 INFO] [hyperzonelogin]: [LoginProfileReplace] 替换成功: server=outpre-auth name=HZL911662 uuid=78985774-6001-3e6d-afde-611997f533da
[17:12:43 INFO]: [connected player] JerryHan3 (/***.***.***.***:*****) has disconnected: object of type icu.h2l.login.vServer.outpre.OutPreBackendBridge is not an instance of com.velocitypowered.proxy.connection.backend.VelocityServerConnection
[17:12:43 WARN] [hyperzonelogin]: OutPre initial backend bridge disconnected before verification: player=JerryHan3, reason=object of type icu.h2l.login.vServer.outpre.OutPreBackendBridge is not an instance of com.velocitypowered.proxy.connection.backend.VelocityServerConnection
[17:12:43 ERROR]: icu.h2l.login.vServer.outpre.OutPreBackendBridge@5399c607: exception encountered in icu.h2l.login.vServer.outpre.OutPreBackendBridgeSessionHandler@48421b97
java.lang.IllegalArgumentException: object of type icu.h2l.login.vServer.outpre.OutPreBackendBridge is not an instance of com.velocitypowered.proxy.connection.backend.VelocityServerConnection
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.checkReceiver(DirectMethodHandleAccessor.java:199) ~[?:?]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:100) ~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[?:?]
at org.geysermc.floodgate.util.ReflectionUtils.invoke(ReflectionUtils.java:597) ~[?:?]
at org.geysermc.floodgate.util.ReflectionUtils.castedInvoke(ReflectionUtils.java:623) ~[?:?]
at org.geysermc.floodgate.addon.data.VelocityServerDataHandler.write(VelocityServerDataHandler.java:105) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:800) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:737) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:113) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at icu.h2l.login.inject.network.netty.replacer.ChatSessionKillerPacketReplacer.write(ChatSessionKillerPacketReplacer.kt:62) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:800) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:737) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.ChannelOutboundHandlerAdapter.write(ChannelOutboundHandlerAdapter.java:113) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at icu.h2l.login.inject.network.netty.replacer.LoginProfilePacketReplacer.write(LoginProfilePacketReplacer.kt:174) ~[?:?]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:800) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:737) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:1036) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.Channel.write(Channel.java:267) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at com.velocitypowered.proxy.connection.MinecraftConnection.delayedWrite(MinecraftConnection.java:251) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at icu.h2l.login.vServer.outpre.OutPreBackendBridge.startHandshake(OutPreBackendBridge.kt:206) ~[?:?]
at icu.h2l.login.vServer.outpre.OutPreBackendBridge.connect$lambda$0(OutPreBackendBridge.kt:153) ~[?:?]
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:604) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:597) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:573) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:506) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:650) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:639) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:119) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.fulfillConnectPromise(AbstractEpollChannel.java:707) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:745) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:611) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:472) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:317) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:515) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:460) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity-3.5.0-SNAPSHOT-593.jar:3.5.0-SNAPSHOT (git-f712997d-b593)]
at java.base/java.lang.Thread.run(Thread.java:1474) [?:?]
[17:12:43 INFO]: icu.h2l.login.vServer.outpre.OutPreBackendBridge@5399c607 has connected
[17:12:43 INFO]: [connected player] JerryHan3 (/119.78.253.10:64284) has disconnected: OutPre auth backend connection failed
[17:12:43 INFO]: icu.h2l.login.vServer.outpre.OutPreBackendBridge@5399c607 has disconnected
你的目标
send-floodgate-data可设为true)当前环境
mcr.microsoft.com/openjdk/jdk:25-ubuntu)mcr.microsoft.com/openjdk/jdk:21-ubuntu)mcdreforged/mcdreforged-temurin:latest)auth-floodgateauth-yggdprofile-skin插件版本与下载渠道
HyperZoneLogin-26.W18.7-WEEKLY-1fc582f8-all.jar (Github Weekly Release)
服务器插件列表
代理端:
登录服:
具体问题
一旦在 Velocity 端的 Floodgate 中启用
send-floodgate-data,所有玩家(包括 Java 版玩家)均无法进入服务器,Velocity 后台输出java.lang.IllegalArgumentException错误(见下)。将send-floodgate-data禁用后恢复正常。感觉该问题与 #12 类似,可能当时没有对Floodgate数据转发做推送?
你已经看过哪些文档
所有文档(
毕竟文档就是我写的awa)其他补充
报错日志片段: