package net.server.task; import client.Character; import config.YamlConfig; import net.server.world.World; import tools.FilePrinter; import java.util.Collection; /** * @author Shavit */ public class TimeoutTask extends BaseTask implements Runnable { @Override public void run() { long time = System.currentTimeMillis(); Collection chars = wserv.getPlayerStorage().getAllCharacters(); for (Character chr : chars) { if (time - chr.getClient().getLastPacket() > YamlConfig.config.server.TIMEOUT_DURATION) { FilePrinter.print(FilePrinter.DCS + chr.getClient().getAccountName(), chr.getName() + " auto-disconnected due to inactivity."); chr.getClient().disconnect(true, chr.getCashShop().isOpened()); } } } public TimeoutTask(World world) { super(world); } }