using System; using System.Timers; using System.Data.SqlClient; using MySql.Data.MySqlClient; namespace Account_Sync { class Program { static void Main(string[] args) { Console.Title = "Ocya :: Forum Sync :: Kobalt 2016"; Timer UpdateTimer = new Timer(); UpdateTimer.AutoReset = true; UpdateTimer.Elapsed += UpdateTimer_Elapsed; UpdateTimer.Interval = 10000; UpdateTimer.Start(); Console.ReadLine(); } private static void UpdateTimer_Elapsed(object sender, ElapsedEventArgs e) { Console.WriteLine("Updating accounts..."); MySqlConnection MySql = new MySqlConnection("Server=162.212.253.49;Database=allusio1_IPBforumDB;Uid=allusio1_IPBForumAdmin;Pwd=z#N60huc2O40;port=3306;"); SqlConnection SQL = new SqlConnection("Server=.\\SQLEXPRESS;Database=HK_Account;Uid=sa;Password=ps6JasgZI8HJ1gTEMEjY"); MySql.Open(); SQL.Open(); MySqlCommand MySqlCommand = MySql.CreateCommand(); SqlCommand SQLCommand = SQL.CreateCommand(); MySqlCommand.CommandText = "SELECT * FROM core_members"; MySqlDataReader MySqlReader = MySqlCommand.ExecuteReader(); while (MySqlReader.Read()) { SQLCommand.CommandText = String.Format("SELECT TOP 1 sUserID, sUserPW, sUserPWSalt, sUserPWHash FROM tUser WHERE sUserID = '{0}'", MySqlReader["members_seo_name"].ToString().Replace(" ", "_")); SqlDataReader SQLReader = SQLCommand.ExecuteReader(); SQLReader.Read(); if (!SQLReader.HasRows) { try { Console.WriteLine("Adding: {0}.", MySqlReader["members_seo_name"]); SQLReader.Close(); SQLCommand.CommandText = String.Format("INSERT INTO tUser(nUserNo, sUserID, sUserPW, sUserName, bIsBlock, bIsDelete, nAuthID, sUserIP, dDate, sUserPWSalt, sUserPWHash) VALUES('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}')", MySqlReader["member_id"], MySqlReader["members_seo_name"].ToString().Replace(" ", "_"), "-", MySqlReader["members_seo_name"].ToString().Replace(" ", "_"), 0, 0, 1, "127.0.0.1", DateTime.Now, MySqlReader["members_pass_salt"], MySqlReader["members_pass_hash"]); SQLCommand.ExecuteNonQuery(); SQLCommand.CommandText = String.Format("INSERT INTO tMinorsPlayTime(nUserNo, bIsAdult, nPlayTime, dLogoutDate) VALUES('{0}', '{1}', '{2}', '{3}')", MySqlReader["member_id"], 1, 0, DateTime.Now); SQLCommand.ExecuteNonQuery(); Console.WriteLine("Added: {0}.", MySqlReader["members_seo_name"].ToString().Replace(" ", "_")); } catch(Exception e12) { Console.WriteLine(e12.ToString()); } } else { try { if (Convert.ToString(MySqlReader["members_pass_hash"]) != Convert.ToString(SQLReader["sUserPWHash"])) { Console.WriteLine("Updating password: {0}.", MySqlReader["members_seo_name"].ToString().Replace(" ", "_")); SQLReader.Close(); SQLCommand.CommandText = String.Format("UPDATE tUser SET sUserPWHash = '{0}' WHERE sUserID = '{1}'", MySqlReader["members_pass_hash"], MySqlReader["members_seo_name"].ToString().Replace(" ", "_")); SQLCommand.ExecuteNonQuery(); Console.WriteLine("Updated password: {0}.", MySqlReader["members_seo_name"].ToString().Replace(" ", "_")); } if (Convert.ToString(MySqlReader["members_pass_salt"]) != Convert.ToString(SQLReader["sUserPWSalt"])) { Console.WriteLine("Updating salt: {0}.", MySqlReader["members_seo_name"].ToString().Replace(" ", "_")); SQLReader.Close(); SQLCommand.CommandText = String.Format("UPDATE tUser SET sUserPWSalt = '{0}' WHERE sUserID = '{1}'", MySqlReader["members_pass_salt"], MySqlReader["members_seo_name"].ToString().Replace(" ", "_")); SQLCommand.ExecuteNonQuery(); Console.WriteLine("Updated salt: {0}.", MySqlReader["members_seo_name"].ToString().Replace(" ", "_")); } } catch { } } try { SQLReader.Dispose(); } catch { } } try { MySqlReader.Dispose(); } catch { } try { SQLCommand.Dispose(); } catch { } try { MySqlCommand.Dispose(); } catch { } try { SQL.Dispose(); } catch { } try { MySql.Dispose(); } catch { } Console.WriteLine("Accounts updated!"); } } }