public static void Login() { LocalizationController.SetLanguage(Core.Config.language); Logger.Logger.Info("Logining "); // Get big token var tempuid = string.Empty; var baseAddress = new Uri("https://portal.pixelfederation.com/"); var cookieContainer = new CookieContainer(); var loc_cookies = Cookies.ReadCookiesFromDisk(); //var pxcookie = loc_cookies.GetCookies(new Uri("https://portal.pixelfederation.com")); //if (pxcookie.Count != 0) //{ // if (pxcookie["_pf_login_server_token"].Value == Core.Config.server_token) // { // cookieContainer = loc_cookies; // } //} using (var handler = new HttpClientHandler { CookieContainer = cookieContainer }) using (var client = new HttpClient(handler) { BaseAddress = baseAddress }) { cookieContainer.Add(baseAddress, new Cookie("_pf_login_server_token", Core.Config.server_token)); Logger.Logger.Info(Localization.NETWORKING_LOGIN_1); client.DefaultRequestHeaders.UserAgent.ParseAdd( "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36"); try { var result = client.GetAsync("en/seaport/").Result; result = client.GetAsync("en/seaport/").Result; Logger.Logger.Info(Localization.NETWORKING_LOGIN_2); var stringtext = result.Content.ReadAsStringAsync().Result; var regex = new Regex( "portal.pixelfederation.com\\/(_sp\\/\\?direct_login=portal&portal_request=(.*))\" allowfullscreen>"); var match = regex.Match(stringtext); if (match.Success) { var data = client.GetAsync(match.Groups[1].Value).Result.Content.ReadAsStringAsync().Result; Logger.Logger.Info(Localization.NETWORKING_LOGIN_3); regex = new Regex(@"session_id': '(.*)', 'test"); Core.Ssid = regex.Match(data).Groups[1].Value; regex = new Regex(@"pid': '(.*)', 'platform"); tempuid = regex.Match(data).Groups[1].Value; Logger.Logger.Info(Localization.NETWORKING_LOGIN_SUCCESS + Core.Ssid); regex = new Regex(@"'definition_filelist_url1': 'https:\/\/r4a4v3g4\.ssl\.hwcdn\.net\/definitions\/filelists\/(.+)\.xml', 'definition_filelist_url2'"); var mtch = regex.Match(data); if (mtch.Success) { DefenitionCache.Update(mtch.Groups[1].Value); } regex = new Regex( @"loca_filelist_url2': 'https:\/\/static\.seaportgame\.com\/localization\/(.+?)\.xml', '"); mtch = regex.Match(data); if (mtch.Success) { LocalizationCache.Update(mtch.Groups[1].Value); } regex = new Regex("clientPath = \"(.+)\";"); mtch = regex.Match(data); if (mtch.Success) { Client.DefaultRequestHeaders.Referrer = new Uri(mtch.Groups[1].Value); } Client.DefaultRequestHeaders.Host = "portal.pixelfederation.com"; Client.DefaultRequestHeaders.Add("Origin", "https://r4a4v3g4.ssl.hwcdn.net"); Client.DefaultRequestHeaders.AcceptEncoding.TryParseAdd("gzip, deflate, br"); Client.DefaultRequestHeaders.Accept.TryParseAdd(@"*/*"); Client.DefaultRequestHeaders.AcceptLanguage.TryParseAdd( "en-GB,en-US;q=0.9,en;q=0.8,ru;q=0.7,uk;q=0.6"); Client.DefaultRequestHeaders.Add("DNT", "1"); Client.DefaultRequestHeaders.Add("X-Requested-With", "ShockwaveFlash/32.0.0.114"); } else { Logger.Logger.Fatal(Localization.NETWORKING_LOGIN_CANT_LOGIN); return; } } catch (Exception e) { Logger.Logger.Fatal(Localization.NETWORKING_LOGIN_CANT_LOGIN + e); } } var values = new Dictionary <string, string> { { "pid", tempuid }, { "session_id", Core.Ssid } }; var s = SendRequest(values, "client.login"); SendRequest(values, "client.update"); if (s.StartsWith("<xml>")) { Core.GlobalData = Parser.ParseXmlToGlobalData(s); var rand = new Random(); var loadtime = rand.Next(5000, 13000); if (!Core.Debug) { Logger.Logger.Info(string.Format(Localization.NETWORKING_LOGIN_FAKE_LOAD, loadtime / 1000D)); Thread.Sleep(loadtime); Logger.Logger.Info( string.Format(Localization.NETWORKING_LOGIN_FAKE_LOAD_ELAPSED, loadtime / 1000D)); } values.Add("loading_time", loadtime.ToString()); SendRequest(values, "tracking.finishedLoading"); Cookies.WriteCookiesToDisk(cookieContainer); Events.Events.LoginedEvent.Logined.Invoke(); StatisticsWriter.Start(); } else { Logger.Logger.Fatal("Server responded " + s); Core.StopBot(); } }