package org.stevewinfield.suja.idk.dedicated.commands.defaults; import org.apache.log4j.Logger; import org.stevewinfield.suja.idk.Bootloader; import org.stevewinfield.suja.idk.dedicated.commands.IDedicatedServerCommand; import org.stevewinfield.suja.idk.game.rooms.RoomInstance; import org.stevewinfield.suja.idk.network.sessions.Session; public class StopCommand implements IDedicatedServerCommand { @Override public void execute(String[] args, Logger logger) { logger.info("Stopping server..."); int i = 0; for (final Session session : Bootloader.getSessionManager().getSessions()) { session.disconnect(); i++; } logger.info(i + " User(s) was/were kicked."); i = 0; for (final RoomInstance room : Bootloader.getGame().getRoomManager().getLoadedRoomInstances()) { room.save(); i++; } logger.info(i + " Room(s) was/were saved."); Bootloader.exitServer(0); } @Override public String getName() { return "stop"; } }