From c0b4579436750b305c55733363cc8a1c139ddd3f Mon Sep 17 00:00:00 2001 From: onebeastchris Date: Thu, 20 Nov 2025 15:12:46 +0100 Subject: [PATCH] Don't add invalid packet handler twice to subclient sessions --- .../geysermc/geyser/network/GeyserServerInitializer.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/network/GeyserServerInitializer.java b/core/src/main/java/org/geysermc/geyser/network/GeyserServerInitializer.java index 51fbef53d..27d1e64e2 100644 --- a/core/src/main/java/org/geysermc/geyser/network/GeyserServerInitializer.java +++ b/core/src/main/java/org/geysermc/geyser/network/GeyserServerInitializer.java @@ -62,8 +62,10 @@ public class GeyserServerInitializer extends BedrockServerInitializer { bedrockServerSession.setLogging(true); GeyserSession session = new GeyserSession(this.geyser, bedrockServerSession, this.eventLoopGroup.next()); - Channel channel = bedrockServerSession.getPeer().getChannel(); - channel.pipeline().addAfter(BedrockPacketCodec.NAME, InvalidPacketHandler.NAME, new InvalidPacketHandler(session)); + if (!bedrockServerSession.isSubClient()) { + Channel channel = bedrockServerSession.getPeer().getChannel(); + channel.pipeline().addAfter(BedrockPacketCodec.NAME, InvalidPacketHandler.NAME, new InvalidPacketHandler(session)); + } bedrockServerSession.setPacketHandler(new UpstreamPacketHandler(this.geyser, session)); } catch (Throwable e) {