public void Save()
{
// Do replacements
FileContents = Regex.Replace(FileContents, @"stats_enable = ([0-1])", "stats_enable = " + (StatsEnabled ? 1 : 0));
FileContents = Regex.Replace(FileContents, @"debug_enable = ([0-1])", "debug_enable = " + (DebugEnabled ? 1 : 0));
FileContents = Regex.Replace(FileContents, @"snapshot_logging = ([0-2])", "snapshot_logging = " + SnapshotLogging);
FileContents = Regex.Replace(FileContents, @"snapshot_prefix = '([A-Za-z0-9_]*)'", String.Format("snapshot_prefix = '{0}'", SnapshotPrefix));
FileContents = Regex.Replace(FileContents, @"medals_custom_data = '([A-Za-z0-9_]*)'", String.Format("medals_custom_data = '{0}'", MedalDataProfile));
FileContents = Regex.Replace(FileContents, @"http_backend_addr = '(.*)'", String.Format("http_backend_addr = '{0}'", AspAddress));
FileContents = Regex.Replace(FileContents, @"http_central_addr = '(.*)'", String.Format("http_central_addr = '{0}'", CentralAspAddress));
FileContents = Regex.Replace(FileContents, @"http_backend_port = ([0-9]+)", "http_backend_port = " + AspPort);
FileContents = Regex.Replace(FileContents, @"http_central_port = ([0-9]+)", "http_central_port = " + CentralAspPort);
FileContents = Regex.Replace(FileContents, @"http_backend_asp = '(.*)'", String.Format("http_backend_asp = '{0}'", AspFile));
FileContents = Regex.Replace(FileContents, @"http_central_asp = '(.*)'", String.Format("http_central_asp = '{0}'", CentralAspFile));
FileContents = Regex.Replace(FileContents, @"enableClanManager = ([0-1])", "enableClanManager = " + (ClanManager.Enabled ? 1 : 0));
FileContents = Regex.Replace(FileContents, @"serverMode = ([0-4])", "serverMode = " + ClanManager.ServerMode);
FileContents = Regex.Replace(FileContents, @"'clantag',[\s|\t]+'([A-Za-z0-9_=-\|\s\[\]]*)'", String.Format("'clantag', '{0}'", ClanManager.ClanTagRequirement));
FileContents = Regex.Replace(FileContents, @"'score',[\s|\t]+([0-9]+)", String.Format("'score', {0}", ClanManager.ScoreRequirement));
FileContents = Regex.Replace(FileContents, @"'time',[\s|\t]+([0-9]+)", String.Format("'time', {0}", ClanManager.TimeRequirement));
FileContents = Regex.Replace(FileContents, @"'kdratio',[\s|\t]+([0-9.]+)", String.Format("'kdratio', {0}", ClanManager.KDRatioRequirement));
FileContents = Regex.Replace(FileContents, @"'banned',[\s|\t]+([0-9]+)", String.Format("'banned', {0}", ClanManager.MaxBanCount));
FileContents = Regex.Replace(FileContents, @"'country',[\s|\t]+'([A_Za-z]*)'", String.Format("'country', '{0}'", ClanManager.CountryRequirement));
FileContents = Regex.Replace(FileContents, @"'rank',[\s|\t]+([0-9]+)", String.Format("'rank', {0}", ClanManager.RankRequirement));
// Do replacement for Xpack Enabled Mods
string val = "";
foreach (string mod in XpackMedalMods)
val += "'mods/" + mod.ToLowerInvariant() + "',";
FileContents = Regex.Replace(FileContents, @"medals_xpack_mods = \[(?<value>[A-Za-z0-9_/\s',]*)\]", "medals_xpack_mods = [" + val.Trim(',') + "]");
// Save File
using (Stream Str = SettingsFile.Open(FileMode.Truncate, FileAccess.Write))
using (StreamWriter Wtr = new StreamWriter(Str))
{
Wtr.Write(FileContents);
Wtr.Flush();
}
}