World Save Backup Changes

- fixed the timestamps associated with the file, so they are the same as the timestamps in the directory.
- changed the ZipUtils ZipFile method to accept a directory, not an entry name.
This commit is contained in:
Brett Hewitson 2022-05-09 19:01:40 +10:00
parent 0f845d535c
commit 2c84798a02
7 changed files with 66 additions and 68 deletions

View file

@ -2040,14 +2040,14 @@ namespace ServerManagerTool.Lib
var saveFolderInfo = new DirectoryInfo(saveFolder);
// backup the world save file
ZipUtils.ZipFile(backupFile, worldFileName, worldFile, comment.ToString());
ZipUtils.ZipFile(backupFile, "", worldFile, comment.ToString());
// backup the player files
var playerFileFilter = $"*{Config.Default.PlayerFileExtension}";
var playerFiles = saveFolderInfo.GetFiles(playerFileFilter, SearchOption.TopDirectoryOnly);
foreach (var file in playerFiles)
{
ZipUtils.ZipFile(backupFile, file.Name, file.FullName);
ZipUtils.ZipFile(backupFile, "", file.FullName);
}
// backup the tribe files
@ -2055,7 +2055,7 @@ namespace ServerManagerTool.Lib
var tribeFiles = saveFolderInfo.GetFiles(tribeFileFilter, SearchOption.TopDirectoryOnly);
foreach (var file in tribeFiles)
{
ZipUtils.ZipFile(backupFile, file.Name, file.FullName);
ZipUtils.ZipFile(backupFile, "", file.FullName);
}
// backup the tribute tribe files
@ -2063,7 +2063,7 @@ namespace ServerManagerTool.Lib
var tributeTribeFiles = saveFolderInfo.GetFiles(tributeTribeFileFilter, SearchOption.TopDirectoryOnly);
foreach (var file in tributeTribeFiles)
{
ZipUtils.ZipFile(backupFile, file.Name, file.FullName);
ZipUtils.ZipFile(backupFile, "", file.FullName);
}
if (Config.Default.AutoBackup_IncludeSaveGamesFolder)
@ -2078,7 +2078,7 @@ namespace ServerManagerTool.Lib
var saveGamesFiles = saveGamesFolderInfo.GetFiles(saveGamesFileFilter, SearchOption.AllDirectories);
foreach (var file in saveGamesFiles)
{
ZipUtils.ZipFile(backupFile, file.FullName.Replace(saveGamesFolder, Config.Default.SaveGamesRelativePath), file.FullName);
ZipUtils.ZipFile(backupFile, file.DirectoryName.Replace(saveGamesFolder, Config.Default.SaveGamesRelativePath), file.FullName);
}
}
}