/// <summary> /// Resets the server. /// </summary> public virtual void Restart() { MessageHandlerThread.Abort(); MessageHandlerThread = new Thread(new ThreadStart(MessageHandlingLoop)); if (_History != null) { _History.Save(); _History = null; } Executor.CurrentGameState = null; Socket.Stop(); PlayersInGame.Clear(); StateChanged.Invoke(CurrentState = ServerState.BEFORE_LOBBY); }