private void OnLoggedOn(SteamUser.LoggedOnCallback callback) { GameCoordinator.UpdateStatus(0, callback.Result.ToString()); if (callback.Result == EResult.AccountLogonDenied) { Console.Write("STEAM GUARD! Please enter the auth code sent to the email at {0}: ", callback.EmailDomain); AuthCode = Console.ReadLine(); if (AuthCode != null) { AuthCode = AuthCode.Trim(); } return; } if (callback.Result != EResult.OK) { Log.WriteInfo("Steam", "Failed to login: {0}", callback.Result); IRC.Instance.SendEmoteAnnounce("failed to log in: {0}", callback.Result); return; } var cellId = callback.CellID; if (LocalConfig.CellID != cellId) { Log.WriteDebug("Local Config", "CellID differs, {0} != {1}, forcing server refetch", LocalConfig.CellID, cellId); LocalConfig.CellID = cellId; // TODO: is this really needed? LocalConfig.LoadServers(); LocalConfig.Save(); } LastSuccessfulLogin = DateTime.Now; Log.WriteInfo("Steam", "Logged in, current Valve time is {0}", callback.ServerTime.ToString("R")); IRC.Instance.SendEmoteAnnounce("logged in. Valve time: {0}", callback.ServerTime.ToString("R")); if (Settings.IsFullRun) { if (Settings.Current.FullRun == 3) { Steam.Instance.Apps.PICSGetAccessTokens(Application.ImportantApps.Keys, Enumerable.Empty <uint>()); Steam.Instance.Apps.PICSGetProductInfo(Enumerable.Empty <SteamApps.PICSRequest>(), Application.ImportantSubs.Keys.Select(package => Utils.NewPICSRequest(package))); } else if (Steam.Instance.PICSChanges.PreviousChangeNumber == 1) { Steam.Instance.Apps.PICSGetChangesSince(1, true, true); } } else { JobManager.RestartJobsIfAny(); Application.ChangelistTimer.Start(); } }