diff --git a/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/KeepAliveThread.java b/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/KeepAliveThread.java index e747d82..97fd7c4 100644 --- a/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/KeepAliveThread.java +++ b/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/KeepAliveThread.java @@ -6,11 +6,8 @@ import mc.core.player.PlayerManager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.Random; - @Component public class KeepAliveThread extends Thread { - private static final Random RAND = new Random(); private final Object lock = new Object(); @Autowired private PlayerManager playerManager; @@ -25,6 +22,8 @@ public class KeepAliveThread extends Thread { @Override public void run() { + final KeepAlivePacket keepAlivePacket = new KeepAlivePacket(); + while (!Thread.currentThread().isInterrupted()) { while(playerManager.getCountPlayers() == 0) { synchronized (lock) { @@ -36,7 +35,8 @@ public class KeepAliveThread extends Thread { } } - playerManager.getBroadcastChannel().writeAndFlush(new KeepAlivePacket(RAND.nextLong())); + keepAlivePacket.setPayload(System.currentTimeMillis()); + playerManager.getBroadcastChannel().writeAndFlush(keepAlivePacket); try { Thread.sleep(interval); diff --git a/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/wrappers/WrapperNetChannel.java b/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/wrappers/WrapperNetChannel.java index 3d03a82..960297a 100644 --- a/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/wrappers/WrapperNetChannel.java +++ b/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/wrappers/WrapperNetChannel.java @@ -58,7 +58,7 @@ public class WrapperNetChannel implements NetChannel { @Override public void writeAndFlush(SCPacket pkt) { - channel.writeAndFlush(pkt); + channel.writeAndFlush(pkt, channel.voidPromise()); } @Override