Compare commits

...

7 Commits

Author SHA1 Message Date
zznty
bd27360655 update to new se 2023-04-14 11:05:36 +07:00
zznty
b24eee3ecf remove beta from depot tool install 2023-03-27 16:03:15 +07:00
zznty
9068558a53 fix patcher compat with __local thing 2023-03-24 14:49:42 +07:00
zznty
9c22948ce9 fix keen compiler assemblies fuckery 2023-02-21 22:43:30 +07:00
zznty
2b1a5d4c6e fix script compiler compat with event block mods 2023-02-19 19:44:00 +07:00
zznty
2860dda41b windows moment 2023-02-17 16:32:48 +07:00
zznty
5483728a4e use depot downloader instead of steamcmd because its having some troubles with branching 2023-02-17 16:11:35 +07:00
11 changed files with 117 additions and 105 deletions

View File

@@ -21,7 +21,7 @@
<PackageReference Include="NuGet.Commands" Version="6.4.0" />
<PackageReference Include="NuGet.DependencyResolver.Core" Version="6.4.0" />
<PackageReference Include="SemanticVersioning" Version="2.0.2" />
<PackageReference Include="SpaceEngineersDedicated.ReferenceAssemblies" Version="1.202.48">
<PackageReference Include="SpaceEngineersDedicated.ReferenceAssemblies" Version="1.202.66">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>compile</IncludeAssets>
</PackageReference>

View File

@@ -43,9 +43,9 @@
},
"SpaceEngineersDedicated.ReferenceAssemblies": {
"type": "Direct",
"requested": "[1.202.48, )",
"resolved": "1.202.48",
"contentHash": "iP34MZD14Z/4HTg8rcKQlzJ+azM8/9HVScMJqdYejYbSDAiZzaZS6wlbPkDOKGhbLV2+iW7N5Ix/hCUATBYGuw==",
"requested": "[1.202.66, )",
"resolved": "1.202.66",
"contentHash": "VTOwwfTPnov6WWJNrsmB9lWs5s+6XVUXtV8SgLvgJTswK11MTA0e+TZFfZJoSZ1WUsE2dvxlMrNOYJ6aL6j0wA==",
"dependencies": {
"protobuf-net": "1.0.0"
}

View File

@@ -27,10 +27,10 @@ namespace Torch.Server
private static readonly Logger Log = LogManager.GetLogger(nameof(Initializer));
private bool _init;
private const string STEAMCMD_DIR = "steamcmd";
private const string STEAMCMD_ZIP = "temp.zip";
private static readonly string STEAMCMD_EXE = "steamcmd.exe";
private const string STEAMCMD_ARGS = "+force_install_dir \"{0}\" +login anonymous +app_update 298740 -beta automtatons-beta +quit";
private const string TOOL_DIR = "tool";
private const string TOOL_ZIP = "temp.zip";
private static readonly string TOOL_EXE = "DepotDownloader.exe";
private const string TOOL_ARGS = "-app 298740 -depot 298741 -dir \"{0}\"";
private TorchServer _server;
internal Persistent<TorchConfig> ConfigPersistent { get; }
@@ -57,7 +57,7 @@ namespace Torch.Server
#endif
if (configuration.GetValue("getGameUpdates", true) && !configuration.GetValue("noupdate", false))
RunSteamCmd(configuration);
RunSteamCmdAsync(configuration).Wait();
var processPid = configuration.GetValue<int>("waitForPid");
if (processPid != 0)
@@ -124,36 +124,36 @@ namespace Torch.Server
}
}
public static void RunSteamCmd(IConfiguration configuration)
public static async Task RunSteamCmdAsync(IConfiguration configuration)
{
var log = LogManager.GetLogger("SteamCMD");
var log = LogManager.GetLogger("SteamTool");
var path = configuration.GetValue<string>("steamCmdPath") ?? ApplicationContext.Current.TorchDirectory
.CreateSubdirectory(STEAMCMD_DIR).FullName;
var path = configuration.GetValue<string>("steamToolPath") ?? ApplicationContext.Current.TorchDirectory
.CreateSubdirectory(TOOL_DIR).FullName;
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
var steamCmdExePath = Path.Combine(path, STEAMCMD_EXE);
var steamCmdExePath = Path.Combine(path, TOOL_EXE);
if (!File.Exists(steamCmdExePath))
{
try
{
log.Info("Downloading SteamCMD.");
log.Info("Downloading Steam Tool.");
using (var client = new HttpClient())
using (var file = File.Create(STEAMCMD_ZIP))
using (var stream = client.GetStreamAsync("https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip").Result)
stream.CopyTo(file);
await using (var file = File.Create(TOOL_ZIP))
await using (var stream = await client.GetStreamAsync("https://github.com/SteamRE/DepotDownloader/releases/download/DepotDownloader_2.4.7/depotdownloader-2.4.7.zip"))
await stream.CopyToAsync(file);
ZipFile.ExtractToDirectory(STEAMCMD_ZIP, path);
File.Delete(STEAMCMD_ZIP);
log.Info("SteamCMD downloaded successfully!");
ZipFile.ExtractToDirectory(TOOL_ZIP, path);
File.Delete(TOOL_ZIP);
log.Info("Steam Tool downloaded successfully!");
}
catch (Exception e)
{
log.Error(e, "Failed to download SteamCMD, unable to update the DS.");
log.Error(e, "Failed to download Steam Tool, unable to update the DS.");
return;
}
}
@@ -161,19 +161,16 @@ namespace Torch.Server
log.Info("Checking for DS updates.");
var steamCmdProc = new ProcessStartInfo(steamCmdExePath)
{
Arguments = string.Format(STEAMCMD_ARGS, configuration.GetValue("gamePath", "../")),
Arguments = string.Format(TOOL_ARGS, configuration.GetValue("gamePath", "../")),
WorkingDirectory = path,
UseShellExecute = false,
RedirectStandardOutput = true,
StandardOutputEncoding = Encoding.ASCII
RedirectStandardOutput = true
};
var cmd = Process.Start(steamCmdProc);
var cmd = Process.Start(steamCmdProc)!;
// ReSharper disable once PossibleNullReferenceException
while (!cmd.HasExited)
{
log.Info(cmd.StandardOutput.ReadLine());
Thread.Sleep(100);
if (await cmd.StandardOutput.ReadLineAsync() is { } line)
log.Info(line);
}
}
}

