static bool StartServer() { List <string> Sections = GetSections(Path.Combine(Environment.CurrentDirectory, "config.ini")); Support.iniManager iniEngine = new Support.iniManager(Path.Combine(Environment.CurrentDirectory, "config.ini")); foreach (string item in Sections) { string ApplicationName = item; bool isActive = iniEngine.IniReadValue(item, "isActive") == "1"; if (!isActive) { continue; } int Version; if (!Int32.TryParse(iniEngine.IniReadValue(item, "Version"), out Version)) { continue; } short InputPort; if (!Int16.TryParse(iniEngine.IniReadValue(item, "InputPort"), out InputPort)) { continue; } char ProtocolDelimiter; if (!char.TryParse(iniEngine.IniReadValue(item, "ProtocolDelimiter"), out ProtocolDelimiter)) { continue; } string EncryptionKey = iniEngine.IniReadValue(item, "EncryptionKey"); string EncryptionIV = iniEngine.IniReadValue(item, "EncryptionIV"); int PingTimer; if (!int.TryParse(iniEngine.IniReadValue(item, "PingTimer"), out PingTimer)) { continue; } int SessionLength; if (!int.TryParse(iniEngine.IniReadValue(item, "SessionLength"), out SessionLength)) { continue; } string DatabaseDriver = iniEngine.IniReadValue(item, "DatabaseDriver"); string DatabaseIP = iniEngine.IniReadValue(item, "DatabaseIP"); short DatabasePort; if (!short.TryParse(iniEngine.IniReadValue(item, "DatabasePort"), out DatabasePort)) { continue; } string DatabaseLoginName = iniEngine.IniReadValue(item, "DatabaseLoginName"); string DatabasePassword = iniEngine.IniReadValue(item, "DatabasePassword"); string DatabaseDefault = iniEngine.IniReadValue(item, "DatabaseDefault"); string LogFile = iniEngine.IniReadValue(item, "LogFile"); int LogLevel; if (!int.TryParse(iniEngine.IniReadValue(item, "LogLevel"), out LogLevel)) { continue; } string PathGameDll = iniEngine.IniReadValue(item, "PathGameDll"); ControllerCore Controller = new ControllerCore(ApplicationName, Version, InputPort, ProtocolDelimiter, EncryptionKey, EncryptionIV, PingTimer, SessionLength, DatabaseDriver, DatabaseIP, DatabasePort, DatabaseLoginName, DatabasePassword, DatabaseDefault, LogFile, LogLevel, PathGameDll); try { Controller.Start(); AppsRunning.Add(Controller); } catch (Exception e) { return(false); } } return(true); }
public void CreateConfigIni() { string ConfigPath = Path.Combine(Directory.GetCurrentDirectory(), "config.ini"); string ApplicationName = "CodeZero"; int InputPort = 13010; char ProtocolDelimiter = ';'; string EncryptionKey = "1234567890123456"; string EncryptionIV = "bbbbbbbbbbbbbbbb"; int PingTimer = 20000; int SessionLength = 10; string DatabaseDriver = "mssql"; string DatabaseIP = "62.138.6.50"; int DatabasePort = 1433; string DatabaseLoginName = "sa"; string DatabasePassword = "******"; string DatabaseDefault = "Protega"; string LogFile = Path.Combine(Directory.GetCurrentDirectory(), "Log.txt"); int LogLevel = 3; //CABAL DEFAULT! string LinuxIP = "167.88.15.106"; string LinuxLoginName = "root"; string LinuxPassword = "******"; int LinuxPort = 22; System.Collections.Generic.List <int> Ports = new System.Collections.Generic.List <int>() { 12001, 12002, 12003 }; string sPorts = ""; Ports.ForEach(Port => sPorts += Port.ToString() + ";"); sPorts = sPorts.TrimEnd(';'); string IniText = String.Format("[{0}]", ApplicationName); if (File.Exists(ConfigPath)) { File.Delete(ConfigPath); } FileStream fs = File.Create(ConfigPath); fs.Close(); //File.WriteAllText(ConfigPath, "[Data]\r\nName=\r\nPassword=\r\nAccess="); File.WriteAllText(ConfigPath, IniText); Support.iniManager iniEngine = new Support.iniManager(ConfigPath); iniEngine.IniWriteValue(ApplicationName, "InputPort", InputPort.ToString()); iniEngine.IniWriteValue(ApplicationName, "ProtocolDelimiter", ProtocolDelimiter.ToString()); iniEngine.IniWriteValue(ApplicationName, "EncryptionKey", EncryptionKey.ToString()); iniEngine.IniWriteValue(ApplicationName, "EncryptionIV", EncryptionIV.ToString()); iniEngine.IniWriteValue(ApplicationName, "PingTimer", PingTimer.ToString()); iniEngine.IniWriteValue(ApplicationName, "SessionLength", SessionLength.ToString()); iniEngine.IniWriteValue(ApplicationName, "DatabaseDriver", DatabaseDriver.ToString()); iniEngine.IniWriteValue(ApplicationName, "DatabaseIP", DatabaseIP.ToString()); iniEngine.IniWriteValue(ApplicationName, "DatabasePort", DatabasePort.ToString()); iniEngine.IniWriteValue(ApplicationName, "DatabaseLoginName", DatabaseLoginName.ToString()); iniEngine.IniWriteValue(ApplicationName, "DatabasePassword", DatabasePassword.ToString()); iniEngine.IniWriteValue(ApplicationName, "DatabaseDefault", DatabaseDefault.ToString()); iniEngine.IniWriteValue(ApplicationName, "LogFile", LogFile.ToString()); iniEngine.IniWriteValue(ApplicationName, "LogLevel", LogLevel.ToString()); iniEngine.IniWriteValue(ApplicationName, "LinuxIP", LinuxIP.ToString()); iniEngine.IniWriteValue(ApplicationName, "LinuxLoginName", LinuxLoginName.ToString()); iniEngine.IniWriteValue(ApplicationName, "LinuxPassword", LinuxPassword.ToString()); iniEngine.IniWriteValue(ApplicationName, "LinuxPort", LinuxPort.ToString()); iniEngine.IniWriteValue(ApplicationName, "Ports", sPorts.ToString()); }
static bool RefreshSettings() { List <string> Sections = GetSections(Path.Combine(Environment.CurrentDirectory, "config.ini")); Support.iniManager iniEngine = new Support.iniManager(Path.Combine(Environment.CurrentDirectory, "config.ini")); foreach (string item in Sections) { int NewVersion; if (!Int32.TryParse(iniEngine.IniReadValue(item, "Version"), out NewVersion)) { return(false); } string EncryptionKey = iniEngine.IniReadValue(item, "EncryptionKey"); string EncryptionIV = iniEngine.IniReadValue(item, "EncryptionIV"); int PingTimer; if (!int.TryParse(iniEngine.IniReadValue(item, "PingTimer"), out PingTimer)) { return(false); } int LogLevel; if (!int.TryParse(iniEngine.IniReadValue(item, "LogLevel"), out LogLevel)) { return(false); } if (AppsRunning.Count > 0) { int FormerVersion = Classes.CCstData.GetInstance(AppsRunning[0].Application).LatestClientVersion; if (NewVersion != FormerVersion) { Classes.CCstData.GetInstance(AppsRunning[0].Application).LatestClientVersion = NewVersion; Console.WriteLine("CONFIG update: Using now version " + NewVersion.ToString()); } int FormerLogLevel = Classes.CCstData.GetInstance(AppsRunning[0].Application).Logger.LogLevel; if (LogLevel != FormerLogLevel) { Classes.CCstData.GetInstance(AppsRunning[0].Application).Logger.LogLevel = LogLevel; Console.WriteLine("CONFIG update: Using now LogLevel " + LogLevel.ToString()); } string FormerEncryptionKey = Classes.CCstData.GetInstance(AppsRunning[0].Application).EncryptionKey; if (FormerEncryptionKey != EncryptionKey) { Classes.CCstData.GetInstance(AppsRunning[0].Application).EncryptionKey = EncryptionKey; Console.WriteLine("CONFIG update: Using now encryption key " + EncryptionKey); } string FormerEncryptionIV = Classes.CCstData.GetInstance(AppsRunning[0].Application).EncryptionIV; if (FormerEncryptionIV != EncryptionIV) { Classes.CCstData.GetInstance(AppsRunning[0].Application).EncryptionIV = EncryptionIV; Console.WriteLine("CONFIG update: Using now encryption IV " + EncryptionIV); } int FormerPingTimer = Classes.CCstData.GetInstance(AppsRunning[0].Application).PingTimer; if (FormerEncryptionIV != EncryptionIV) { Classes.CCstData.GetInstance(AppsRunning[0].Application).PingTimer = PingTimer; Console.WriteLine("CONFIG update: Using now PingTimer " + PingTimer.ToString() + "ms"); } } } return(true); }