diff --git a/common/src/main/java/org/geysermc/floodgate/player/FloodgateHandshakeHandler.java b/common/src/main/java/org/geysermc/floodgate/player/FloodgateHandshakeHandler.java index bf63be24..83d95d35 100644 --- a/common/src/main/java/org/geysermc/floodgate/player/FloodgateHandshakeHandler.java +++ b/common/src/main/java/org/geysermc/floodgate/player/FloodgateHandshakeHandler.java @@ -73,7 +73,7 @@ public final class FloodgateHandshakeHandler { data = value; continue; } - hostnameBuilder.append(value); + hostnameBuilder.append(value).append('\0'); } // hostname now doesn't have Floodgate data anymore if it had String hostname = hostnameBuilder.toString(); diff --git a/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataHandler.java b/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataHandler.java index e26c6e8c..5ceb8171 100644 --- a/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataHandler.java +++ b/spigot/src/main/java/org/geysermc/floodgate/addon/data/SpigotDataHandler.java @@ -180,6 +180,9 @@ public final class SpigotDataHandler extends ChannelInboundHandlerAdapter { HandshakeResult result = handshakeHandler.handle(ctx.channel(), handshakeValue); HandshakeData handshakeData = result.getHandshakeData(); + setValue(packet, HANDSHAKE_HOST, handshakeData.getHostname()); + logger.info(handshakeData.getHostname()); + if (handshakeData.getDisconnectReason() != null) { ctx.close(); // todo disconnect with message return; @@ -203,8 +206,6 @@ public final class SpigotDataHandler extends ChannelInboundHandlerAdapter { player = result.getFloodgatePlayer(); bungeeData = SpigotUtils.isBungeeData(); - setValue(packet, HANDSHAKE_HOST, handshakeData.getHostname()); - if (!bungeeData) { // Use a spoofedUUID for initUUID (just like Bungeecord) setValue(networkManager, "spoofedUUID", player.getCorrectUniqueId());