View File

@@ -51,7 +51,7 @@
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="System.Management" Version="7.0.0" />
<PackageReference Include="nulastudio.NetCoreBeauty" Version="1.2.9.3" />
<PackageReference Include="SpaceEngineersDedicated.ReferenceAssemblies" Version="1.202.48">
<PackageReference Include="SpaceEngineersDedicated.ReferenceAssemblies" Version="1.202.66">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>compile</IncludeAssets>
</PackageReference>

View File

@@ -122,9 +122,9 @@
},
"SpaceEngineersDedicated.ReferenceAssemblies": {
"type": "Direct",
"requested": "[1.202.48, )",
"resolved": "1.202.48",
"contentHash": "iP34MZD14Z/4HTg8rcKQlzJ+azM8/9HVScMJqdYejYbSDAiZzaZS6wlbPkDOKGhbLV2+iW7N5Ix/hCUATBYGuw==",
"requested": "[1.202.66, )",
"resolved": "1.202.66",
"contentHash": "VTOwwfTPnov6WWJNrsmB9lWs5s+6XVUXtV8SgLvgJTswK11MTA0e+TZFfZJoSZ1WUsE2dvxlMrNOYJ6aL6j0wA==",
"dependencies": {
"protobuf-net": "1.0.0"
}
@@ -162,10 +162,10 @@
},
"HarmonyX": {
"type": "Transitive",
"resolved": "2.10.2-prerelease.3",
"contentHash": "XnR2oKlFTCb7F+90OkJR0cqOYOsSPgsQrnX2v9qR0nmM6SPSET/v2SR9vjY/DQhBYUQia16NWv0Mwd8Ml4ZqKA==",
"resolved": "2.10.2-prerelease.4",
"contentHash": "M/44/DhSu1WR8gL62aLPGKqAJ0rrgkw38nT3DgEvLAvyIoQLJmL2Jsn4/d4CC0eDT1Vv82cB9Mxgg0sFD3/qrQ==",
"dependencies": {
"MonoModReorg.RuntimeDetour": "23.1.2-prerelease.1"
"MonoModReorg.RuntimeDetour": "23.3.22.1"
}
},
"JorgeSerrano.Json.JsonSnakeCaseNamingPolicy": {
@@ -318,48 +318,48 @@
},
"MonoModReorg.Backports": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "m1wlCgVjZTFJs3mUxmC1aE/O0RIvsNbSFBI/g93Bqzz1tHa+LhXFyrHzL60PeZMQBIPVy3CeDX4um/UrqLOn/g==",
"resolved": "23.3.22.1",
"contentHash": "nLx18prtZbS0nVO8YHElP+TUj1kkDswRgQpa9agt3tyNWke9Kqk5lVkGu87Y3cCMhG+m5Ai0ZDH0+V5B6bXF+Q==",
"dependencies": {
"MonoModReorg.ILHelpers": "23.1.2-prerelease.1"
"MonoModReorg.ILHelpers": "23.3.22.1"
}
},
"MonoModReorg.Core": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "t1Y89M0rbwUx2VjDMCJOWgtSdsi1F5KNu0O6JAMOtwo2EWJ0HfYj9nS8UWWPwrgRpsquGjqbmYA8jhb59F2a/A==",
"resolved": "23.3.22.1",
"contentHash": "Q3ZOgm6AOTL0icgcHsT/6mV5kYt6meqX3DEN1p/et5PxJsXUhVkiZfAptp8y/i+cO6HNgkcESpXEQ4jUWVwsDA==",
"dependencies": {
"Mono.Cecil": "0.11.4",
"MonoModReorg.Backports": "23.1.2-prerelease.1",
"MonoModReorg.ILHelpers": "23.1.2-prerelease.1",
"MonoModReorg.Utils": "23.1.2-prerelease.1"
"MonoModReorg.Backports": "23.3.22.1",
"MonoModReorg.ILHelpers": "23.3.22.1",
"MonoModReorg.Utils": "23.3.22.1"
}
},
"MonoModReorg.ILHelpers": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "GVh1cmrTCAK0zHr3t8aHnKsyKIlDFiDERn++lCZomHcYc8dgcOAhpkZ7KmaKgZCTJuBIrc44RjpKFr/4ScQnGA=="
"resolved": "23.3.22.1",
"contentHash": "dHE/3VZtnTUTkQ34j8Gu6CxKes1QDL8tBuF3QElxHHpPl/QabGCK938k47WWRcRBMoP7IAthkn+Bob4H97rBgw=="
},
"MonoModReorg.RuntimeDetour": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "UZyJ7OIbLCIBg+dzLejWq2paL1s11koUrq1noSLGCP9uNmFjwDPK+lRmGs0X4qg+Alfq6VsOpI45pGqmaAvP+Q==",
"resolved": "23.3.22.1",
"contentHash": "cUES3Hi7QJtBNe0qwVdjZOCDkZDaCpdqS6Au0RaCyQ1PDIR4av13E9qBNAEYew46sgPe0fOrU334md6DLDGHlQ==",
"dependencies": {
"Mono.Cecil": "0.11.4",
"MonoModReorg.Backports": "23.1.2-prerelease.1",
"MonoModReorg.Core": "23.1.2-prerelease.1",
"MonoModReorg.ILHelpers": "23.1.2-prerelease.1",
"MonoModReorg.Utils": "23.1.2-prerelease.1"
"MonoModReorg.Backports": "23.3.22.1",
"MonoModReorg.Core": "23.3.22.1",
"MonoModReorg.ILHelpers": "23.3.22.1",
"MonoModReorg.Utils": "23.3.22.1"
}
},
"MonoModReorg.Utils": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "6N4LNG+x4RVPLOc8QWL7dc5sqWdl0gxR+4ASRd1CvvappsK84ISgD9qgeYHgQQtTgE+h6Cuqr3Om4Ly0roLfoA==",
"resolved": "23.3.22.1",
"contentHash": "q1cX0mbYxdw2WcE/qGBB84lVY/ffobEr46VQFuwGcWhtw6f1Ql1k4TZfs8gebpesSxHnca13grLeVHrUSpy1+g==",
"dependencies": {
"Mono.Cecil": "0.11.4",
"MonoModReorg.Backports": "23.1.2-prerelease.1",
"MonoModReorg.ILHelpers": "23.1.2-prerelease.1"
"MonoModReorg.Backports": "23.3.22.1",
"MonoModReorg.ILHelpers": "23.3.22.1"
}
},
"Newtonsoft.Json": {
@@ -585,11 +585,11 @@
"type": "Project",
"dependencies": {
"ControlzEx": "[5.0.2, )",
"HarmonyX": "[2.10.2-prerelease.3, )",
"HarmonyX": "[2.10.2-prerelease.4, )",
"MahApps.Metro": "[2.4.9, )",
"Microsoft.CodeAnalysis.CSharp": "[4.4.0, )",
"Microsoft.CodeAnalysis.Common": "[4.4.0, )",
"MonoModReorg.RuntimeDetour": "[23.1.2-prerelease.1, )",
"MonoModReorg.RuntimeDetour": "[23.3.22.1, )",
"NLog": "[5.1.0, )",
"System.ComponentModel.Annotations": "[5.0.0, )",
"Torch.API": "[1.0.0, )",

View File

@@ -62,13 +62,20 @@ namespace Torch.Managers
{
File.Delete(source);
}
catch (IOException)
catch (Exception e) when (e is IOException or UnauthorizedAccessException)
{
var tempFilePath = Path.Combine(path, file + ".old");
if (File.Exists(tempFilePath))
File.Delete(tempFilePath);
File.Move(source, tempFilePath);
try
{
File.Move(source, tempFilePath);
}
catch (UnauthorizedAccessException)
{
// ignore
}
}
}
}

