Use the server brand name as the motd in case of a legacy ping

This commit is contained in:
themode 2020-10-25 15:32:19 +01:00
parent a8796382b7
commit 424e99e2d8
3 changed files with 12 additions and 10 deletions

View File

@ -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<SocketChannel>() {
protected void initChannel(SocketChannel ch) {
protected void initChannel(@NotNull SocketChannel ch) {
ChannelConfig config = ch.config();
config.setOption(ChannelOption.TCP_NODELAY, true);

View File

@ -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<InboundPacket> {
@ -21,7 +22,7 @@ public class ClientChannel extends SimpleChannelInboundHandler<InboundPacket> {
}
@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<InboundPacket> {
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<InboundPacket> {
}
@Override
public void channelInactive(ChannelHandlerContext ctx) {
public void channelInactive(@NotNull ChannelHandlerContext ctx) {
PlayerConnection playerConnection = packetProcessor.getPlayerConnection(ctx);
if (playerConnection != null) {
// Remove the connection

View File

@ -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);