private void LogOnCallback(SteamUser.LoggedOnCallback loggedOn) { bool isSteamGuard = loggedOn.Result == EResult.AccountLogonDenied; bool is2FA = loggedOn.Result == EResult.AccountLoginDeniedNeedTwoFactor; bool isLoginKey = ContentDownloader.Config.RememberPassword && logonDetails.LoginKey != null && loggedOn.Result == EResult.InvalidPassword; if (isSteamGuard || is2FA || isLoginKey) { bExpectingDisconnectRemote = true; Abort(false); if (!isLoginKey) { Console.WriteLine("This account is protected by Steam Guard."); } if (is2FA) { Console.Write("Please enter your 2 factor auth code from your authenticator app: "); logonDetails.TwoFactorCode = Console.ReadLine(); } else if (isLoginKey) { AccountSettingsStore.Instance.LoginKeys.Remove(logonDetails.Username); AccountSettingsStore.Save(); logonDetails.LoginKey = null; if (ContentDownloader.Config.SuppliedPassword != null) { Console.WriteLine("Login key was expired. Connecting with supplied password."); logonDetails.Password = ContentDownloader.Config.SuppliedPassword; } else { Console.WriteLine("Login key was expired. Please enter your password: "******"Please enter the authentication code sent to your email address: "); logonDetails.AuthCode = Console.ReadLine(); } Console.Write("Retrying Steam3 connection..."); Connect(); return; } else if (loggedOn.Result == EResult.ServiceUnavailable) { Console.WriteLine("Unable to login to Steam3: {0}", loggedOn.Result); Abort(false); return; } else if (loggedOn.Result != EResult.OK) { Console.WriteLine("Unable to login to Steam3: {0}", loggedOn.Result); Abort(); return; } Console.WriteLine(" Done!"); this.seq++; credentials.LoggedOn = true; if (ContentDownloader.Config.CellID == 0) { Console.WriteLine("Using Steam3 suggested CellID: " + loggedOn.CellID); ContentDownloader.Config.CellID = ( int )loggedOn.CellID; } }