View File

@@ -133,6 +133,12 @@ namespace Torch.Managers.PatchManager.MSIL
case double @double when Operand is MsilOperandInline.MsilOperandDouble operandDouble:
operandDouble.Value = @double;
break;
case byte @byte when Operand is MsilOperandInline.MsilOperandArgument operandArgument:
operandArgument.Value = new(@byte);
break;
case byte @byte when Operand is MsilOperandInline.MsilOperandLocal operandArgument:
operandArgument.Value = new(@byte);
break;
}
Labels = instruction.labels.Select(b => new MsilLabel(b)).ToHashSet();
@@ -153,7 +159,10 @@ namespace Torch.Managers.PatchManager.MSIL
MsilOperandInline.MsilOperandDouble msilOperandDouble => msilOperandDouble.Value,
MsilOperandInline.MsilOperandInt32 msilOperandInt32 => msilOperandInt32.Value,
MsilOperandInline.MsilOperandInt64 msilOperandInt64 => msilOperandInt64.Value,
MsilOperandInline.MsilOperandLocal msilOperandLocal => msilOperandLocal.Value.Local,
MsilOperandInline.MsilOperandLocal msilOperandLocal when OpCode.OperandType == OperandType.InlineVar => msilOperandLocal.Value.Local,
MsilOperandInline.MsilOperandLocal msilOperandLocal when OpCode.OperandType == OperandType.ShortInlineVar => (byte)msilOperandLocal.Value.Index,
MsilOperandInline.MsilOperandArgument msilOperandArgument when OpCode.OperandType == OperandType.InlineVar => msilOperandArgument.Value,
MsilOperandInline.MsilOperandArgument msilOperandArgument when OpCode.OperandType == OperandType.ShortInlineVar => (byte)msilOperandArgument.Value.Position,
MsilOperandInline.MsilOperandSignature msilOperandSignature => msilOperandSignature.Value,
MsilOperandInline.MsilOperandSingle msilOperandSingle => msilOperandSingle.Value,
MsilOperandInline.MsilOperandString msilOperandString => msilOperandString.Value,

