From f474d2c834c655cb4c694585891735fcbfc71299 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 29 Nov 2018 09:32:36 -0500 Subject: [PATCH] Fixed ghost connections --- core/src/io/anuke/mindustry/core/NetServer.java | 10 +++++++++- kryonet/src/io/anuke/kryonet/KryoServer.java | 1 - 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 052e31bc8f..d23b9cd376 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -79,7 +79,9 @@ public class NetServer extends Module{ public NetServer(){ Events.on(WorldLoadEvent.class, event -> { - connections.clear(); + if(!headless){ + connections.clear(); + } }); Net.handleServer(Connect.class, (id, connect) -> { @@ -596,6 +598,12 @@ public class NetServer extends Module{ } void sync(){ + for(Player player : playerGroup.all()){ + if(player.con == null || connections.get(player.con.id) == null){ + onDisconnect(player); + } + } + try{ //iterate through each player diff --git a/kryonet/src/io/anuke/kryonet/KryoServer.java b/kryonet/src/io/anuke/kryonet/KryoServer.java index 45269e42fb..334abab5ab 100644 --- a/kryonet/src/io/anuke/kryonet/KryoServer.java +++ b/kryonet/src/io/anuke/kryonet/KryoServer.java @@ -71,7 +71,6 @@ public class KryoServer implements ServerProvider { @Override public void disconnected (Connection connection) { KryoConnection k = getByKryoID(connection.getID()); - Log.info("&bLost kryonet connection {0}", connection.getID()); if(k == null) return; Disconnect c = new Disconnect();