Added server version display and compatibility checking

This commit is contained in:
Anuken
2018-03-06 23:18:34 -05:00
parent cd038ba5ad
commit a8ce961268
7 changed files with 84 additions and 48 deletions

View File

@@ -2,6 +2,7 @@ package io.anuke.kryonet;
import com.esotericsoftware.minlog.Log;
import com.esotericsoftware.minlog.Log.Logger;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.net.Host;
import io.anuke.ucore.util.ColorCodes;
@@ -65,6 +66,7 @@ public class KryoRegistrator {
buffer.putInt(playerGroup.size());
buffer.putInt(state.wave);
buffer.putInt(Version.build);
return buffer;
}
@@ -84,7 +86,8 @@ public class KryoRegistrator {
int players = buffer.getInt();
int wave = buffer.getInt();
int version = buffer.getInt();
return new Host(host, ia.getHostAddress(), map, wave, players);
return new Host(host, ia.getHostAddress(), map, wave, players, version);
}
}

View File

@@ -10,6 +10,7 @@ import com.esotericsoftware.kryonet.Listener.LagListener;
import com.esotericsoftware.kryonet.Server;
import com.esotericsoftware.kryonet.util.InputStreamSender;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.Net.SendMode;
import io.anuke.mindustry.net.Net.ServerProvider;
@@ -475,7 +476,7 @@ public class KryoServer implements ServerProvider {
if(message.equals("_ping_")){
conn.send("---" + Vars.playerGroup.size() + "|" + (headless ? "Server" : Vars.player.name)
+ "|" + world.getMap().name + "|" + state.wave);
+ "|" + world.getMap().name + "|" + state.wave + "|" + Version.build);
connections.remove(k);
}else {
byte[] out = Base64Coder.decode(message);