View File

@@ -109,7 +109,14 @@ namespace Torch.Managers
else
{
_fsManager.SoftDelete(extractPath, file.FullName);
file.ExtractToFile(targetFile, true);
try
{
file.ExtractToFile(targetFile, true);
}
catch (Exception e)
{
_log.Warn(e, "unable to extract {0}", targetFile);
}
}
}

View File

@@ -58,10 +58,10 @@ namespace Torch.Patches
typeof(TypeConverter).Assembly.Location,
typeof(System.Diagnostics.TraceSource).Assembly.Location,
typeof(System.Security.Policy.Evidence).Assembly.Location,
typeof(ProtoBuf.Meta.RuntimeTypeModel).Assembly.Location,
typeof(ProtoContractAttribute).Assembly.Location,
Path.Combine(baseDir, "System.Xml.ReaderWriter.dll"),
Path.Combine(baseDir, "netstandard.dll"),
Path.Combine(baseDir, "System.Runtime.dll"),
Path.Combine(MyFileSystem.ExePath, "ProtoBuf.Net.Core.dll"),
Path.Combine(MyFileSystem.ExePath, "Sandbox.Game.dll"),
Path.Combine(MyFileSystem.ExePath, "Sandbox.Common.dll"),
Path.Combine(MyFileSystem.ExePath, "Sandbox.Graphics.dll"),
@@ -83,14 +83,6 @@ namespace Torch.Patches
using var batch = MyScriptCompiler.Static.Whitelist.OpenBatch();
batch.AllowTypes(MyWhitelistTarget.ModApi, typeof(ConcurrentQueue<>));
batch.AllowNamespaceOfTypes(MyWhitelistTarget.Both, typeof(ImmutableArray), typeof(ArrayExtensions));
batch.AllowTypes(MyWhitelistTarget.ModApi, typeof(ProtoContractAttribute).Assembly.GetExportedTypes()
.Where(b => b.Namespace == "ProtoBuf" && b.Name.Contains("Attribute"))
.Concat(new[]
{
typeof(DataFormat), typeof(MemberSerializationOptions), typeof(ImplicitFields)
}).ToArray());
batch.AllowTypes(MyWhitelistTarget.ModApi, typeof(WorkData));
return false;
}

