BadlionClient / BadlionClientModAPI

Disable Badlion Client mods while Badlion Client users play on your server with this easy to use API.
MIT License
89 stars 25 forks source link

1.20.3 Clients Get Kicked When Connecting to Bungeecord #38

Closed gre3x closed 8 months ago

gre3x commented 11 months ago

Bungeecord version

git:BungeeCord-Bootstrap:1.20-R0.2-SNAPSHOT:231024b:1777

Backend Server version

git-Paper-1620 (MC: 1.12.2)

Client version

1.20.3

Bungeecord plugins

ABPS, AlwaysOnline, BadlionClientModAPI, BungeeAliases, BungeeCommands, BungeeControl-Red, BungeeTeleport, KauriVPN, LiteAnnouncer, LiteBans, LuckPerms, MyCommand for BungeeCord, NuVotifier, PartyAndFriends, RedirectPlus, ServerListPlus, ServerUtils, SyncCommands, VulcanBungee, floodgate and spark

The bug

After adding the latest BadlionClientModAPI plugin to my Bungeecord server, players using 1.20.3 clients get kicked when they try to join. When joining my Bungeecord server, 1.20.3 clients get kicked with the below message. It also sends an error in console (see console error above). This did not happen prior to 1.20.3 update. I am using latest Bungeecord as of writing this. ViaVersion is used on the backend servers for 1.20.3 connection.

io.netty.handler.codec.DecoderException: java.io.IOException: Packet login/0 (afr) was larger than I expected, found 318 bytes extra whilst reading packet 0

image

Log output (links)

https://mclo.gs/tUjGTJA

06.12 15:58:41 [Server] SEVERE [MC_Legend] -> UpstreamBridge - encountered exception
06.12 15:58:41 [Server] [INFO] io.netty.handler.codec.EncoderException: java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PluginMessage in phase LOGIN with direction TO_CLIENT
06.12 15:58:41 [Server] [INFO] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:125)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:881)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:966)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:934)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1020)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:311)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.netty.ChannelWrapper.write(ChannelWrapper.java:90)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection$1.sendPacket(UserConnection.java:152)
06.12 15:58:41 [Server] [INFO] at net.badlion.bungeeapi.listener.PlayerListener.onLogin(PlayerListener.java:23)
06.12 15:58:41 [Server] [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
06.12 15:58:41 [Server] [INFO] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
06.12 15:58:41 [Server] [INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
06.12 15:58:41 [Server] [INFO] at java.lang.reflect.Method.invoke(Method.java:498)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.event.EventBus.post(EventBus.java:49)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:413)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.connection.InitialHandler.finish2(InitialHandler.java:623)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.connection.InitialHandler.access$1300(InitialHandler.java:72)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.connection.InitialHandler$6$1.run(InitialHandler.java:603)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
06.12 15:58:41 [Server] [INFO] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
06.12 15:58:41 [Server] [INFO] at java.lang.Thread.run(Thread.java:748)
06.12 15:58:41 [Server] [INFO] Caused by: java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PluginMessage in phase LOGIN with direction TO_CLIENT
06.12 15:58:41 [Server] [INFO] at com.google.common.base.Preconditions.checkArgument(Preconditions.java:463)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.protocol.Protocol$DirectionData.getId(Protocol.java:845)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.protocol.MinecraftEncoder.encode(MinecraftEncoder.java:26)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.protocol.MinecraftEncoder.encode(MinecraftEncoder.java:10)
06.12 15:58:41 [Server] [INFO] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)
06.12 15:58:41 [Server] [INFO] ... 26 more
06.12 15:58:41 [Server] [INFO] [MC_Legend] disconnected with: EncoderException : java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.PluginMessage in phase LOGIN with direction TO_CLIENT @ io.netty.handler.codec.MessageToByteEncoder:125
06.12 15:58:41 [Server] [INFO] [MC_Legend] -> UpstreamBridge has disconnected
06.12 15:58:41 [Server] [WARN] An exception was thrown by net.md_5.bungee.UserConnection$4.operationComplete()
06.12 15:58:41 [Server] [INFO] java.lang.NullPointerException
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.netty.ChannelWrapper.getEncodeProtocol(ChannelWrapper.java:51)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendPacketQueued(UserConnection.java:186)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendMessage(UserConnection.java:537)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendMessage(UserConnection.java:492)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendMessage(UserConnection.java:480)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection.sendMessage(UserConnection.java:459)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection$4.operationComplete(UserConnection.java:377)
06.12 15:58:41 [Server] [INFO] at net.md_5.bungee.UserConnection$4.operationComplete(UserConnection.java:359)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.fulfillConnectPromise(AbstractEpollChannel.java:674)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:693)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:567)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499)
06.12 15:58:41 [Server] [INFO] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407)
06.12 15:58:41 [Server] [INFO] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
06.12 15:58:41 [Server] [INFO] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
06.12 15:58:41 [Server] [INFO] at java.lang.Thread.run(Thread.java:748)
gre3x commented 11 months ago

After removing the plugin, the issue goes away. I have also verified with the Bungeecord team that this plugin is the issue. See https://github.com/SpigotMC/BungeeCord/issues/3568

Rigner commented 11 months ago

Thanks for the report, will investigate shortly!

markusobi0 commented 9 months ago

Any new updates?

overkidding commented 8 months ago

bump

Rigner commented 8 months ago

Hey, sorry for the delay. I just fixed this in https://github.com/BadlionClient/BadlionClientModAPI/releases/tag/2.1.4