public async Task StartGame(long lobbyId, string gameName) { var loggedPlayer = GetLoggedPlayer(); var lobby = _lobbyService.FindByIdAndGameName(lobbyId, gameName); if (lobby.Owner != loggedPlayer) { throw new UnauthorizedAccessException("You have to be an owner of lobby to start game"); } var players = lobby.ConnectedPlayers; var gameSession = lobby.StartGameSession(); _gameSessionService.AddSession(gameName, gameSession); var groupName = GenerateGroupName(lobbyId, gameName); await Clients.Group(groupName).InvokeAsync("startGame", gameSession.GetJoinUrl()); }