View File

@@ -24,18 +24,18 @@
<ItemGroup>
<PackageReference Include="ControlzEx" Version="5.0.2" />
<PackageReference Include="HarmonyX" Version="2.10.2-prerelease.3" />
<PackageReference Include="HarmonyX" Version="2.10.2-prerelease.4" />
<PackageReference Include="InfoOf.Fody" Version="2.1.1" PrivateAssets="all" />
<PackageReference Include="MahApps.Metro" Version="2.4.9" />
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="4.4.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.4.0" />
<PackageReference Include="MonoModReorg.RuntimeDetour" Version="23.1.2-prerelease.1" />
<PackageReference Include="MonoModReorg.RuntimeDetour" Version="23.3.22.1" />
<PackageReference Include="NLog" Version="5.1.0" />
<PackageReference Include="PropertyChanged.Fody" Version="4.1.0" PrivateAssets="all" />
<PackageReference Include="protobuf-net" Version="3.1.26" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="Torch.SixLabors.ImageSharp" Version="1.0.0-beta6" />
<PackageReference Include="SpaceEngineersDedicated.ReferenceAssemblies" Version="1.202.48">
<PackageReference Include="SpaceEngineersDedicated.ReferenceAssemblies" Version="1.202.66">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>compile</IncludeAssets>
</PackageReference>

View File

