Сервер ждет от игрока после захода пакет какое-то время, если серверу пакет ненравится он кикает игрока

Версия Minecraft
1.7.10
API
Forge
У меня есть пакет, который при заходе на сервер клиент шлет его на сервак если паке в течении допустим 1-2 минуты не пришел с клиента сервак кикает игрока.

Вопрос то в чом: как реализовать логику чтобы сервер именно ждал пакет от игрока какое-то время есть ли какие-то готовые методы для этого
 
Решение
anticheat:
public class AntiCheat{
    public static HashMap<EntityPlayerMP, Integer> timerList;
    
    @SubscribeEvent
    public void test(PlayerTickEvent e) {
        ArrayList<EntityPlayerMP> remove = new ArrayList<EntityPlayerMP>();
        if(e.phase == Phase.END) {
            for(EntityPlayerMP player : timerList.keySet()) {
                if(timerList.get(player) == 0) {
                    remove.add(player);
                } else {
                    int lastTimer = timerList.get(player);
                    timerList.put(player, lastTimer--);
                }
            }
            remove.forEach(player -> {
                timerList.remove(player);
                player.playerNetServerHandler.kickPlayerFromServer("Packet...
219
12
119
anticheat:
public class AntiCheat{
    public static HashMap<EntityPlayerMP, Integer> timerList;
    
    @SubscribeEvent
    public void test(PlayerTickEvent e) {
        ArrayList<EntityPlayerMP> remove = new ArrayList<EntityPlayerMP>();
        if(e.phase == Phase.END) {
            for(EntityPlayerMP player : timerList.keySet()) {
                if(timerList.get(player) == 0) {
                    remove.add(player);
                } else {
                    int lastTimer = timerList.get(player);
                    timerList.put(player, lastTimer--);
                }
            }
            remove.forEach(player -> {
                timerList.remove(player);
                player.playerNetServerHandler.kickPlayerFromServer("Packet failed");
            });
            
        }
    }
    @SubscribeEvent
    public void connect(PlayerLoggedInEvent e) {
        EntityPlayerMP player = (EntityPlayerMP) e.player;
        timerList.put(player, 1000);
        //sendpacket();
    }
}
Ну и если пакет пришел с клиента, просто удали с timerList игрока
 
Сверху