public void ChangeProcessPath(string path) { Properties.Settings.Default["processPath"] = path; Properties.Settings.Default.Save(); ConfigHolder.SetProcessPath(path); //ConfigIO.WriteSettings(path); }
public void LoadConfigs() { if (ConfigIO.CheckForSettingsConfig()) { //WriteToConsole("Config for settings found"); ConfigHolder.SetProcessPath((string)Properties.Settings.Default["processPath"]); ConfigHolder.killNonRespProcess = (bool)Properties.Settings.Default["killNonRespProcess"]; ConfigHolder.startServerOnStartup = (bool)Properties.Settings.Default["startServerOnStartup"]; } if (ConfigIO.CheckForParametersConfig()) { //WriteToConsole("Config for parameters found"); ConfigHolder.SetParameters(ConfigIO.LoadParameters()); } else { //WriteToConsole("Config for parameters not found. Creating a new config..."); } if (ConfigIO.CheckForModsConfig()) { //WriteToConsole("Config for mods found"); ConfigHolder.SetMods(ConfigIO.LoadMods()); } else { //WriteToConsole("Config for mods not found. Creating a new config..."); } }
public void OnAddMod(object sender, RoutedEventArgs e) { string path = OpenFolderDialog(); guiHandler.AddMod(path); AddItemToList(this.ModList, ConfigHolder.ShortenModPath(path)); }
private static string ReadParameters() { string parameters = ""; foreach (string s in ConfigHolder.GetParameters()) { parameters += s + " "; } return(parameters); }
public static bool KillProcess() { Process[] pname = Process.GetProcessesByName(ConfigHolder.GetProcessName()); foreach (Process p in pname) { p.Kill(); } return(pname.Length != 0); }
public static bool ExitProcess() { Process[] pname = Process.GetProcessesByName(ConfigHolder.GetProcessName()); foreach (Process p in pname) { p.CloseMainWindow(); } return(pname.Length != 0); }
public void RemoveParameter(string parameter) { for (int i = 0; i < ConfigHolder.GetParameters().Count; i++) { if (ConfigHolder.GetParameters()[i].ToString() == parameter) { ConfigHolder.GetParameters().RemoveAt(i); } } ConfigIO.WriteParameters(ConfigHolder.GetParameters()); }
public void LoadAllModsInDirectory() { var directories = Directory.GetDirectories(Path.GetDirectoryName(ConfigHolder.GetProcessPath())); foreach (string s in directories) { if (ConfigHolder.IsModFolder(ConfigHolder.ShortenModPath(s))) { if (AddMod(s)) { window.AddItemToList(window.ModList, ConfigHolder.ShortenModPath(s)); } } } }
public void LoadGUI() { window.ProcessTextBox.Text = ConfigHolder.GetProcessPath(); window.KillNonRespProcessBox.IsChecked = ConfigHolder.killNonRespProcess; window.StartServerWithToolBox.IsChecked = ConfigHolder.startServerOnStartup; foreach (string s in ConfigHolder.GetParameters()) { window.AddItemToList(window.ParameterList, s); } foreach (string s in ConfigHolder.GetMods()) { window.AddItemToList(window.ModList, ConfigHolder.ShortenModPath(s)); } WriteToConsole("Config files loaded"); }
private static string ReadMods() { string parameter = "\"-mod="; for (int i = 0; i < ConfigHolder.GetMods().Count; i++) { string mod = ConfigHolder.GetMods()[i].ToString(); if (i != ConfigHolder.GetMods().Count - 1) { parameter += ConfigHolder.ShortenModPath(mod) + ";"; } else { parameter += ConfigHolder.ShortenModPath(mod); } } return(parameter += "\""); }
public static string GetProcessName() { string name = Path.GetFileName(ConfigHolder.GetProcessPath()); string newName = ""; for (int i = 0; i < name.Length; i++) { if (name[i] == char.Parse(".")) { break; } else { newName += name[i]; } } return(newName); }
public bool AddMod(string mod) { foreach (string m in ConfigHolder.GetMods()) { if (m.Equals(mod)) { WriteToConsole("The mod " + mod + " is already loaded!"); return(false); } } string keysPath = ""; if (Directory.Exists(mod + @"\keys") || Directory.Exists(mod + @"\key")) { if (Directory.Exists(mod + @"\keys")) { keysPath = mod + @"\keys"; } else if (Directory.Exists(mod + @"\key")) { keysPath = mod + @"\key"; } if (Directory.Exists(keysPath)) { foreach (string s in Directory.GetFiles(keysPath)) { if (s.EndsWith(".bikey")) { if (!File.Exists(GetProcessDirectory() + @"\keys\" + Path.GetFileName(s))) { File.Copy(s, GetProcessDirectory() + @"\keys\" + Path.GetFileName(s)); } } } } } ConfigHolder.AddMod(mod); ConfigIO.WriteMods(ConfigHolder.GetMods()); return(true); }
public static string StartServer() { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = ConfigHolder.GetProcessPath(); startInfo.Arguments = ReadParameters() + " " + ReadMods(); Process process = new Process(); process.StartInfo = startInfo; process.Start(); if (!process.Responding) { process.Kill(); } Logger.WriteToLogFile("Starting server with parameters: " + ReadParameters() + " " + ReadMods()); return(ReadParameters() + " " + ReadMods()); }
private bool IsServerRunning() { Process[] pname = Process.GetProcessesByName(ConfigHolder.GetProcessName()); if (pname.Length != 0 && !pname[0].Responding && timer == null && ConfigHolder.killNonRespProcess) { timer = new System.Timers.Timer(); timer.Elapsed += new ElapsedEventHandler(OnTimedEvent); timer.Interval = 30000; timer.AutoReset = false; timer.Start(); } if (pname.Length == 0) { return(false); } else { return(true); } }
public void RemoveMod(string mod) { string modPath = ""; if (mod[0] == char.Parse("@")) { modPath = GetProcessDirectory() + mod; WriteToConsole("Deleting mod: " + modPath); } else { modPath = mod; } for (int i = 0; i < ConfigHolder.GetMods().Count; i++) { if (ConfigHolder.GetMods()[i].ToString() == modPath) { ConfigHolder.GetMods().RemoveAt(i); } } ConfigIO.WriteMods(ConfigHolder.GetMods()); }
public void AddParameter(string parameter) { ConfigHolder.AddParameter(parameter); ConfigIO.WriteParameters(ConfigHolder.GetParameters()); }
public void PrintProcessDirectory() { WriteToConsole(Path.GetFullPath(ConfigHolder.GetProcessPath())); }
private string GetProcessDirectory() { return(Path.GetDirectoryName(ConfigHolder.GetProcessPath()) + @"\"); }
public void RemoveAllMods() { ConfigHolder.SetMods(new System.Collections.ArrayList()); ConfigIO.WriteMods(ConfigHolder.GetMods()); }