Skip to content

1.8.8 ViaRewind keepalive kick on 1.21.* #611

@professorparabellum

Description

@professorparabellum

/viaversion dump Output

https://dump.viaversion.com/2afe95b9442e2c1875f251ebec09fe4447d07c81576abc3c58e46a299ea281a9

Console Error

[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.038ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-808]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.037ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-809]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.043ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-810]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.098ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-811]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.047ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-812]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.044ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-813]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.026ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-814]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.037ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-815]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.035ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-816]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.035ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-817]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.035ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-818]
[01:55:29 INFO]: [LPX] DealWiddit sent PLAYER_POSITION_AND_ROTATION (0.264ms) (34 bytes) positionChanged=true rotationChanged=true location=Location {[X: 11.663154256005662, Y: 100.00133597911214, Z: -0.44418565284468886], yaw: -100.346725, pitch: 10.950245} onGround=false horizontalCollision=false Z=ddbf5 b=60925541574403
[01:55:29 INFO]: [LPX] DealWiddit sent CLIENT_TICK_END (0.042ms) (19 bytes) [INSTANCE=ServerboundClientTickEndPacket[], STREAM_CODEC=net.minecraft.network.codec.StreamCodec$3@c4061aa]
[01:55:29 INFO]: [LPX] DealWiddit sent PLAYER_INPUT (0.095ms) (20 bytes) [input=Input[forward=false, backward=false, left=false, right=false, jump=false, shift=false, sprint=true], STREAM_CODEC=net.minecraft.network.codec.StreamCodec$7@2678588f]
[01:55:29 INFO]: [LPX] DealWiddit sent CLIENT_TICK_END (0.040ms) (19 bytes) [INSTANCE=ServerboundClientTickEndPacket[], STREAM_CODEC=net.minecraft.network.codec.StreamCodec$3@c4061aa]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.033ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-819]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.033ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-820]
[01:55:29 INFO]: [LPX] DealWiddit sent PLAYER_POSITION_AND_ROTATION (0.115ms) (34 bytes) positionChanged=true rotationChanged=true location=Location {[X: 11.946962185482908, Y: 100.16610926093821, Z: -0.48623664307470404], yaw: -100.49673, pitch: 10.950245} onGround=false horizontalCollision=false Z=ddbf5 b=60925541574403
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.033ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-821]
[01:55:29 INFO]: [LPX] DealWiddit sent PLAYER_POSITION_AND_ROTATION (0.078ms) (34 bytes) positionChanged=true rotationChanged=true location=Location {[X: 12.23026885062643, Y: 100.24918707874468, Z: -0.5292101234511791], yaw: -100.64672, pitch: 10.950245} onGround=false horizontalCollision=false Z=ddbf5 b=60925541574403
[01:55:29 INFO]: [LPX] DealWiddit sent PLAYER_INPUT (0.088ms) (20 bytes) [input=Input[forward=true, backward=false, left=false, right=false, jump=false, shift=false, sprint=true], STREAM_CODEC=net.minecraft.network.codec.StreamCodec$7@2678588f]
[01:55:29 INFO]: [LPX] DealWiddit sent CLIENT_TICK_END (0.052ms) (19 bytes) [INSTANCE=ServerboundClientTickEndPacket[], STREAM_CODEC=net.minecraft.network.codec.StreamCodec$3@c4061aa]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.070ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-822]
[01:55:29 INFO]: [LPX] DealWiddit sent PLAYER_POSITION_AND_ROTATION (0.129ms) (34 bytes) positionChanged=true rotationChanged=true location=Location {[X: 12.513081586895298, Y: 100.24918707874468, Z: -0.573219789369483], yaw: -101.096725, pitch: 10.950245} onGround=false horizontalCollision=false Z=ddbf5 b=60925541574403
[01:55:29 INFO]: [LPX] DealWiddit sent CLIENT_TICK_END (0.074ms) (19 bytes) [INSTANCE=ServerboundClientTickEndPacket[], STREAM_CODEC=net.minecraft.network.codec.StreamCodec$3@c4061aa]
[01:55:29 INFO]: [LPX] DealWiddit sent PLAYER_POSITION_AND_ROTATION (0.233ms) (34 bytes) positionChanged=true rotationChanged=true location=Location {[X: 12.795392237675978, Y: 100.1707870772188, Z: -0.618433406136127], yaw: -101.696724, pitch: 10.650245} onGround=false horizontalCollision=false Z=ddbf5 b=60925541574403
[01:55:29 INFO]: [LPX] DealWiddit sent CLIENT_TICK_END (0.088ms) (19 bytes) [INSTANCE=ServerboundClientTickEndPacket[], STREAM_CODEC=net.minecraft.network.codec.StreamCodec$3@c4061aa]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.100ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-823]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.064ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-824]
[01:55:29 INFO]: [LPX] DealWiddit sent PONG (0.054ms) (23 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@26782dff, id=-825]
[01:55:29 INFO]: [LPX] DealWiddit sent KEEP_ALIVE (0.069ms) (16 bytes) [STREAM_CODEC=net.minecraft.network.codec.StreamCodec$2@6ce68eaa, id=1104644172]
[01:55:29 INFO]: Disconnecting DealWiddit for sending keepalive response (1104644172) out-of-order!
[01:55:29 INFO]: DealWiddit lost connection: Timed out.

Bug Description

this recent paper patch is very ruthless with players on legacy clients as any sort of delay or stuttering (e.g. high ping, low fps) will cause them to get kick instantaneously after they send a keepalive packet.

it also has no care for if its actually the player or the netty thread being congested, since its time between player and main thread not player and server. this is more of a paper issue but i made an issue on their repo and they told me to go here instead

Demo: https://youtu.be/Vq8uhkEsET4

Steps to Reproduce

Join a server with ViaVersion, ViaBackwards, ViaRewind on a 1.8.8 client
Turn on 3D Anagylph to make your game stutter/freeze on purpose
Wait 2 or 3 seconds
Get kicked

Expected Behavior

players on 1.8.8 are able to join and play normally, without getting kicked when their game stutters

Additional Server Info

Was not able to reproduce on 1.12.2

Checklist

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions