public void GameStartDone() { if (!Directory.Exists(ConfigPath)) { Directory.CreateDirectory(ConfigPath); } LoadConfig.Load(); HowToSetup.Load(); if (Fps.IsEnabled) { Fps.SetTarget(); } Mods.Load(); Timers.LogAlert(); Timers.LoadAlert(); RestartVote.Startup = true; }
public override void GameAwake() { if (!Directory.Exists(ConfigPath)) { Directory.CreateDirectory(ConfigPath); } StateManager.Awake(); Config.Load(); HowToSetup.Load(); Timers.LogAlert(); if (Fps.IsEnabled) { Fps.SetTarget(); } Timers.LoadAlert(); RestartVote.Startup = true; }
public static void Load() { try { Log.Out(string.Format("[SERVERTOOLS] Checking for save directory {0}", API.ConfigPath)); if (!Directory.Exists(API.ConfigPath)) { Directory.CreateDirectory(API.ConfigPath); Log.Out(string.Format("[SERVERTOOLS] Created directory {0}", API.ConfigPath)); } if (!Directory.Exists(API.ConfigPath + "/Logs/ChatLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DetectionLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DetectionLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BountyLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BountyLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/AuctionLog")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/AuctionLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BankLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BankLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DupeLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DupeLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerReports")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerReports"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PollLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PollLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/ChatCommandLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatCommandLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DamageLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DamageLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BlockLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BlockLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/ConsoleCommandLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ConsoleCommandLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/WebsiteLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/WebsiteLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/OutputLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/OutputLogs"); } } catch (XmlException e) { Log.Out(string.Format("[SERVERTOOLS] Error in creation of directory {0}. Error = {1}", API.ConfigPath, e.Message)); } try { StateManager.Awake(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the persistent database bin file. Restart the server and check for errors. Error = {0}", e.Message); } try { Config.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the configuration file. Error = {0}", e.Message); } try { Mods.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the tools. Restart the server and check for errors. Error = {0}", e.Message); } try { Triggers.LoadXml(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the EventTriggers.xml. Check for errors in the file. Error = {0}", e.Message); } try { Phrases.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the Phrases.xml. Restart the server and check for errors. Error = {0}", e.Message); } try { HowToSetup.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the HowToSetup.xml. Error = {0}", e.Message); } if (Fps.IsEnabled) { try { Fps.SetTarget(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to set the target fps. Error = {0}", e.Message); } } if (SleeperRespawn.IsEnabled) { try { SdtdConsole.Instance.ExecuteSync(string.Format("sleeperreset"), null); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to reset sleeper spawn points. Error = {0}", e.Message); } } try { Log.Out(string.Format("[SERVERTOOLS] Deleting old logs")); int _daysBeforeDeleted = Days_Before_Log_Delete * -1; string[] files = Directory.GetFiles(API.ConfigPath + "/Logs/DetectionLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/BountyLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/AuctionLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/BankLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/DupeLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PlayerLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PlayerReports"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PollLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/ChatLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/ChatCommandLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/DamageLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/BlockLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/ConsoleCommandLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/WebsiteLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/OutputLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } Log.Out(string.Format("[SERVERTOOLS] Log clean up completed")); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to delete old logs. Error = {0}", e.Message); } PersistentOperations.EntityIdList(); RestartVote.Cycle = true; Track.Cleanup(); CountryBan.FileCheck(); Timers.LogAlert(); Timers.LoadAlert(); }
public static void Load(int _state) { if (_state == 1) { try { Log.Out(string.Format("[SERVERTOOLS] Checking for save directory {0}", API.ConfigPath)); if (!Directory.Exists(API.ConfigPath)) { Directory.CreateDirectory(API.ConfigPath); Log.Out(string.Format("[SERVERTOOLS] Created directory {0}", API.ConfigPath)); } if (!Directory.Exists(API.ConfigPath + "/Logs/ChatLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DetectionLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DetectionLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BountyLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BountyLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/AuctionLog")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/AuctionLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BankLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BankLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DupeLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DupeLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerReports")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerReports"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PollLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PollLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/ChatCommandLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatCommandLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DamageLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DamageLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BlockLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BlockLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/ConsoleCommandLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ConsoleCommandLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/WebsiteLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/WebsiteLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/OutputLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/OutputLogs"); } } catch (XmlException e) { Log.Out(string.Format("[SERVERTOOLS] Error in creation of directory {0}. Error = {1}", API.ConfigPath, e.Message)); } Load(2); } else if (_state == 2) { try { StateManager.Awake(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the persistent database bin file. Restart the server and check for errors. Error = {0}", e.Message); } Load(3); } else if (_state == 3) { try { LoadConfig.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the configuration file. Error = {0}", e.Message); } Load(4); } else if (_state == 4) { try { Mods.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the tools. Restart the server and check for errors. Error = {0}", e.Message); } Load(5); } else if (_state == 5) { try { LoadTriggers.LoadXml(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the EventTriggers.xml. Check for errors in the file. Error = {0}", e.Message); } Load(6); } else if (_state == 6) { try { Phrases.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the Phrases.xml. Restart the server and check for errors. Error = {0}", e.Message); } try { HowToSetup.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the HowToSetup.xml. Error = {0}", e.Message); } Load(7); } else if (_state == 7) { if (Fps.IsEnabled) { try { Fps.SetTarget(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to set the target fps. Error = {0}", e.Message); } } Load(8); } else if (_state == 8) { Log.Out(string.Format("[SERVERTOOLS] Deleting old logs")); int _daysBeforeDeleted = Days_Before_Log_Delete * -1; string[] files = Directory.GetFiles(API.ConfigPath + "/Logs/DetectionLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/BountyLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/AuctionLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/BankLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/DupeLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PlayerLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PlayerReports"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PollLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/ChatLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/ChatCommandLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/DamageLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/BlockLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/ConsoleCommandLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/WebsiteLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } files = Directory.GetFiles(API.ConfigPath + "/Logs/OutputLogs"); if (files != null && files.Length > 0) { foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } Log.Out(string.Format("[SERVERTOOLS] Log clean up completed")); Load(9); } else if (_state == 9) { RestartVote.Startup = true; Load(10); } else if (_state == 10) { Track.Cleanup(); Load(11); } else if (_state == 11) { CountryBan.FileCheck(); Load(12); } else if (_state == 12) { Timers.LogAlert(); Timers.LoadAlert(); } }
public static void Load(int _state) { if (_state == 1) { try { Log.Out(string.Format("[ServerTools] Checking for save directory {0}", API.ConfigPath)); if (!Directory.Exists(API.ConfigPath)) { Directory.CreateDirectory(API.ConfigPath); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath)); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/ChatLogs")); if (!Directory.Exists(API.ConfigPath + "/Logs/ChatLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatLogs"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/ChatLogs")); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/DetectionLogs")); if (!Directory.Exists(API.ConfigPath + "/Logs/DetectionLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DetectionLogs"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/DetectionLogs")); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/BountyLogs")); if (!Directory.Exists(API.ConfigPath + "/Logs/BountyLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BountyLogs"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/BountyLogs")); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/AuctionLog")); if (!Directory.Exists(API.ConfigPath + "/Logs/AuctionLog")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/AuctionLog"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/AuctionLog")); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/BankLogs")); if (!Directory.Exists(API.ConfigPath + "/Logs/BankLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BankLogs"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/BankLogs")); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/DupeLogs")); if (!Directory.Exists(API.ConfigPath + "/Logs/DupeLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DupeLogs"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/DupeLogs")); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/PlayerLogs")); if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerLogs"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/PlayerLogs")); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/PlayerReports")); if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerReports")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerReports"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/PlayerReports")); } else { Log.Out("[ServerTools] Directory found"); } Log.Out(string.Format("[ServerTools] Checking for logs directory {0}", API.ConfigPath + "/Logs/PollLogs")); if (!Directory.Exists(API.ConfigPath + "/Logs/PollLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PollLogs"); Log.Out(string.Format("[ServerTools] Created directory {0}", API.ConfigPath + "/Logs/PollLogs")); } else { Log.Out("[ServerTools] Directory found"); } string[] files = Directory.GetFiles(API.ConfigPath + "/Logs/DetectionLogs"); int _daysBeforeDeleted = (Days_Before_Log_Delete * -1); foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } files = Directory.GetFiles(API.ConfigPath + "/Logs/BountyLogs"); foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } files = Directory.GetFiles(API.ConfigPath + "/Logs/AuctionLog"); foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } files = Directory.GetFiles(API.ConfigPath + "/Logs/BankLogs"); foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } files = Directory.GetFiles(API.ConfigPath + "/Logs/DupeLogs"); foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PlayerLogs"); foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PlayerReports"); foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } files = Directory.GetFiles(API.ConfigPath + "/Logs/PollLogs"); foreach (string file in files) { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(_daysBeforeDeleted)) { fi.Delete(); } } } catch (XmlException e) { Log.Out(string.Format("[ServerTools] Error in creation of directory {0}. Error = {1}", API.ConfigPath, e.Message)); } Load(2); } if (_state == 2) { try { LoadConfig.Load(); } catch (XmlException e) { Log.Out("[ServerTools] Failed to load the configuration file. Error = {0}", e.Message); } Load(3); } if (_state == 3) { try { SQL.Connect(); } catch (XmlException e) { Log.Out("[ServerTools] Failed to connect to an sql database. ST requires this to operate. Error = {0}", e.Message); } Load(4); } if (_state == 4) { try { Mods.Load(); } catch (XmlException e) { Log.Out("[ServerTools] Failed to load the tools. Restart the server and check for errors. Error = {0}", e.Message); } Load(5); } if (_state == 5) { try { LoadTriggers.LoadXml(); } catch (XmlException e) { Log.Out("[ServerTools] Failed to load the EventTriggers.xml. Check for errors in the file. Error = {0}", e.Message); } Load(6); } if (_state == 6) { try { Phrases.Load(); } catch (XmlException e) { Log.Out("[ServerTools] Failed to load the Phrases.xml. Restart the server and check for errors. Error = {0}", e.Message); } try { HowToSetup.Load(); } catch (XmlException e) { Log.Out("[ServerTools] Failed to load the HowToSetup.xml. Error = {0}", e.Message); } Load(7); } if (_state == 7) { if (Fps.IsEnabled) { try { Fps.SetTarget(); } catch (XmlException e) { Log.Out("[ServerTools] Failed to set the target fps. Error = {0}", e.Message); } } Load(8); } if (_state == 8) { Timers.LogAlert(); Timers.LoadAlert(); Load(9); } if (_state == 9) { RestartVote.Startup = true; } }
public static void Load() { if (!Directory.Exists(API.ConfigPath)) { Directory.CreateDirectory(API.ConfigPath); Log.Out(string.Format("[SERVERTOOLS] Created new directory '{0}'", API.ConfigPath)); } else { Log.Out(string.Format("[SERVERTOOLS] Located directory '{0}'", API.ConfigPath)); } if (!Directory.Exists(API.ConfigPath + "/Logs/ChatLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DetectionLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DetectionLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BountyLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BountyLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/AuctionLog")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/AuctionLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BankLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BankLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DupeLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DupeLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerReports")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerReports"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PollLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PollLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/ChatCommandLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatCommandLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DamageLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DamageLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BlockLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BlockLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/ConsoleCommandLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ConsoleCommandLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/WebPanelLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/WebPanelLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/OutputLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/OutputLogs"); } if (!Directory.Exists(API.GamePath + "/Mods/ServerTools/Config")) { Directory.CreateDirectory(API.GamePath + "/Mods/ServerTools/Config"); } if (!Directory.Exists(API.GamePath + "/Mods/ServerTools/Config/XUi")) { Directory.CreateDirectory(API.GamePath + "/Mods/ServerTools/Config/XUi"); } StateManager.Awake(); RunTimePatch.PatchAll(); Config.Load(); Log.Out("[SERVERTOOLS] Running ServerTools v.{0}", Config.Version); CommandList.BuildList(); CommandList.Load(); PersistentOperations.SetFolders(); PersistentOperations.CreateCustomXUi(); PersistentOperations.GetCurrencyName(); PersistentOperations.EntityIdList(); PersistentOperations.Player_Killing_Mode = GamePrefs.GetInt(EnumGamePrefs.PlayerKillingMode); Mods.Load(); Phrases.Load(); HowToSetup.Load(); if (Fps.IsEnabled) { Fps.SetTarget(); } if (SleeperRespawn.IsEnabled) { try { SingletonMonoBehaviour <SdtdConsole> .Instance.ExecuteSync(string.Format("sleeperreset"), null); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to reset sleeper spawn points. Error = {0}", e.Message); } } try { DeleteFiles("DetectionLogs"); DeleteFiles("BountyLogs"); DeleteFiles("AuctionLogs"); DeleteFiles("BankLogs"); DeleteFiles("DupeLogs"); DeleteFiles("PlayerLogs"); DeleteFiles("PlayerReports"); DeleteFiles("PollLogs"); DeleteFiles("ChatLogs"); DeleteFiles("ChatCommandLogs"); DeleteFiles("DamageLogs"); DeleteFiles("BlockLogs"); DeleteFiles("ConsoleCommandLogs"); DeleteFiles("WebPanelLogs"); DeleteFiles("OutputLogs"); Log.Out(string.Format("[SERVERTOOLS] Xml log clean up complete")); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to delete old logs. Error = {0}", e.Message); } if (PersistentContainer.Instance.WorldSeed == 0) { PersistentContainer.Instance.WorldSeed = GameManager.Instance.World.Seed; PersistentContainer.DataChange = true; } else if (PersistentContainer.Instance.WorldSeed != GameManager.Instance.World.Seed) { PersistentContainer.Instance.WorldSeed = GameManager.Instance.World.Seed; PersistentContainer.DataChange = true; if (!CleanBin.IsEnabled && PersistentContainer.Instance.Players.IDs.Count > 0) { Log.Out("[SERVERTOOLS] Detected a new world. You have old ServerTools data saved from the last map. Run the Clean_Bin tool to remove the data of your choice"); } } if (PersistentContainer.Instance.Connections == null) { Dictionary <string, byte[]> connections = new Dictionary <string, byte[]>(); PersistentContainer.Instance.Connections = connections; Dictionary <string, DateTime> timeOuts = new Dictionary <string, DateTime>(); PersistentContainer.Instance.ConnectionTimeOut = timeOuts; PersistentContainer.DataChange = true; } if (CleanBin.IsEnabled) { CleanBin.Exec(); Log.Out("[SERVERTOOLS] ServerTools.bin has been cleaned. The tool will now disable automatically"); CleanBin.IsEnabled = false; Config.WriteXml(); Config.LoadXml(); } Track.Cleanup(); DroppedBagProtection.BuildList(); BlackJack.BuildDeck(); ActiveTools.Exec(true); Timers.Thirty_Second_Delay(); Timers.PersistentDataSave(); }
public static void Load() { try { Log.Out(string.Format("[SERVERTOOLS] Checking for save directory {0}", API.ConfigPath)); if (!Directory.Exists(API.ConfigPath)) { Directory.CreateDirectory(API.ConfigPath); Log.Out(string.Format("[SERVERTOOLS] Created directory {0}", API.ConfigPath)); } if (!Directory.Exists(API.ConfigPath + "/Logs/ChatLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DetectionLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DetectionLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BountyLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BountyLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/AuctionLog")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/AuctionLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BankLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BankLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DupeLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DupeLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PlayerReports")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PlayerReports"); } if (!Directory.Exists(API.ConfigPath + "/Logs/PollLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/PollLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/ChatCommandLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ChatCommandLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/DamageLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/DamageLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/BlockLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/BlockLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/ConsoleCommandLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/ConsoleCommandLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/WebPanelLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/WebPanelLogs"); } if (!Directory.Exists(API.ConfigPath + "/Logs/OutputLogs")) { Directory.CreateDirectory(API.ConfigPath + "/Logs/OutputLogs"); } } catch (XmlException e) { Log.Out(string.Format("[SERVERTOOLS] Error in creation of directory @ {0}. Error = {1}", API.ConfigPath, e.Message)); } try { StateManager.Awake(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the persistent database bin file. Restart the server and check for errors. Error = {0}", e.Message); } try { Config.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the configuration file. Error = {0}", e.Message); } try { Mods.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the tools. Restart the server and check for errors. Error = {0}", e.Message); } try { Triggers.LoadXml(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the EventTriggers.xml. Check for errors in the file. Error = {0}", e.Message); } try { Phrases.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the Phrases.xml. Restart the server and check for errors. Error = {0}", e.Message); } try { HowToSetup.Load(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to load the HowToSetup.xml. Error = {0}", e.Message); } if (Fps.IsEnabled) { try { Fps.SetTarget(); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to set the target fps. Error = {0}", e.Message); } } if (SleeperRespawn.IsEnabled) { try { SdtdConsole.Instance.ExecuteSync(string.Format("sleeperreset"), null); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to reset sleeper spawn points. Error = {0}", e.Message); } } try { DeleteFiles("DetectionLogs"); DeleteFiles("BountyLogs"); DeleteFiles("AuctionLogs"); DeleteFiles("BankLogs"); DeleteFiles("DupeLogs"); DeleteFiles("PlayerLogs"); DeleteFiles("PlayerReports"); DeleteFiles("PollLogs"); DeleteFiles("ChatLogs"); DeleteFiles("ChatCommandLogs"); DeleteFiles("DamageLogs"); DeleteFiles("BlockLogs"); DeleteFiles("ConsoleCommandLogs"); DeleteFiles("WebPanelLogs"); DeleteFiles("OutputLogs"); Log.Out(string.Format("[SERVERTOOLS] Log clean up completed")); } catch (XmlException e) { Log.Out("[SERVERTOOLS] Failed to delete old logs. Error = {0}", e.Message); } PersistentOperations.EntityIdList(); CountryBan.BuildList(); RestartVote.Cycle = true; Track.Cleanup(); Timers.LogAlert(); Timers.LoadAlert(); Timers.PersistentDataSave(); }