private void try_login() { try { if (username_input.Text == "") { throw new Exception("Sisesta kasutajanimi"); } if (password_input.Text == "") { throw new Exception("Sisesta parool"); } network udpcon = new network(); if (udpcon.connect_to_server()) { // Get sha512 password string sha512_password = ""; if (Properties.Settings.Default.remember_me) { sha512_password = Properties.Settings.Default.sha512_pw; } else { UnicodeEncoding UE = new UnicodeEncoding(); byte[] message = UE.GetBytes(password_input.Text); SHA512Managed hashString = new SHA512Managed(); byte[] hashValue = hashString.ComputeHash(message); foreach (byte x in hashValue) { sha512_password += String.Format("{0:x2}", x); } } // Let's start building the packet List <string> login_packet = new List <string>(); string version = Properties.Settings.Default.version.ToString(); //Clipboard.SetText(sha512_password); if (version.Contains(",")) { version = version.Replace(',', '.'); } login_packet.Add(username_input.Text.ToLower()); login_packet.Add(sha512_password); login_packet.Add(version); login_packet.Add(get_hw_id()); // Send login packet and recieve response byte[] login_response = udpcon.send_and_recieve(0x02, login_packet); if (login_response[0] == 0xFA) { // we have failed login attempt switch (login_response[1]) { case 0x01: throw new Exception("Tundmatu veateade!"); case 0x02: throw new Exception("Sinu kliendi versioon on liiga vana!"); case 0x03: throw new Exception("Vale kasutajanimi või parool!"); case 0x04: throw new Exception("Kasutaja on juba sisse loginud. Juhul kui Sinu ühendus aegus, oota 2min!"); case 0x05: List <string> ban_info = udpcon.extract_data(login_response); throw new Exception("Sa oled banned.\nPõhjus: " + ban_info[0] + "\nKestab kuni: " + ban_info[1]); case 0x06: throw new Exception("Serveriga ühenduse loomine ebaõnnestus!"); } } if (login_response[0] == 0xFF) { // Login was successful List <string> recieved_data = udpcon.extract_data(login_response); steamid = recieved_data[0]; string password = recieved_data[1]; s_hash = long.Parse(recieved_data[2]); if (password != sha512_password) { List <string> abuse_data = new List <string>(); abuse_data.Add("Passwords do not match at user-side after getting 'ok'"); //main_client.send_data(0x16, abuseData); } else { if (remember_me.Checked) { string keyName = @"HKEY_CURRENT_USER\SOFTWARE\everest\Gather"; Registry.SetValue(keyName, "username", username_input.Text); Registry.SetValue(keyName, "password", sha512_password); Registry.SetValue(keyName, "remember_me", true); } else { string keyName = @"HKEY_CURRENT_USER\SOFTWARE\everest\Gather"; Registry.SetValue(keyName, "username", ""); Registry.SetValue(keyName, "password", ""); Registry.SetValue(keyName, "remember_me", false); } // initialize new window and give refrence to connection and this form main_hub_scr main_window = new main_hub_scr(this, udpcon); main_window.Show(); this.Hide(); //throw new Exception("LOGIN OK"); } } //c_msgbox.show_msg(false, "See funktsioon ei ole valmis veel!\nSinu hw_id: " + get_hw_id()); } else { c_msgbox.show_msg(true, "Serveriga ühenduse loomine ebaõnnestus!"); } } catch (Exception ex) { c_msgbox.show_msg(true, ex.Message); } }
private void try_register() { try { if (txt_chk.is_empty(username_input.Text)) { throw new Exception("Sisestage kasutajanimi!"); } if (txt_chk.is_empty(password_input.Text)) { throw new Exception("Sisestage parool!"); } if (txt_chk.is_empty(password_repeat_input.Text)) { throw new Exception("Sisestage kordus parool!"); } if (txt_chk.is_empty(email_input.Text)) { throw new Exception("Sisestage email!"); } if (txt_chk.is_empty(steamid_input.Text)) { throw new Exception("Valige menüüst enda steamid!"); } if (password_repeat_input.Text != password_input.Text) { throw new Exception("Sisestatud paroolid ei klapi!"); } if (!txt_chk.is_text_aZ09(username_input.Text)) { throw new Exception("Kasutajanimi tohib sisaldada ainult\n tähti a-Z ja numbreid 0-9!"); } if (!txt_chk.is_email(email_input.Text)) { throw new Exception("Emaili formaat on ebakorrektne!"); } UnicodeEncoding UE = new UnicodeEncoding(); byte[] message = UE.GetBytes(password_input.Text); SHA512Managed hashString = new SHA512Managed(); string sha512_password = ""; byte[] hashValue = hashString.ComputeHash(message); foreach (byte x in hashValue) { sha512_password += String.Format("{0:x2}", x); } network udpcon = new network(); if (udpcon.connect_to_server()) { List <string> reg_packet = new List <string>(); reg_packet.Add(username_input.Text); reg_packet.Add(username_input.Text.ToLower()); reg_packet.Add(sha512_password); reg_packet.Add(email_input.Text); reg_packet.Add(steamid_input.Text); byte[] register_response = udpcon.send_and_recieve(0x18, reg_packet); if (register_response[0] == 0xFF) { // successful register c_msgbox.show_msg(false, "Registreerimine õnnestus!"); this.Close(); } else { // failed to register switch (register_response[1]) { case 0x01: throw new Exception("Server ei suutnud registreerimist käsitleda!"); case 0x02: throw new Exception("Selline kasutajanimi juba eksisteerib!"); case 0x03: throw new Exception("Selline e-mail juba eksisteerib!"); case 0x04: throw new Exception("Selline steamid juba eksisteerib!"); case 0x06: throw new Exception("Serveriga ühenduse loomine ebaõnnestus!"); } } } else { c_msgbox.show_msg(true, "Serveriga ühenduse loomine ebaõnnestus!"); } } catch (Exception ex) { c_msgbox.show_msg(false, ex.Message); } }
public main_hub_scr(login_scr r_login, network r_udpclient) { InitializeComponent(); // send prof pic request List <string> prof_pic_req_packet = new List <string>(); prof_pic_req_packet.Add(r_login.steamid); r_udpclient.send_data(0x27, prof_pic_req_packet); // transfer refrences login_screen = r_login; udpclient = r_udpclient; shared_udpclient = r_udpclient; // set playscreen ref play_screen = new play_scr(this); // set lobby screen ref lobby_screen = new lobby_scr(this); // set ready screen ref ready_screen = new ready_scr(this); // load fonts username_label.Font = c_font.load_font(20, 1, true); // initialize packet listener thread listener_thread = new Thread(new ThreadStart(manage_packets)); listener_thread.Start(); // USER STUFF // load profile picture //paint_my_profile_picture("asd"); my_info.steamid = login_screen.steamid; my_info.username = login_screen.get_username(); my_info.s_hash = login_screen.s_hash; // Update labels username_label.Text = my_info.username; // add screens to screen panel // home screen keep_alive_tick(this, new EventArgs()); home_screen.TopLevel = false; home_screen.AutoScroll = false; screen_panel.Controls.Add(home_screen); home_screen.Show(); // play screen play_screen.TopLevel = false; play_screen.AutoScroll = false; screen_panel.Controls.Add(play_screen); // warmup screen warmup_screen.TopLevel = false; warmup_screen.AutoScroll = false; screen_panel.Controls.Add(warmup_screen); warmup_screen.servers.Add(new warmup_server("212.49.20.161", 27015, 0)); warmup_screen.servers.Add(new warmup_server("212.49.20.163", 27015, 1)); warmup_screen.servers.Add(new warmup_server("212.49.20.163", 27025, 2)); warmup_screen.servers.Add(new warmup_server("212.49.20.163", 27035, 3)); warmup_screen.servers.Add(new warmup_server("212.49.20.163", 27045, 4)); // stats screen stats_screen.TopLevel = false; stats_screen.AutoScroll = false; screen_panel.Controls.Add(stats_screen); // lobby screen lobby_screen.TopLevel = false; lobby_screen.AutoScroll = false; screen_panel.Controls.Add(lobby_screen); // initialize timers keep_alive.Interval = 2000; // 2 sec keep_alive.Tick += new EventHandler(keep_alive_tick); keep_alive.Start(); server_alive.Interval = 30000; // 30 sec server_alive.Tick += new EventHandler(check_server_alive); server_alive.Start(); update_warmup_servers.Interval = 10000; update_warmup_servers.Tick += new EventHandler(warmup_screen.refresh_servers); update_warmup_servers.Start(); }