mirror of
https://github.com/tribufu/ServerManagers
synced 2026-05-06 15:17:34 +00:00
add setting to add additional steamcmd exitstatus codes as success
This commit is contained in:
parent
a289a8ed03
commit
5cecc28006
18 changed files with 152 additions and 22 deletions
|
|
@ -1,4 +1,5 @@
|
|||
using ServerManagerTool.Common.Utils;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Security;
|
||||
|
|
@ -9,16 +10,16 @@ namespace ServerManagerTool.Common.Lib
|
|||
{
|
||||
public static class ServerUpdater
|
||||
{
|
||||
public static Task<bool> UpgradeServerAsync(string steamCmdFile, string steamCmdArgs, string workingDirectory, string username, SecureString password, string serverInstallDirectory, DataReceivedEventHandler outputHandler, CancellationToken cancellationToken, ProcessWindowStyle windowStyle = ProcessWindowStyle.Normal)
|
||||
public static Task<bool> UpgradeServerAsync(string steamCmdFile, string steamCmdArgs, string workingDirectory, string username, SecureString password, string serverInstallDirectory, List<int> SteamCmdIgnoreExitStatusCodes, DataReceivedEventHandler outputHandler, CancellationToken cancellationToken, ProcessWindowStyle windowStyle = ProcessWindowStyle.Normal)
|
||||
{
|
||||
Directory.CreateDirectory(serverInstallDirectory);
|
||||
|
||||
return ProcessUtils.RunProcessAsync(steamCmdFile, steamCmdArgs, string.Empty, workingDirectory, username, password, outputHandler, cancellationToken, windowStyle);
|
||||
return ProcessUtils.RunProcessAsync(steamCmdFile, steamCmdArgs, string.Empty, workingDirectory, username, password, SteamCmdIgnoreExitStatusCodes, outputHandler, cancellationToken, windowStyle);
|
||||
}
|
||||
|
||||
public static Task<bool> UpgradeModsAsync(string steamCmdFile, string steamCmdArgs, string workingDirectory, string username, SecureString password, DataReceivedEventHandler outputHandler, CancellationToken cancellationToken, ProcessWindowStyle windowStyle = ProcessWindowStyle.Normal)
|
||||
public static Task<bool> UpgradeModsAsync(string steamCmdFile, string steamCmdArgs, string workingDirectory, string username, SecureString password, List<int> SteamCmdIgnoreExitStatusCodes, DataReceivedEventHandler outputHandler, CancellationToken cancellationToken, ProcessWindowStyle windowStyle = ProcessWindowStyle.Normal)
|
||||
{
|
||||
return ProcessUtils.RunProcessAsync(steamCmdFile, steamCmdArgs, string.Empty, workingDirectory, username, password, outputHandler, cancellationToken, windowStyle);
|
||||
return ProcessUtils.RunProcessAsync(steamCmdFile, steamCmdArgs, string.Empty, workingDirectory, username, password, SteamCmdIgnoreExitStatusCodes, outputHandler, cancellationToken, windowStyle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ namespace ServerManagerTool.Common.Utils
|
|||
}
|
||||
}
|
||||
|
||||
public static Task<bool> RunProcessAsync(string file, string arguments, string verb, string workingDirectory, string username, SecureString password, DataReceivedEventHandler outputHandler, CancellationToken cancellationToken, ProcessWindowStyle windowStyle = ProcessWindowStyle.Normal)
|
||||
public static Task<bool> RunProcessAsync(string file, string arguments, string verb, string workingDirectory, string username, SecureString password, List<int> SteamCmdIgnoreExitStatusCodes, DataReceivedEventHandler outputHandler, CancellationToken cancellationToken, ProcessWindowStyle windowStyle = ProcessWindowStyle.Normal)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -211,6 +211,17 @@ namespace ServerManagerTool.Common.Utils
|
|||
var exitCode = process.ExitCode;
|
||||
|
||||
_logger.Debug($"{nameof(RunProcessAsync)}: filename {fileName}; exitcode = {exitCode}");
|
||||
|
||||
if (exitCode != 0)
|
||||
{
|
||||
_logger.Error($"{nameof(RunProcessAsync)}: filename {fileName}; exitcode = {exitCode}");
|
||||
|
||||
if (SteamCmdIgnoreExitStatusCodes.Contains(exitCode))
|
||||
{
|
||||
exitCode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
tcs.TrySetResult(exitCode == 0);
|
||||
process.Close();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -303,5 +303,15 @@ namespace ServerManagerTool.Common.Utils
|
|||
var argumentString = string.Format(argumentFormatString, argumentValues);
|
||||
return BuildSteamCmdArguments(removeQuit, argumentString);
|
||||
}
|
||||
|
||||
public static List<int> GetExitStatusList(string value)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(value))
|
||||
{
|
||||
return new List<int>();
|
||||
}
|
||||
|
||||
return new List<int>(Array.ConvertAll(value.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries), int.Parse));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue