You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Players who have op status in the server configuration get stuck in an infinite disconnect loop. The player will connect, then immediately get kicked with Velocity throwing the below error. They then get sent to the other backends (which fail to connect because the client is modded), then back to this one causing an infinite loop which requires closing the client with Alt+F4 to get out of. The backend server doesn't log any error and just shows "Disconnected" as though the player had logged out normally.
io.netty.handler.codec.CorruptedFrameException: Error decoding class com.velocitypowered.proxy.protocol.packet.AvailableCommandsPacket Direction CLIENTBOUND Protocol 1.21 State PLAY ID 11
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.handleDecodeFailure(MinecraftDecoder.java:130) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:85) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:60) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:455) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.IllegalArgumentException: Argument type identifier null unknown.
at com.velocitypowered.proxy.protocol.packet.brigadier.ArgumentPropertyRegistry.deserialize(ArgumentPropertyRegistry.java:89) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at com.velocitypowered.proxy.protocol.packet.AvailableCommandsPacket.deserializeNode(AvailableCommandsPacket.java:210) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at com.velocitypowered.proxy.protocol.packet.AvailableCommandsPacket.decode(AvailableCommandsPacket.java:88) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:83) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
... 30 more
[13:25:09] [Netty epoll Worker #14/INFO] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] TwiceInAMoment -> cobblemon has disconnected
[13:25:09] [Netty epoll Worker #14/INFO] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] TwiceInAMoment -> lobby has connected
[13:25:09] [Netty epoll Worker #14/INFO] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] TwiceInAMoment -> lobby has disconnected
[13:25:09] [Netty epoll Worker #14/ERROR] [com.velocitypowered.proxy.connection.client.ConnectedPlayer]: [connected player] TwiceInAMoment (/10.0.0.76:52459): disconnected while connecting to lobby: Outdated client! Please use 1.21.4
[13:25:09] [Netty epoll Worker #14/ERROR] [com.velocitypowered.proxy.connection.client.ConnectedPlayer]: [connected player] TwiceInAMoment (/10.0.0.76:52459): unable to connect to server survival1
io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: newerarpg-p3.local/10.0.0.33:26001
Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused
at io.netty.channel.unix.Errors.newConnectException0(Errors.java:166) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:131) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.unix.Socket.finishConnect(Socket.java:359) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:715) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:692) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:567) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:491) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity.jar:3.4.0-SNAPSHOT (git-876b9c36-b465)]
at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
The text was updated successfully, but these errors were encountered:
twiceineverymoment
changed the title
Infinite disconnect loop when using LuckPerms with mySQL storage provider
Op players get stuck in infinite disconnect loop
Feb 3, 2025
Edited to reflect more investigation into the issue. The root cause is not LuckPerms after all, but having op status. LuckPerms's auto-op feature was making it seem to be the culprit but the same thing happens to players opped manually via console with LuckPerms not even installed.
Players who have op status in the server configuration get stuck in an infinite disconnect loop. The player will connect, then immediately get kicked with Velocity throwing the below error. They then get sent to the other backends (which fail to connect because the client is modded), then back to this one causing an infinite loop which requires closing the client with Alt+F4 to get out of. The backend server doesn't log any error and just shows "Disconnected" as though the player had logged out normally.
Ubuntu 20.04 LTS
OpenJDK 21 x64
Fabric 0.16.10
MC 1.21.1
FabricProxy-Lite 2.9.0
The text was updated successfully, but these errors were encountered: