DTLib updated
This commit is contained in:
parent
42431f0948
commit
dec8fbef33
@ -55,21 +55,28 @@ public class Network
|
|||||||
var manifestPath = Path.Concat(dirOnServer, "manifest.dtsod");
|
var manifestPath = Path.Concat(dirOnServer, "manifest.dtsod");
|
||||||
Logger.LogDebug(nameof(Network), manifestPath);
|
Logger.LogDebug(nameof(Network), manifestPath);
|
||||||
string manifestContent = Fsp.DownloadFileToMemory(manifestPath).BytesToString();
|
string manifestContent = Fsp.DownloadFileToMemory(manifestPath).BytesToString();
|
||||||
|
Logger.LogDebug(nameof(Network), manifestContent);
|
||||||
var manifest = new DtsodV23(manifestContent);
|
var manifest = new DtsodV23(manifestContent);
|
||||||
var hasher = new Hasher();
|
var hasher = new Hasher();
|
||||||
foreach (var fileOnServerData in manifest)
|
foreach (var fileOnServerData in manifest)
|
||||||
{
|
{
|
||||||
IOPath fileOnClient = Path.Concat(dirOnClient, fileOnServerData.Key);
|
IOPath fileOnClient = Path.Concat(dirOnClient, fileOnServerData.Key);
|
||||||
if (!File.Exists(fileOnClient) || (overwrite && hasher.HashFile(fileOnClient).HashToString() != fileOnServerData.Value))
|
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);
|
Fsp.DownloadFile(Path.Concat(dirOnServer, fileOnServerData.Key), fileOnClient);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// удаление лишних файлов
|
// удаление лишних файлов
|
||||||
if (delete_excess)
|
if (delete_excess)
|
||||||
{
|
{
|
||||||
foreach (var file in Directory.GetAllFiles(dirOnClient))
|
foreach (var file in Directory.GetAllFiles(dirOnClient))
|
||||||
{
|
{
|
||||||
if (!manifest.ContainsKey(file.RemoveBase(dirOnClient).Str.Replace('\\','/')))
|
if (!manifest.ContainsKey(file.RemoveBase(dirOnClient).Str.Replace('\\','/')))
|
||||||
|
{
|
||||||
|
Logger.LogDebug(nameof(Network), $"deleting {file}");
|
||||||
File.Delete(file);
|
File.Delete(file);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,8 +23,8 @@
|
|||||||
<PackageReference Include="Costura.Fody" Version="5.7.0">
|
<PackageReference Include="Costura.Fody" Version="5.7.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="DTLib.Dtsod" Version="1.3.1" />
|
<PackageReference Include="DTLib.Dtsod" Version="1.3.3" />
|
||||||
<PackageReference Include="DTLib.Logging" Version="1.3.1" />
|
<PackageReference Include="DTLib.Logging" Version="1.3.3" />
|
||||||
<PackageReference Include="DTLib.Network" Version="1.3.3" />
|
<PackageReference Include="DTLib.Network" Version="1.4.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@ -24,11 +24,9 @@ static class Server
|
|||||||
static readonly Socket mainSocket = new(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
static readonly Socket mainSocket = new(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
|
||||||
static ServerConfig Config = null!;
|
static ServerConfig Config = null!;
|
||||||
public static readonly IOPath shared_dir = "public";
|
public static readonly IOPath shared_dir = "public";
|
||||||
|
|
||||||
|
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
Timer? updateCheckTimer = null;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Console.Title = "minecraft_launcher_server";
|
Console.Title = "minecraft_launcher_server";
|
||||||
@ -39,7 +37,7 @@ static class Server
|
|||||||
|
|
||||||
CheckUpdates();
|
CheckUpdates();
|
||||||
// check for updates every 5 minutes
|
// 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();
|
updateCheckTimer.Start();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -12,8 +12,8 @@
|
|||||||
<InvariantGlobalization>true</InvariantGlobalization>
|
<InvariantGlobalization>true</InvariantGlobalization>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DTLib.Dtsod" Version="1.3.1" />
|
<PackageReference Include="DTLib.Dtsod" Version="1.3.3" />
|
||||||
<PackageReference Include="DTLib.Logging" Version="1.3.1" />
|
<PackageReference Include="DTLib.Logging" Version="1.3.3" />
|
||||||
<PackageReference Include="DTLib.Network" Version="1.3.3" />
|
<PackageReference Include="DTLib.Network" Version="1.4.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
Loading…
Reference in New Issue
Block a user