private async Task CheckClientsAvailable() { while (true) { var notAvailableClients = _clientManager.GetNotAvailableClients(_config.AllowedClientTimeOut); await _clientManager.DisconnectAsync(notAvailableClients, "Connection timeout"); _gameStateManager.RemovePlayers(notAvailableClients.Select(client => client.Id)); await Task.Delay(_config.CheckClientsAvailableFrequency); } }