private async Task WaitUntilFull() { var lobbyLifetime = new Lifetime(); this.Options.Server.Connections.Changed.SubscribeForLifetime(() => { if (Options.Server.Connections.Count == Options.MaxPlayers) { lobbyLifetime.Dispose(); } }, lobbyLifetime); await lobbyLifetime.AwaitEndOfLifetime(); await Options.Server.CloseForNewConnections().AsAwaitable(); }