RelativityMC / raknetify

A Fabric mod / Velocity plugin / BungeeCord plugin that uses RakNet to improve multiplayer experience significantly under unreliable and rate-limited connections.
MIT License
148 stars 2 forks source link

1.20.2 Using warp to transmit will cause disconnection #44

Closed candy999 closed 9 months ago

candy999 commented 9 months ago

Describe the bug Someone asked this question from raknetify https://github.com/PaperMC/Velocity/issues/1142

To Reproduce Steps to reproduce the behavior:

  1. warp to transmit will cause disconnection

Runtime info (please complete the following information):

Crash reports / logs

[20:39:02 INFO]: [server connection] savi1625 -> MineCandy has disconnected
[20:39:02 INFO]: [server connection] savi1625 -> Lobby has connected
[20:39:17 INFO]: [server connection] savi1625 -> MineCandy has connected
[20:39:17 INFO]: [server connection] savi1625 -> Lobby has disconnected
[20:39:31 ERROR]: [server connection] savi1625 -> MineCandy: exception encountered in com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler@2cb41f9f
com.velocitypowered.proxy.util.except.QuietRuntimeException: A packet did not decode successfully (invalid data). For more information, launch Velocity with -Dvelocity.packet-decode-logging=true to see more.
[20:39:31 INFO]: [server connection] savi1625 -> MineCandy has disconnected
[20:39:31 INFO]: [server connection] savi1625 -> Lobby has connected
[20:39:56 INFO]: [server connection] savi1625 -> MineCandy has connected
[20:39:56 INFO]: [server connection] savi1625 -> Lobby has disconnected
[20:40:13 ERROR]: [server connection] savi1625 -> MineCandy: exception encountered in com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler@3e73074
com.velocitypowered.proxy.util.except.QuietRuntimeException: A packet did not decode successfully (invalid data). For more information, launch Velocity with -Dvelocity.packet-decode-logging=true to see more.
[20:40:13 INFO]: [server connection] savi1625 -> MineCandy has disconnected
[20:40:13 INFO]: [server connection] savi1625 -> Lobby has connected
[20:42:01 INFO]: [server connection] savi1625 -> MineCandy has connected
[20:42:01 INFO]: [server connection] savi1625 -> Lobby has disconnected
[20:42:42 ERROR]: [server connection] savi1625 -> MineCandy: exception encountered in com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler@5b30ce4f
com.velocitypowered.proxy.util.except.QuietRuntimeException: A packet did not decode successfully (invalid data). For more information, launch Velocity with -Dvelocity.packet-decode-logging=true to see more.
[20:42:42 INFO]: [server connection] savi1625 -> MineCandy has disconnected
[20:42:42 INFO]: [server connection] savi1625 -> Lobby has connected
[20:42:59 INFO]: [server connection] savi1625 -> MineCandy has connected
[20:42:59 INFO]: [server connection] savi1625 -> Lobby has disconnected
[20:46:10 INFO]: [connected player] HitomatoXD (/10.0.0.1:60943) has connected
[20:46:10 INFO]: [server connection] HitomatoXD -> MineCandy has connected

add -Dvelocity.packet-decode-logging=true


