DTLib updated

This commit is contained in:
Timerix22 2024-01-07 14:52:00 +06:00
parent 42431f0948
commit dec8fbef33
4 changed files with 16 additions and 11 deletions

View File

@ -55,13 +55,17 @@ public class Network
var manifestPath = Path.Concat(dirOnServer, "manifest.dtsod");
Logger.LogDebug(nameof(Network), manifestPath);
string manifestContent = Fsp.DownloadFileToMemory(manifestPath).BytesToString();
Logger.LogDebug(nameof(Network), manifestContent);
var manifest = new DtsodV23(manifestContent);
var hasher = new Hasher();
foreach (var fileOnServerData in manifest)
{
IOPath fileOnClient = Path.Concat(dirOnClient, fileOnServerData.Key);
if (!File.Exists(fileOnClient) || (overwrite && hasher.HashFile(fileOnClient).HashToString() != fileOnServerData.Value))
{
Logger.LogDebug(nameof(Network), $"downloading {fileOnClient}");
Fsp.DownloadFile(Path.Concat(dirOnServer, fileOnServerData.Key), fileOnClient);
}
}
// удаление лишних файлов
if (delete_excess)
@ -69,7 +73,10 @@ public class Network
foreach (var file in Directory.GetAllFiles(dirOnClient))
{
if (!manifest.ContainsKey(file.RemoveBase(dirOnClient).Str.Replace('\\','/')))
{
Logger.LogDebug(nameof(Network), $"deleting {file}");
File.Delete(file);
}
}
}
}

View File

@ -23,8 +23,8 @@
<PackageReference Include="Costura.Fody" Version="5.7.0">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="DTLib.Dtsod" Version="1.3.1" />
<PackageReference Include="DTLib.Logging" Version="1.3.1" />
<PackageReference Include="DTLib.Network" Version="1.3.3" />
<PackageReference Include="DTLib.Dtsod" Version="1.3.3" />
<PackageReference Include="DTLib.Logging" Version="1.3.3" />
<PackageReference Include="DTLib.Network" Version="1.4.1" />
</ItemGroup>
</Project>

View File

@ -25,10 +25,8 @@ static class Server
static ServerConfig Config = null!;
public static readonly IOPath shared_dir = "public";
static void Main(string[] args)
{
Timer? updateCheckTimer = null;
try
{
Console.Title = "minecraft_launcher_server";
@ -39,7 +37,7 @@ static class Server
CheckUpdates();
// check for updates every 5 minutes
updateCheckTimer = new Timer(true, 5*60 * 1000, CheckUpdates);
var updateCheckTimer = new Timer(true, 5*60 * 1000, CheckUpdates);
updateCheckTimer.Start();

View File

@ -12,8 +12,8 @@
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DTLib.Dtsod" Version="1.3.1" />
<PackageReference Include="DTLib.Logging" Version="1.3.1" />
<PackageReference Include="DTLib.Network" Version="1.3.3" />
<PackageReference Include="DTLib.Dtsod" Version="1.3.3" />
<PackageReference Include="DTLib.Logging" Version="1.3.3" />
<PackageReference Include="DTLib.Network" Version="1.4.1" />
</ItemGroup>
</Project>