@@ -14,11 +14,11 @@
},
"HarmonyX": {
"type": "Direct",
"requested": "[2.10.2-prerelease.3, )",
"resolved": "2.10.2-prerelease.3",
"contentHash": "XnR2oKlFTCb7F+90OkJR0cqOYOsSPgsQrnX2v9qR0nmM6SPSET/v2SR9vjY/DQhBYUQia16NWv0Mwd8Ml4ZqKA==",
"requested": "[2.10.2-prerelease.4, )",
"resolved": "2.10.2-prerelease.4",
"contentHash": "M/44/DhSu1WR8gL62aLPGKqAJ0rrgkw38nT3DgEvLAvyIoQLJmL2Jsn4/d4CC0eDT1Vv82cB9Mxgg0sFD3/qrQ==",
"dependencies": {
"MonoModReorg.RuntimeDetour": "23.1.2-prerelease.1"
"MonoModReorg.RuntimeDetour": "23.3.22.1"
}
},
"InfoOf.Fody": {
@@ -65,15 +65,15 @@
},
"MonoModReorg.RuntimeDetour": {
"type": "Direct",
"requested": "[23.1.2-prerelease.1, )",
"resolved": "23.1.2-prerelease.1",
"contentHash": "UZyJ7OIbLCIBg+dzLejWq2paL1s11koUrq1noSLGCP9uNmFjwDPK+lRmGs0X4qg+Alfq6VsOpI45pGqmaAvP+Q==",
"requested": "[23.3.22.1, )",
"resolved": "23.3.22.1",
"contentHash": "cUES3Hi7QJtBNe0qwVdjZOCDkZDaCpdqS6Au0RaCyQ1PDIR4av13E9qBNAEYew46sgPe0fOrU334md6DLDGHlQ==",
"dependencies": {
"Mono.Cecil": "0.11.4",
"MonoModReorg.Backports": "23.1.2-prerelease.1",
"MonoModReorg.Core": "23.1.2-prerelease.1",
"MonoModReorg.ILHelpers": "23.1.2-prerelease.1",
"MonoModReorg.Utils": "23.1.2-prerelease.1"
"MonoModReorg.Backports": "23.3.22.1",
"MonoModReorg.Core": "23.3.22.1",
"MonoModReorg.ILHelpers": "23.3.22.1",
"MonoModReorg.Utils": "23.3.22.1"
}
},
"NLog": {
@@ -102,9 +102,9 @@
},
"SpaceEngineersDedicated.ReferenceAssemblies": {
"type": "Direct",
"requested": "[1.202.48, )",
"resolved": "1.202.48",
"contentHash": "iP34MZD14Z/4HTg8rcKQlzJ+azM8/9HVScMJqdYejYbSDAiZzaZS6wlbPkDOKGhbLV2+iW7N5Ix/hCUATBYGuw==",
"requested": "[1.202.66, )",
"resolved": "1.202.66",
"contentHash": "VTOwwfTPnov6WWJNrsmB9lWs5s+6XVUXtV8SgLvgJTswK11MTA0e+TZFfZJoSZ1WUsE2dvxlMrNOYJ6aL6j0wA==",
"dependencies": {
"protobuf-net": "1.0.0"
}
@@ -157,36 +157,36 @@
},
"MonoModReorg.Backports": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "m1wlCgVjZTFJs3mUxmC1aE/O0RIvsNbSFBI/g93Bqzz1tHa+LhXFyrHzL60PeZMQBIPVy3CeDX4um/UrqLOn/g==",
"resolved": "23.3.22.1",
"contentHash": "nLx18prtZbS0nVO8YHElP+TUj1kkDswRgQpa9agt3tyNWke9Kqk5lVkGu87Y3cCMhG+m5Ai0ZDH0+V5B6bXF+Q==",
"dependencies": {
"MonoModReorg.ILHelpers": "23.1.2-prerelease.1"
"MonoModReorg.ILHelpers": "23.3.22.1"
}
},
"MonoModReorg.Core": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "t1Y89M0rbwUx2VjDMCJOWgtSdsi1F5KNu0O6JAMOtwo2EWJ0HfYj9nS8UWWPwrgRpsquGjqbmYA8jhb59F2a/A==",
"resolved": "23.3.22.1",
"contentHash": "Q3ZOgm6AOTL0icgcHsT/6mV5kYt6meqX3DEN1p/et5PxJsXUhVkiZfAptp8y/i+cO6HNgkcESpXEQ4jUWVwsDA==",
"dependencies": {
"Mono.Cecil": "0.11.4",
"MonoModReorg.Backports": "23.1.2-prerelease.1",
"MonoModReorg.ILHelpers": "23.1.2-prerelease.1",
"MonoModReorg.Utils": "23.1.2-prerelease.1"
"MonoModReorg.Backports": "23.3.22.1",
"MonoModReorg.ILHelpers": "23.3.22.1",
"MonoModReorg.Utils": "23.3.22.1"
}
},
"MonoModReorg.ILHelpers": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "GVh1cmrTCAK0zHr3t8aHnKsyKIlDFiDERn++lCZomHcYc8dgcOAhpkZ7KmaKgZCTJuBIrc44RjpKFr/4ScQnGA=="
"resolved": "23.3.22.1",
"contentHash": "dHE/3VZtnTUTkQ34j8Gu6CxKes1QDL8tBuF3QElxHHpPl/QabGCK938k47WWRcRBMoP7IAthkn+Bob4H97rBgw=="
},
"MonoModReorg.Utils": {
"type": "Transitive",
"resolved": "23.1.2-prerelease.1",
"contentHash": "6N4LNG+x4RVPLOc8QWL7dc5sqWdl0gxR+4ASRd1CvvappsK84ISgD9qgeYHgQQtTgE+h6Cuqr3Om4Ly0roLfoA==",
"resolved": "23.3.22.1",
"contentHash": "q1cX0mbYxdw2WcE/qGBB84lVY/ffobEr46VQFuwGcWhtw6f1Ql1k4TZfs8gebpesSxHnca13grLeVHrUSpy1+g==",
"dependencies": {
"Mono.Cecil": "0.11.4",
"MonoModReorg.Backports": "23.1.2-prerelease.1",
"MonoModReorg.ILHelpers": "23.1.2-prerelease.1"
"MonoModReorg.Backports": "23.3.22.1",
"MonoModReorg.ILHelpers": "23.3.22.1"
}
},
"Newtonsoft.Json": {