BungeeTabListPlus icon indicating copy to clipboard operation
BungeeTabListPlus copied to clipboard

Test matrix for 1.19.3 + Bungeecord + ViaVersion

Open bundabrg opened this issue 3 years ago • 4 comments

Hey, getting mixed results with respect to BTLP and Viaversion. I spun up a test network and can report the following:

  1. Minimal Test
    • Bungeecord: b1672 with plugins:

      • BungeeTabListPlus b1129
    • Backend: paper-1.19.3 b263 (no plugins)

    • Client: 1.19.3

Works fine

  1. Via Test, same to same
    • Bungeecord: b1672 with plugins:
      • BungeeTabListPlus b1129
      • ViaVersion v4.5.1
    • Backend: paper-1.19.3 b263 (no plugins)
    • Client: 1.19.3

Works fine

  1. New Client, Old Backend
    • Bungeecord: b1672 with plugins:
      • BungeeTabListPlus b1129
      • ViaVersio v4.5.1
    • Backend: paper-1.16.5-794 (or really anything other than 1.19.3, no plugins)
    • Client: 1.19.3

Fails: Exception is

5:28:24 [SEVERE] [Bundie] -> UpstreamBridge - encountered exception
io.netty.handler.codec.EncoderException: java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PlayerListItemUpdate in phase GAME with direction TO_CLIENT
        at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:125)
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881)
        at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940)
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966)
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934)
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1020)
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:311)
        at net.md_5.bungee.netty.ChannelWrapper.write(ChannelWrapper.java:60)
        at net.md_5.bungee.UserConnection$1.sendPacket(UserConnection.java:146)
        at codecrafter47.bungeetablistplus.handler.NewTabOverlayHandler.sendPacket(NewTabOverlayHandler.java:176)
        at codecrafter47.bungeetablistplus.handler.NewTabOverlayHandler.access$700(NewTabOverlayHandler.java:52)
        at codecrafter47.bungeetablistplus.handler.NewTabOverlayHandler$CustomContentTabOverlayHandler.sendQueuedItems(NewTabOverlayHandler.java:772)
        at codecrafter47.bungeetablistplus.handler.NewTabOverlayHandler$CustomContentTabOverlayHandler.update(NewTabOverlayHandler.java:758)
        at codecrafter47.bungeetablistplus.handler.NewTabOverlayHandler.update(NewTabOverlayHandler.java:344)
        at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:403)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PlayerListItemUpdate in phase GAME with direction TO_CLIENT
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:453)
        at net.md_5.bungee.protocol.Protocol$DirectionData.getId(Protocol.java:691)
        at net.md_5.bungee.protocol.MinecraftEncoder.encode(MinecraftEncoder.java:23)
        at net.md_5.bungee.protocol.MinecraftEncoder.encode(MinecraftEncoder.java:9)
        at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)
        ... 20 more
05:28:24 [INFO] [Bundie] disconnected with: ?fEncoderException : java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PlayerListItemUpdate in phase GAME with direction TO_CLIENT @ io.netty.h
andler.codec.MessageToByteEncoder:125

Client sees: image

  1. Old Client, New Backend
    • Bungeecord: b1672 with plugins:
      • BungeeTabListPlus b1129
      • ViaVersion v4.5.1
      • ViaBackwards v4.5.1
    • Backend: paper-1.19.3 b263 (no plugins)
    • Client: 1.19.2

Same issue as in 3

Notes

  • I'm unsure if this is a BTLP or Viaversion issue.

  • Good luck

bundabrg avatar Dec 18 '22 03:12 bundabrg

Thank you for testing all those combinations. Now I know which combinations to investigate.

CodeCrafter47 avatar Dec 19 '22 13:12 CodeCrafter47

With the latest dev-build, clients will no longer be disconnected. However the tab list will not be displayed correctly if you pair 1.19.3 with an older version.

CodeCrafter47 avatar Jan 26 '23 10:01 CodeCrafter47

Is there any possibility for it to work across versions like previously or is it getting too hard to support?

bundabrg avatar Apr 06 '23 10:04 bundabrg