Reset Server Button

- added new button to reset your server.
This commit is contained in:
Brett Hewitson 2022-06-15 20:01:05 +10:00
parent e2f92bf7a9
commit 9c5b096429
19 changed files with 308 additions and 136 deletions

View file

@ -1,5 +1,6 @@
using ServerManagerTool.Common.Lib;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
@ -101,5 +102,41 @@ namespace ServerManagerTool.Lib
this.Profile.LastInstalledVersion = this.Runtime.Version.ToString();
return success;
}
public async Task ResetAsync()
{
// delete the world files (*.db*)
var saveFolder = ServerProfile.GetProfileSavePath(Profile);
if (Directory.Exists(saveFolder))
{
await Task.Run(() =>
{
foreach (var file in Directory.GetFiles(saveFolder, "*.db*", SearchOption.TopDirectoryOnly))
{
File.Delete(file);
}
});
};
// delete the mod files (SaveGames)
var saveGamesFolder = ServerProfile.GetProfileSaveGamesPath(Profile);
if (Directory.Exists(saveGamesFolder))
{
await Task.Run(() =>
{
Directory.Delete(saveGamesFolder, true);
});
}
// delete the log files (Logs)
var logsFolder = Path.Combine(Profile.InstallDirectory, Config.Default.SavedRelativePath, Config.Default.LogsRelativePath);
if (Directory.Exists(logsFolder))
{
await Task.Run(() =>
{
Directory.Delete(logsFolder, true);
});
}
}
}
}

View file

@ -2011,9 +2011,9 @@ namespace ServerManagerTool.Lib
// backup the world save file
var key = string.Empty;
var files = new Dictionary<string, List<string>>
var files = new Dictionary<string, List<(string, string)>>
{
{ key, new List<string> { worldFile } }
{ key, new List<(string, string)> { (worldFile, worldFileName) } }
};
if (Config.Default.AutoBackup_IncludeSaveGamesFolder)
@ -2030,9 +2030,9 @@ namespace ServerManagerTool.Lib
{
key = file.DirectoryName.Replace(saveGamesFolder, Config.Default.SaveGamesRelativePath);
if (files.ContainsKey(key))
files[key].Add(file.FullName);
files[key].Add((file.FullName, file.Name));
else
files.Add(key, new List<string> { file.FullName });
files.Add(key, new List<(string, string)> { (file.FullName, file.Name) });
}
}
}