private void Loop() { ConnectionManager.StartListen(); while (!ForceStop) { ProcessWaitQueue(); AddToWaitQueue(ConnectionManager.AcceptPendingClients()); TryCreateMatch(); Thread.Sleep(Settings.ServerTick); } ConnectionManager.DisconnectAllClients(); if (ConnectionManager.IsListening) { ConnectionManager.StopListen(); } InstanceManager.CloseAllInstances(); IsRunning = false; }