static void Main(string[] args) { #region Load Settings _dir = Environment.CurrentDirectory; LogConsole._Load(); try { if (File.Exists(_dir + _file_config)) { ini = new Systems.Ini(_dir + _file_config); s_timer = ini.GetValue("Timer", "minutes", 10); max_count = ini.GetValue("Timer", "max", 100); delay = ini.GetValue("Timer", "delay", 10000); infi = ini.GetValue("Timer", "infi", false); _db_user = ini.GetValue("MYSQL", "user", "root"); _db_pass = ini.GetValue("MYSQL", "pass", "123456"); _db_ipsv = ini.GetValue("MYSQL", "ipsv", "127.0.0.1"); _db_name = ini.GetValue("MYSQL", "data", "rakion"); _db_port = ini.GetValue("MYSQL", "port", 3306); debug = ini.GetValue("CONSOLE", "debug", false); ini = null; LogConsole.Show("Has loaded your settings successfully"); } else { LogConsole.Show("Settings.ini could not be found, using default setting"); } } catch (Exception) { return; } #endregion _SQL.Init(_db_ipsv, _db_user, _db_pass, _db_name, _db_port); TimerX _t = new TimerX(s_timer, max_count, infi, delay); }
public static int LoadServers(string serverFile, UInt16 defaultPort) { try { if (File.Exists(Environment.CurrentDirectory + @"\Settings\" + serverFile)) { Systems.Ini ini = new Systems.Ini(Environment.CurrentDirectory + @"\Settings\" + serverFile); string[] sList = null; sList = ini.GetEntryNames("SERVERS"); if (sList != null && sList.Length > 0) { foreach (string sectname in sList) { string sName = ini.GetValue("SERVERS", sectname, ""); Systems.SRX_Serverinfo SServerInfo = new Systems.SRX_Serverinfo(); SServerInfo.id = Convert.ToUInt16(ini.GetValue(sName, "id", 0)); SServerInfo.ip = ini.GetValue(sName, "ip", "192.168.1.5"); SServerInfo.wan = ini.GetValue(sName, "wan", "192.168.1.5"); SServerInfo.name = ini.GetValue(sName, "name", sName); SServerInfo.port = Convert.ToUInt16(ini.GetValue(sName, "port", defaultPort)); SServerInfo.ipcport = Convert.ToUInt16(ini.GetValue(sName, "ipcport", "6001")); SServerInfo.code = ini.GetValue(sName, "code", ""); SServerInfo.lan_wan = ini.GetValue(sName, "lan_wan", "0") == "1" ? true : false; SServerInfo.Version = Convert.ToInt32(ini.GetValue(sName, "version", 0)); if (SServerInfo.ip == "" || SServerInfo.port == 0 || SServerInfo.id == 0 || SServerInfo.ipcport == 0 || GSList.ContainsKey(SServerInfo.id)) { LogDebug.Show("IPC: Error on Server " + sName + " in " + serverFile + ": field missing or id already in use!"); SServerInfo = null; } else { GSList.Add(SServerInfo.id, SServerInfo); } } } if (GSList.Count() > 0) { string servers = "Server"; if (GSList.Count > 1) { servers = "Servers"; } LogConsole.Show("Loaded " + GSList.Count() + " " + servers + " from server settings"); } else { Systems.SRX_Serverinfo GServer = new Systems.SRX_Serverinfo(); GServer.id = 1; GServer.ip = "192.168.1.5"; if (Global.Network.multihomed) { //Multihomed } else { GServer.extip = Global.Network.LocalIP; } GServer.name = "[SERVER] Default"; GServer.port = defaultPort; GServer.ipcport = 6001; GServer.code = "xdxdxdxdxdxd"; GSList.Add(GServer.id, GServer); } sList = null; ini = null; return(GSList.Count()); } else { Systems.SRX_Serverinfo GServer = new Systems.SRX_Serverinfo(); GServer.id = 1; GServer.ip = "192.168.1.5"; if (Global.Network.multihomed) { //Multihomed } else { //No servers GServer.extip = Global.Network.LocalIP; } GServer.name = "[SERVER " + Global.Versions.appVersion + "]"; GServer.port = defaultPort; GServer.ipcport = 6001; GServer.code = ""; GSList.Add(GServer.id, GServer); return(-1); } } catch (Exception ex) { LogConsole.Show("Error loading GameServer settings " + ex + ""); return(-2); } }
static void Main(string[] args) { Program pro = new Program(); LogConsole._Load(); Systems.Ini ini = null; #region Default Settings int LSPort = 8372; int IPCPort = 8500; string LSIP = "127.0.0.1"; string IPCIP = "127.0.0.1"; string m_host = "localhost"; string m_user = "******"; string m_pass = ""; string m_db = ""; int m_port = 3306; #endregion #region Load Settings try { if (File.Exists(Environment.CurrentDirectory + @"\Settings\Settings.ini")) { ini = new Systems.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini"); LSPort = Convert.ToInt32(ini.GetValue("Server", "port", 8372)); LSIP = ini.GetValue("Server", "ip", "127.0.0.1").ToString(); VER = ini.GetValue("Server", "ver", 1); IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 8500)); IPCIP = ini.GetValue("IPC", "ip", "127.0.0.1").ToString(); DEBUG = Convert.ToBoolean(ini.GetValue("CONSOLE", "debug", "false")); m_host = ini.GetValue("MySQL", "host", "localhost").ToString(); m_user = ini.GetValue("MySQL", "user", "root").ToString(); m_pass = ini.GetValue("MySQL", "pass", "").ToString(); m_db = ini.GetValue("MySQL", "data", "").ToString(); m_port = Convert.ToInt32(ini.GetValue("MySQL", "port", 3306)); ini = null; LogConsole.Show(LogType.INFO, "Has loaded your ip settings successfully"); } else { LogConsole.Show(LogType.ALERT, "Settings.ini could not be found, using default setting"); } } catch (Exception excc) { LogConsole.Show(LogType.ERROR, " {0}", excc.ToString()); return; } #endregion Systems.Crypto.Initialize(); Systems.Server net = new Systems.Server(); net.OnConnect += new Systems.Server.dConnect(pro._OnClientConnect); net.OnError += new Systems.Server.dError(pro._ServerError); Systems.Client.OnReceiveData += new Systems.Client.dReceive(pro._OnReceiveData); Systems.Client.OnDisconnect += new Systems.Client.dDisconnect(pro._OnClientDisconnect); try { net.Start(LSIP, LSPort); } catch (Exception ex) { LogConsole.Show(LogType.ERROR, "Starting Server error: {0}", ex); } _LoopThrreading = new Thread(new ThreadStart(Program.LoopConsole)); _LoopThrreading.Priority = ThreadPriority.BelowNormal; _LoopThrreading.Start(); while (true) { Thread.Sleep(100); } }
static void Main(string[] args) { Program pro = new Program(); Bootlogo._Load(); Systems.Ini ini = null; LogConsole.Init(); new EncDec().Load_Hash1(); new EncDec().Load_Hash2(); #region Default Settings int LSPort = 5999; int IPCPort = 5999; string LSIP = "127.0.0.1"; string IPCIP = "127.0.0.1"; #endregion #region Load Settings try { if (File.Exists(Environment.CurrentDirectory + @"\Settings\Settings.ini")) { ini = new Systems.Ini(Environment.CurrentDirectory + @"\Settings\Settings.ini"); LSPort = Convert.ToInt32(ini.GetValue("SERVER", "port", 5999)); LSIP = ini.GetValue("SERVER", "ip", "127.0.0.1"); IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 5999)); IPCIP = ini.GetValue("IPC", "ip", "127.0.0.1"); debug = ini.GetValue("CONSOLE", "debug", false); MYSQL_USER = ini.GetValue("MYSQL", "user", "root"); MYSQL_PASS = ini.GetValue("MYSQL", "pass", "123456"); MYSQL_DATA = ini.GetValue("MYSQL", "data", "godswar"); MYSQL_IP = ini.GetValue("MYSQL", "ip", "127.0.0.1"); MYSQL_PORT = ini.GetValue("MYSQL", "port", 3306); ini = null; LogConsole.Show("MYSQL Connection Settings... LOADED!"); } else { LogConsole.Show("Settings.ini could not be found, doing fallback to default settings!"); } } catch (Exception) { return; } #endregion _SQL.Init(MYSQL_IP, MYSQL_USER, MYSQL_PASS, MYSQL_DATA, MYSQL_PORT); Systems.Server net = new Systems.Server(); net.OnConnect += pro._OnClientConnect; net.OnError += pro._ServerError; Systems.Client.OnReceiveData += pro._OnReceiveData; Systems.Client.OnDisconnect += pro._OnClientDisconnect; try { net.Start(LSIP, LSPort); } catch (Exception ex) { LogConsole.Show("Error Initializing Server: {0}", ex); } #region Load GameServers //Systems.LoadServers("GameServers.ini", 6001); #endregion #region IPC Listener /*IPCServer = new Network.Servers.IPCServer(); * IPCServer.OnReceive += new Network.Servers.IPCServer.dOnReceive(pro.OnIPC); * try * { * IPCServer.Start(IPCIP, IPCPort); * foreach (KeyValuePair<int, Systems.SRX_Serverinfo> GS in Systems.GSList) * { * byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort); * Network.Servers.IPCenCode(ref rqPacket, GS.Value.code); * IPCServer.Send(GS.Value.ip, GS.Value.ipcport, rqPacket); * rqPacket = null; * } * } * catch (Exception ex) * { * LogConsole.Show("Error start ICP: {0}", ex); * }*/ #endregion //LogConsole.Show("Ready for gameserver connection..."); #region Loop Update GameServers while (true) { Thread.Sleep(100); } #endregion }
static void Main(string[] args) { Program pro = new Program(); GameServer.Definitions.Bootlogo._Load(); Systems.Ini ini = null; LogConsole.Init(); #region Default Settings int LSPort = 7000; int IPCPort = 7000; string LSIP = "127.0.0.1"; string IPCIP = "127.0.0.1"; #endregion #region Load Settings try { if (File.Exists(Environment.CurrentDirectory + @"\Settings\GS-Settings.ini")) { ini = new Systems.Ini(Environment.CurrentDirectory + @"\Settings\GS-Settings.ini"); LSPort = Convert.ToInt32(ini.GetValue("GAMESERVER", "port", 7000)); LSIP = ini.GetValue("SERVER", "ip", "127.0.0.1").ToString(); IPCPort = Convert.ToInt32(ini.GetValue("IPC", "port", 7000)); IPCIP = ini.GetValue("IPC", "ip", "127.0.0.1").ToString(); debug = ini.GetValue("CONSOLE", "debug", false); MYSQL_USER = ini.GetValue("MYSQL", "user", "root"); MYSQL_PASS = ini.GetValue("MYSQL", "pass", "123456"); MYSQL_DATA = ini.GetValue("MYSQL", "data", "godswar"); MYSQL_IP = ini.GetValue("MYSQL", "ip", "127.0.0.1"); MYSQL_PORT = ini.GetValue("MYSQL", "port", 3306); ini = null; LogConsole.Show("MYSQL Connection Server-Settings... LOADED!"); } else { LogConsole.Show("Server-Settings.ini could not be found, doing fallback to default settings!"); } } catch (Exception) { return; } #endregion _SQL.Init(MYSQL_IP, MYSQL_USER, MYSQL_PASS, MYSQL_DATA, MYSQL_PORT); Systems.Server net = new Systems.Server(); net.OnConnect += new Systems.Server.dConnect(pro._OnClientConnect); net.OnError += new Systems.Server.dError(pro._ServerError); Systems.Client.OnReceiveData += new Systems.Client.dReceive(pro._OnReceiveData); Systems.Client.OnDisconnect += new Systems.Client.dDisconnect(pro._OnClientDisconnect); try { net.Start(LSIP, LSPort); } catch (Exception ex) { LogConsole.Show("Error Initializing Server: {0}", ex); } #region Load GameServers //Systems.LoadServers("GameServers.ini", 6001); #endregion #region IPC Listener /*IPCServer = new Network.Servers.IPCServer(); * IPCServer.OnReceive += new Network.Servers.IPCServer.dOnReceive(pro.OnIPC); * try * { * IPCServer.Start(IPCIP, IPCPort); * foreach (KeyValuePair<int, Systems.SRX_Serverinfo> Server in Systems.GSList) * { * byte[] rqPacket = IPCServer.PacketRequestServerInfo(IPCPort); * Network.Servers.IPCenCode(ref rqPacket, Server.Value.code); * IPCServer.Send(Server.Value.ip, Server.Value.ipcport, rqPacket); * rqPacket = null; * } * } * catch (Exception ex) * { * LogConsole.Show("Error start ICP: {0}", ex); * }*/ #endregion //LogConsole.Show("Ready for gameserver connection..."); #region Loop Update GameServers while (true) { Thread.Sleep(100); /*foreach (KeyValuePair<int, Systems.SRX_Serverinfo> SSI in Systems.GSList) * { * if (SSI.Value.status != 0 && SSI.Value.lastPing.AddMinutes(5) < DateTime.Now) // server unavailable * { * SSI.Value.status = 0; * LogConsole.Show("Server: {0}:({1}) has timed out, status changed to check", SSI.Value.id, SSI.Value.name); * } * }*/ } #endregion }