diff --git a/core/src/mindustry/net/NetworkIO.java b/core/src/mindustry/net/NetworkIO.java index c3c08e6393..5b49342d67 100644 --- a/core/src/mindustry/net/NetworkIO.java +++ b/core/src/mindustry/net/NetworkIO.java @@ -114,27 +114,27 @@ public class NetworkIO{ buffer.putInt(netServer.admins.getPlayerLimit()); writeString(buffer, description, 100); - buffer.putInt(Core.settings.getInt("port", port)); - if(state.rules.modeName != null){ - writeString(buffer, state.rules.modeName, 50); - } - + writeString(buffer, state.rules.modeName == null ? "" : state.rules.modeName, 50); + buffer.putShort((short)Core.settings.getInt("port", port)); return buffer; } public static Host readServerData(int ping, String hostAddress, ByteBuffer buffer){ String host = readString(buffer); String map = readString(buffer); + int players = buffer.getInt(); int wave = buffer.getInt(); int version = buffer.getInt(); String vertype = readString(buffer); + Gamemode gamemode = Gamemode.all[buffer.get()]; int limit = buffer.getInt(); + String description = readString(buffer); - int hostPort = buffer.getInt(); - hostPort = hostPort != 0 ? hostPort : Vars.port; String modeName = readString(buffer); + short port = buffer.getShort(); + int hostPort = port != 0 ? port : Vars.port; return new Host(ping, host, hostAddress, hostPort, map, wave, players, version, vertype, gamemode, limit, description, modeName.isEmpty() ? null : modeName); }