런처 파일 삭제 버그 수정
This commit is contained in:
2023-02-02 11:05:28 +09:00
parent 2d7e9a9fe5
commit 6fa68e5306
3 changed files with 34 additions and 6 deletions

View File

@@ -47,7 +47,8 @@ namespace Mitria_Minecraft_Launcher
{ {
directory.Create(); directory.Create();
} }
files.AddRange(directory.GetFiles("*.*", SearchOption.AllDirectories).ToArray()); files.AddRange(directory.GetFiles("*.*", SearchOption.TopDirectoryOnly).ToArray());
} }
foreach (var file in files) foreach (var file in files)
{ {

View File

@@ -25,7 +25,6 @@ namespace Mitria_Minecraft_Launcher
public static readonly string ServerLauncherPatchInformationFile = "/launcher.xml"; public static readonly string ServerLauncherPatchInformationFile = "/launcher.xml";
public static readonly string ServerInformationFile = "/server.xml"; public static readonly string ServerInformationFile = "/server.xml";
public static readonly string ServerDataPatchInformationFile = "/data.xml"; public static readonly string ServerDataPatchInformationFile = "/data.xml";
//public static readonly string BaseArgument = @"-XX:+UseG1GC -Xmx8G -Xms8G -Dsun.rmi.dgc.server.gcInterval=2147483646 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M";
public static void LoadUserLauncherConfig() public static void LoadUserLauncherConfig()
{ {

View File

@@ -1,6 +1,8 @@
using CommonLibrary; using CommonLibrary;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace Mitria_Minecraft_Launcher.Updater namespace Mitria_Minecraft_Launcher.Updater
{ {
@@ -226,8 +228,9 @@ namespace Mitria_Minecraft_Launcher.Updater
} }
else else
{ {
// 제거된 폴더 삭제
var resultDirectorys = new List<string>(); var resultDirectorys = new List<string>();
foreach (var directory in Settings.UserClientVersion.ComponentDirectorys) foreach (var directory in Settings.UserClientVersion.ComponentDirectorys)
{ {
if (!dataPatchInformation.ComponentDirectorys.Contains(directory)) if (!dataPatchInformation.ComponentDirectorys.Contains(directory))
@@ -235,7 +238,6 @@ namespace Mitria_Minecraft_Launcher.Updater
resultDirectorys.Add(directory); resultDirectorys.Add(directory);
} }
} }
foreach (var directory in resultDirectorys) foreach (var directory in resultDirectorys)
{ {
var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory,Settings.NowProfile.ServerName, directory)); var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory,Settings.NowProfile.ServerName, directory));
@@ -247,6 +249,29 @@ namespace Mitria_Minecraft_Launcher.Updater
} }
} }
var reverseDirectorys = dataPatchInformation.ComponentDirectorys;
reverseDirectorys.Reverse();
string gameDirectory = CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName) + "\\";
foreach (var directory in reverseDirectorys)
{
var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName, directory));
if (System.IO.Directory.Exists(directoryPath))
{
var lowDirectorys = System.IO.Directory.GetDirectories(directoryPath);
foreach (var lowDirectory in lowDirectorys)
{
var directoryName = lowDirectory.Replace(gameDirectory, string.Empty);
directoryName = directoryName.Replace("\\", "/");
if (!dataPatchInformation.ComponentDirectorys.Contains(directoryName))
{
System.IO.Directory.Delete(lowDirectory, true);
Log.INFO("[Component] -[D] " + directoryPath);
}
}
}
}
foreach (var directory in dataPatchInformation.ComponentDirectorys) foreach (var directory in dataPatchInformation.ComponentDirectorys)
{ {
var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName, directory)); var directoryPath = System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName, directory));
@@ -258,6 +283,7 @@ namespace Mitria_Minecraft_Launcher.Updater
} }
} }
var auditFile = new AuditFile(); var auditFile = new AuditFile();
var localFiles = auditFile.GetLocalFileList(dataPatchInformation.ComponentDirectorys); var localFiles = auditFile.GetLocalFileList(dataPatchInformation.ComponentDirectorys);
var removeFiles = auditFile.GetRemoveFiles(localFiles, dataPatchInformation.ComponentList); var removeFiles = auditFile.GetRemoveFiles(localFiles, dataPatchInformation.ComponentList);
@@ -268,10 +294,12 @@ namespace Mitria_Minecraft_Launcher.Updater
foreach (var fileDetail in removeFiles) foreach (var fileDetail in removeFiles)
{ {
var filePath = CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory,Settings.NowProfile.ServerName, fileDetail.Directory, fileDetail.FileName); var filePath = CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory,Settings.NowProfile.ServerName, fileDetail.Directory, fileDetail.FileName);
if (System.IO.File.Exists(filePath)) FileInfo fileInfo= new FileInfo(filePath);
fileInfo.IsReadOnly = false;
if (fileInfo.Exists)
{ {
Log.INFO("[Component] -[F] " + filePath); Log.INFO("[Component] -[F] " + filePath);
System.IO.File.Delete(filePath); fileInfo.Delete();
} }
} }
// 디렉토리 삭제 // 디렉토리 삭제