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);
});
}
}
}
}