[20:50:27] [main/INFO] [com.velocitypowered.proxy.VelocityServer]: Booting up Velocity 3.2.0-SNAPSHOT (git-8dcc7ee3-b294)...
[20:50:27] [main/INFO] [com.velocitypowered.proxy.VelocityServer]: Loading localizations...
[20:50:27] [main/INFO] [com.velocitypowered.proxy.network.ConnectionManager]: Connections will use NIO channels, Java compression, Java ciphers
[20:50:27] [main/INFO] [com.velocitypowered.proxy.VelocityServer]: Loading plugins...
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin alwaysonline 6.2.4 by Dablakbandit
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin fastmotd 1.0.4-SNAPSHOT by Elytrium (https://elytrium.net/)
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin geyser 2.2.0-SNAPSHOT (git-master-13339f1) by GeyserMC
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin luckperms 5.4.108 by Luck
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin raknetify 0.1.0+alpha.5.109 by ishland
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin send 3.0.0 by OskarsMC, OskarZyg
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin vpacketevents 1.1.0 by 4drian3d
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin signedvelocity 1.2.1 by 4drian3d
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin velocityrcon 1.0 by UnioDex
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin viaversion 4.9.0-23w45a-SNAPSHOT by _MylesC, creeper123123321, Gerrygames, kennytv, Matsv
[20:50:27] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin viabackwards 4.9.0-23w45a-SNAPSHOT by Matsv, kennytv, Gerrygames, creeper123123321, ForceUpdate1
[20:50:27] [main/INFO] [com.velocitypowered.proxy.VelocityServer]: Loaded 11 plugins
[20:50:28] [Velocity Async Event Executor - #0/INFO] [com.velocitypowered.proxy.console.VelocityConsole]: �[96m       �[36m __    �[0m
[20:50:28] [Velocity Async Event Executor - #0/INFO] [com.velocitypowered.proxy.console.VelocityConsole]: �[96m  |    �[36m|__)   �[0m�[32mLuckPerms�[0m �[96mv5.4.108�[0m
[20:50:28] [Velocity Async Event Executor - #0/INFO] [com.velocitypowered.proxy.console.VelocityConsole]: �[96m  |___ �[36m|      �[90mRunning on Velocity - Velocity�[0m
[20:50:28] [Velocity Async Event Executor - #0/INFO] [com.velocitypowered.proxy.console.VelocityConsole]: 
[20:50:28] [Velocity Async Event Executor - #0/INFO] [luckperms]: Loading configuration...
[20:50:28] [Velocity Async Event Executor - #0/INFO] [luckperms]: Loading storage provider... [H2]
[20:50:28] [Velocity Async Event Executor - #0/INFO] [luckperms]: Loading internal permission managers...
[20:50:28] [Velocity Async Event Executor - #0/INFO] [luckperms]: Performing initial data load...
[20:50:28] [Velocity Async Event Executor - #0/INFO] [luckperms]: Successfully enabled. (took 796ms)
[20:50:28] [Velocity Async Event Executor - #0/INFO] [alwaysonline]: Loading configuration...
[20:50:28] [Velocity Async Event Executor - #0/INFO] [alwaysonline]: Successfully loaded previous state variables!
[20:50:28] [Velocity Async Event Executor - #0/INFO] [alwaysonline]: Loading file database...
[20:50:28] [Velocity Async Event Executor - #0/INFO] [alwaysonline]: Database is ready to go!
[20:50:28] [Velocity Async Event Executor - #0/INFO] [alwaysonline]: Head Session server check: true
[20:50:28] [Velocity Async Event Executor - #0/INFO] [alwaysonline]: Total check methods active: 1
[20:50:28] [Velocity Async Event Executor - #0/INFO] [fastmotd]: Hooked into ServerChannelInitializer
[20:50:29] [Velocity Async Event Executor - #0/INFO] [geyser]: 正在載入擴展...
[20:50:29] [Velocity Async Event Executor - #0/INFO] [geyser]: 已載入 0 個擴展程序
[20:50:29] [Velocity Async Event Executor - #0/INFO] [raknetify]: Bootstrapping raknetify in wrapped environment
[20:50:29] [Velocity Async Event Executor - #0/INFO] [signedvelocity]: Starting SignedVelocity
[20:50:29] [Velocity Async Event Executor - #0/INFO] [velocityrcon]: Binding rcon to address: /0.0.0.0:25576
[20:50:29] [Via-Mappingloader-0/INFO] [viaversion]: Loading block connection mappings ...
[20:50:29] [Velocity Async Event Executor - #0/INFO] [viaversion]: Replacing channel initializers; you can safely ignore the following two warnings.
[20:50:29] [Velocity Async Event Executor - #0/WARN] [com.velocitypowered.proxy.network.ConnectionManager]: The server channel initializer has been replaced by java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[20:50:29] [Velocity Async Event Executor - #0/WARN] [com.velocitypowered.proxy.network.ConnectionManager]: The backend channel initializer has been replaced by java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[20:50:29] [Velocity Async Event Executor - #0/INFO] [viabackwards]: Loading translations...
[20:50:29] [Velocity Async Event Executor - #0/INFO] [viabackwards]: Registering protocols...
[20:50:30] [Velocity Async Event Executor - #0/INFO] [viaversion]: ViaVersion detected lowest supported version by the proxy: 1.13 (393)
[20:50:30] [Velocity Async Event Executor - #0/INFO] [viaversion]: Highest supported version by the proxy: 1.20.2 (764)
[20:50:30] [ViaVersion - Task Executor #2/INFO] [viaversion]: Finished mapping loading, shutting down loader executor!
[20:50:30] [Netty NIO Boss #0/INFO] [com.velocitypowered.proxy.network.ConnectionManager]: Listening on /[0:0:0:0:0:0:0:0]:25565
[20:50:30] [Velocity Async Event Executor - #2/INFO] [geyser]: ******************************************
[20:50:30] [Velocity Async Event Executor - #2/INFO] [geyser]: 
[20:50:30] [Velocity Async Event Executor - #2/INFO] [geyser]: 正在載入 Geyser 版本 2.2.0-SNAPSHOT (git-master-13339f1)
[20:50:30] [Velocity Async Event Executor - #2/INFO] [geyser]: 
[20:50:30] [Velocity Async Event Executor - #2/INFO] [geyser]: ******************************************
[20:50:30] [Netty NIO Worker #3/INFO] [com.velocitypowered.proxy.network.ConnectionManager]: Listening for GS4 query on /[0:0:0:0:0:0:0:0]:25566
[20:50:30] [main/INFO] [com.velocitypowered.proxy.Velocity]: Done (3.31s)!
[20:50:30] [ViaVersion - Task Executor #0/WARN] [viaversion]: You are running a newer version of the plugin than is released!
[20:50:32] [Velocity Async Event Executor - #2/INFO] [geyser]: Geyser 在 0.0.0.0:19132 啟動
[20:50:32] [Velocity Async Event Executor - #2/INFO] [geyser]: 完成 (2.167s)! 執行 /geyser help 來取得說明!
[20:50:32] [Velocity Async Event Executor - #2/INFO] [raknetify]: Raknetify server started on /[fe80:0:0:0:59cd:234:4769:73c2%53]:25565
[20:50:32] [Velocity Async Event Executor - #2/INFO] [raknetify]: Raknetify server started on /172.30.74.54:25565
[20:50:32] [Velocity Async Event Executor - #2/INFO] [raknetify]: Raknetify server started on /[0:0:0:0:0:0:0:1]:25565
[20:50:32] [Velocity Async Event Executor - #2/INFO] [raknetify]: Raknetify server started on /127.0.0.1:25565
[20:50:43] [Netty NIO Worker #6/INFO] [com.velocitypowered.proxy.connection.client.AuthSessionHandler]: [connected player] CandySister (/10.0.0.107:1192) has connected
[20:50:43] [Netty NIO Worker #6/INFO] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] CandySister -> MineCandy has connected
[20:50:51] [Netty NIO Worker #6/ERROR] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] CandySister -> MineCandy: exception encountered in com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler@3939f62f
io.netty.handler.codec.CorruptedFrameException: Error decoding class com.velocitypowered.proxy.protocol.packet.Respawn Direction CLIENTBOUND Protocol 1.20.2 State PLAY ID 43
    at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.handleDecodeFailure(MinecraftDecoder.java:131) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:86) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:61) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:454) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:689) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:652) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: io.netty.handler.codec.CorruptedFrameException: Trying to read a string that is too long (wanted 109, only have 25)
    at com.velocitypowered.proxy.protocol.util.NettyPreconditions.checkFrame(NettyPreconditions.java:83) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at com.velocitypowered.proxy.protocol.ProtocolUtils.readString(ProtocolUtils.java:201) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at com.velocitypowered.proxy.protocol.ProtocolUtils.readString(ProtocolUtils.java:192) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at com.velocitypowered.proxy.protocol.ProtocolUtils.readString(ProtocolUtils.java:179) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at com.velocitypowered.proxy.protocol.packet.Respawn.decode(Respawn.java:200) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:84) ~[velocity-3.2.0-SNAPSHOT-294.jar:3.2.0-SNAPSHOT (git-8dcc7ee3-b294)]
    ... 32 more
[20:50:51] [Netty NIO Worker #6/INFO] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] CandySister -> MineCandy has disconnected
[20:50:51] [Netty NIO Worker #6/INFO] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] CandySister -> Lobby has connected

Other mods

image

Checklist

Additional context

ishland commented 9 months ago

The logs does not indicate that connection is made with raknetify. Please try reproduce without raknetify.

dentatar commented 9 months ago

+1 I got the same issue… Can't reproduce without raknetify. Velocity 3.2.0-296 Raknetify 0.1.0+alpha.5.109 (EDIT: I updated raknetify to 0.1.0+alpha.5.113 and the issue still persists) Other plugins: luckperms, carbonchat, geyser, nanolimbovelocity, librelogin, vpacketevents, signedvelocity, tab, velocitycoollist, viaversion, viabackwards

ishland commented 9 months ago

Cannot reproduce with raknetify as the only plugin on velocity and a vanilla 1.20.1 server as the backend. Can this issue be reproduced with raknetify as the only plugin on velocity?

dentatar commented 9 months ago

Ye 1.20.1 works fine, but now i upgraded to 1.20.2 (both client and server) and facing this issue. This error could be easier reproduced when going through portals (at least for nether portal, the end untested).

ishland commented 9 months ago

Can reproduce.

It seems that Velocity did not properly update their Respawn packet for 1.20.2 update: 1.20.1: https://wiki.vg/index.php?title=Protocol&oldid=18375#Respawn 1.20.2: https://wiki.vg/index.php?title=Protocol&oldid=18641#Respawn

The fields are reordered but velocity still used the 1.20.1 format for 1.20.2+: https://github.com/PaperMC/Velocity/blob/07a525be7f90f1f3ccd515f7c196824d12ed0fff/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/Respawn.java#L162

Raknetify uncovers this issue because it makes Velocity actually decode Respawn packets. By default velocity does not decode them.

ishland commented 9 months ago

Closing as PaperMC/Velocity#1142 is resolved.