From 424e99e2d8580d946f508d8d61a53a12143c7a8a Mon Sep 17 00:00:00 2001 From: themode Date: Sun, 25 Oct 2020 15:32:19 +0100 Subject: [PATCH] Use the server brand name as the motd in case of a legacy ping --- .../minestom/server/network/netty/NettyServer.java | 3 ++- .../server/network/netty/channel/ClientChannel.java | 7 ++++--- .../network/netty/codec/LegacyPingHandler.java | 12 ++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/minestom/server/network/netty/NettyServer.java b/src/main/java/net/minestom/server/network/netty/NettyServer.java index 9e7880431..c6654195b 100644 --- a/src/main/java/net/minestom/server/network/netty/NettyServer.java +++ b/src/main/java/net/minestom/server/network/netty/NettyServer.java @@ -15,6 +15,7 @@ import net.minestom.server.network.netty.codec.LegacyPingHandler; import net.minestom.server.network.netty.codec.PacketDecoder; import net.minestom.server.network.netty.codec.PacketEncoder; import net.minestom.server.network.netty.codec.PacketFramer; +import org.jetbrains.annotations.NotNull; import java.net.InetSocketAddress; @@ -48,7 +49,7 @@ public class NettyServer { bootstrap.channel(channel); bootstrap.childHandler(new ChannelInitializer() { - protected void initChannel(SocketChannel ch) { + protected void initChannel(@NotNull SocketChannel ch) { ChannelConfig config = ch.config(); config.setOption(ChannelOption.TCP_NODELAY, true); diff --git a/src/main/java/net/minestom/server/network/netty/channel/ClientChannel.java b/src/main/java/net/minestom/server/network/netty/channel/ClientChannel.java index 8bbd40ccc..810cc7a6c 100644 --- a/src/main/java/net/minestom/server/network/netty/channel/ClientChannel.java +++ b/src/main/java/net/minestom/server/network/netty/channel/ClientChannel.java @@ -9,6 +9,7 @@ import net.minestom.server.network.ConnectionManager; import net.minestom.server.network.PacketProcessor; import net.minestom.server.network.netty.packet.InboundPacket; import net.minestom.server.network.player.PlayerConnection; +import org.jetbrains.annotations.NotNull; @Slf4j public class ClientChannel extends SimpleChannelInboundHandler { @@ -21,7 +22,7 @@ public class ClientChannel extends SimpleChannelInboundHandler { } @Override - public void channelActive(ChannelHandlerContext ctx) { + public void channelActive(@NotNull ChannelHandlerContext ctx) { //System.out.println("CONNECTION"); } @@ -34,7 +35,7 @@ public class ClientChannel extends SimpleChannelInboundHandler { if (availableBytes > 0) { // TODO log4j2 - System.out.println("Packet 0x" + Integer.toHexString(packet.packetId) + System.err.println("WARNING: Packet 0x" + Integer.toHexString(packet.packetId) + " not fully read (" + availableBytes + " bytes left)"); packet.body.skipBytes(availableBytes); @@ -43,7 +44,7 @@ public class ClientChannel extends SimpleChannelInboundHandler { } @Override - public void channelInactive(ChannelHandlerContext ctx) { + public void channelInactive(@NotNull ChannelHandlerContext ctx) { PlayerConnection playerConnection = packetProcessor.getPlayerConnection(ctx); if (playerConnection != null) { // Remove the connection diff --git a/src/main/java/net/minestom/server/network/netty/codec/LegacyPingHandler.java b/src/main/java/net/minestom/server/network/netty/codec/LegacyPingHandler.java index e7171afe6..11c056fbc 100644 --- a/src/main/java/net/minestom/server/network/netty/codec/LegacyPingHandler.java +++ b/src/main/java/net/minestom/server/network/netty/codec/LegacyPingHandler.java @@ -6,6 +6,7 @@ import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import net.minestom.server.MinecraftServer; +import org.jetbrains.annotations.NotNull; import java.nio.charset.StandardCharsets; @@ -15,7 +16,7 @@ public class LegacyPingHandler extends ChannelInboundHandlerAdapter { private ByteBuf buf; @Override - public void channelRead(ChannelHandlerContext ctx, Object object) { + public void channelRead(@NotNull ChannelHandlerContext ctx, @NotNull Object object) { ByteBuf buf = (ByteBuf) object; if (this.buf != null) { @@ -71,7 +72,7 @@ public class LegacyPingHandler extends ChannelInboundHandlerAdapter { return null; } - String result = buf.toString(buf.readerIndex(), size, StandardCharsets.UTF_16BE); + final String result = buf.toString(buf.readerIndex(), size, StandardCharsets.UTF_16BE); buf.skipBytes(size); return result; @@ -93,7 +94,7 @@ public class LegacyPingHandler extends ChannelInboundHandlerAdapter { return; } - String s = readLegacyString(buf); + final String s = readLegacyString(buf); if (s == null) { return; @@ -130,8 +131,7 @@ public class LegacyPingHandler extends ChannelInboundHandlerAdapter { } private String formatResponse(int playerProtocol) { - // todo server motd, online and slots - final String motd = "Minestom"; + final String motd = MinecraftServer.getBrandName(); final String version = MinecraftServer.VERSION_NAME; final int online = MinecraftServer.getConnectionManager().getOnlinePlayers().size(); final int max = 0; @@ -175,7 +175,7 @@ public class LegacyPingHandler extends ChannelInboundHandlerAdapter { ByteBuf response = Unpooled.buffer(); response.writeByte(255); - char[] chars = s.toCharArray(); + final char[] chars = s.toCharArray(); response.writeShort(chars.length);