Auto Process Tweaks

This commit is contained in:
Brett Hewitson 2021-12-20 00:27:32 +10:00
parent e6f750c17c
commit aa265bfbb6
11 changed files with 321 additions and 181 deletions

View file

@ -53,6 +53,42 @@
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug - Beta|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug - Beta\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug - AutoUpdate|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug - AutoBackup|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug - AutoShutdown|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>none</DebugType>
@ -97,15 +133,6 @@
<ManifestTimestampUrl>
</ManifestTimestampUrl>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug - Beta|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug - Beta\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>

View file

@ -33,7 +33,7 @@
<value>+login anonymous +quit</value>
</setting>
<setting name="SteamCmdInstallServerArgsFormat" serializeAs="String">
<value>+force_install_dir "{0}" +login anonymous "+app_update 376030 {1} {2}" +quit</value>
<value>+force_install_dir "{1}" +login {0} "+app_update {2} {3} {4}" +quit</value>
</setting>
<setting name="ServersInstallDir" serializeAs="String">
<value>Servers</value>
@ -101,9 +101,6 @@
<setting name="HelpUrl" serializeAs="String">
<value>http://arkservermanager.freeforums.net/thread/1194/faq-frequently-asked</value>
</setting>
<setting name="SteamCmdInstallServerArgsFormat_SotF" serializeAs="String">
<value>+force_install_dir "{0}" +login anonymous "+app_update 445400 {1} {2}" +quit</value>
</setting>
<setting name="ArkSE_PatchNotesUrl" serializeAs="String">
<value>https://survivetheark.com/index.php?/forums/forum/5-changelog-patch-notes/</value>
</setting>
@ -123,7 +120,7 @@
<value>RunServer.cmd</value>
</setting>
<setting name="SteamCmdInstallModArgsFormat" serializeAs="String">
<value>+login {0} +workshop_download_item 346110 {1} +quit</value>
<value>+login {0} +workshop_download_item {1} {2} +quit</value>
</setting>
<setting name="ArkSteamWorkshopFolderRelativePath" serializeAs="String">
<value>steamapps\workshop\content\346110\</value>
@ -152,9 +149,6 @@
<setting name="ArkSteamWorkshopFile" serializeAs="String">
<value>appworkshop_346110.acf</value>
</setting>
<setting name="SteamCmdInstallModArgsFormat_SotF" serializeAs="String">
<value>+login {0} +workshop_download_item 407530 {1} +quit</value>
</setting>
<setting name="ArkSteamWorkshopFile_SotF" serializeAs="String">
<value>appworkshop_407530.acf</value>
</setting>

View file

@ -82,7 +82,7 @@ namespace ServerManagerTool {
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("+force_install_dir \"{0}\" +login anonymous \"+app_update 376030 {1} {2}\" +quit")]
[global::System.Configuration.DefaultSettingValueAttribute("+force_install_dir \"{1}\" +login {0} \"+app_update {2} {3} {4}\" +quit")]
public string SteamCmdInstallServerArgsFormat {
get {
return ((string)(this["SteamCmdInstallServerArgsFormat"]));
@ -576,15 +576,6 @@ namespace ServerManagerTool {
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("+force_install_dir \"{0}\" +login anonymous \"+app_update 445400 {1} {2}\" +quit")]
public string SteamCmdInstallServerArgsFormat_SotF {
get {
return ((string)(this["SteamCmdInstallServerArgsFormat_SotF"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("https://survivetheark.com/index.php?/forums/forum/5-changelog-patch-notes/")]
@ -751,7 +742,7 @@ namespace ServerManagerTool {
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("+login {0} +workshop_download_item 346110 {1} +quit")]
[global::System.Configuration.DefaultSettingValueAttribute("+login {0} +workshop_download_item {1} {2} +quit")]
public string SteamCmdInstallModArgsFormat {
get {
return ((string)(this["SteamCmdInstallModArgsFormat"]));
@ -1127,15 +1118,6 @@ namespace ServerManagerTool {
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("+login {0} +workshop_download_item 407530 {1} +quit")]
public string SteamCmdInstallModArgsFormat_SotF {
get {
return ((string)(this["SteamCmdInstallModArgsFormat_SotF"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("appworkshop_407530.acf")]

View file

@ -21,7 +21,7 @@
<Value Profile="(Default)" />
</Setting>
<Setting Name="SteamCmdInstallServerArgsFormat" Type="System.String" Scope="Application">
<Value Profile="(Default)">+force_install_dir "{0}" +login anonymous "+app_update 376030 {1} {2}" +quit</Value>
<Value Profile="(Default)">+force_install_dir "{1}" +login {0} "+app_update {2} {3} {4}" +quit</Value>
</Setting>
<Setting Name="ServersInstallDir" Type="System.String" Scope="Application">
<Value Profile="(Default)">Servers</Value>
@ -161,9 +161,6 @@
<Setting Name="CustomLevelXPIncrease_Dino" Type="System.Int32" Scope="User">
<Value Profile="(Default)">1000</Value>
</Setting>
<Setting Name="SteamCmdInstallServerArgsFormat_SotF" Type="System.String" Scope="Application">
<Value Profile="(Default)">+force_install_dir "{0}" +login anonymous "+app_update 445400 {1} {2}" +quit</Value>
</Setting>
<Setting Name="ArkSE_PatchNotesUrl" Type="System.String" Scope="Application">
<Value Profile="(Default)">https://survivetheark.com/index.php?/forums/forum/5-changelog-patch-notes/</Value>
</Setting>
@ -210,7 +207,7 @@
<Value Profile="(Default)">RunServer.cmd</Value>
</Setting>
<Setting Name="SteamCmdInstallModArgsFormat" Type="System.String" Scope="Application">
<Value Profile="(Default)">+login {0} +workshop_download_item 346110 {1} +quit</Value>
<Value Profile="(Default)">+login {0} +workshop_download_item {1} {2} +quit</Value>
</Setting>
<Setting Name="ArkSteamWorkshopFolderRelativePath" Type="System.String" Scope="Application">
<Value Profile="(Default)">steamapps\workshop\content\346110\</Value>
@ -311,9 +308,6 @@
<Setting Name="ServerUpdate_OnServerStart" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="SteamCmdInstallModArgsFormat_SotF" Type="System.String" Scope="Application">
<Value Profile="(Default)">+login {0} +workshop_download_item 407530 {1} +quit</Value>
</Setting>
<Setting Name="ArkSteamWorkshopFile_SotF" Type="System.String" Scope="Application">
<Value Profile="(Default)">appworkshop_407530.acf</Value>
</Setting>

View file

@ -221,7 +221,7 @@ namespace ServerManagerTool.Lib
ExitCode = EXITCODE_NORMALEXIT;
}
private void ShutdownServer(bool restartServer, bool updateServer, CancellationToken cancellationToken)
private void ShutdownServer(bool restartServer, bool updateServer, bool steamCmdRemoveQuit, CancellationToken cancellationToken)
{
if (_profile == null)
{
@ -274,7 +274,7 @@ namespace ServerManagerTool.Lib
try
{
ServerStatusChangeCallback?.Invoke(ServerStatus.Updating);
UpgradeLocal(true, true, cancellationToken);
UpgradeLocal(true, true, steamCmdRemoveQuit, cancellationToken);
}
finally
{
@ -729,7 +729,7 @@ namespace ServerManagerTool.Lib
ExitCode = EXITCODE_SHUTDOWN_TIMEOUT;
}
private void UpgradeLocal(bool validate, bool updateMods, CancellationToken cancellationToken)
private void UpgradeLocal(bool validate, bool updateMods, bool steamCmdRemoveQuit, CancellationToken cancellationToken)
{
if (_profile == null)
{
@ -777,10 +777,12 @@ namespace ServerManagerTool.Lib
}
}
var steamCmdInstallServerArgsFormat = _profile.SotFEnabled ? Config.Default.SteamCmdInstallServerArgsFormat_SotF : Config.Default.SteamCmdInstallServerArgsFormat;
var steamCmdArgs = String.Format(steamCmdInstallServerArgsFormat, _profile.InstallDirectory, string.Empty, validate ? "validate" : string.Empty);
var steamCmdArgs = SteamUtils.BuildSteamCmdArguments(steamCmdRemoveQuit, Config.Default.SteamCmdInstallServerArgsFormat, Config.Default.SteamCmd_AnonymousUsername, _profile.InstallDirectory, string.Empty, _profile.SotFEnabled ? Config.Default.AppIdServer_SotF : Config.Default.AppIdServer, string.Empty, validate ? "validate" : string.Empty);
var workingDirectory = Config.Default.DataDir;
if (steamCmdRemoveQuit)
SteamCMDProcessWindowStyle = ProcessWindowStyle.Normal;
success = ServerUpdater.UpgradeServerAsync(steamCmdFile, steamCmdArgs, workingDirectory, null, null, _profile.InstallDirectory, Config.Default.SteamCmdRedirectOutput ? (DataReceivedEventHandler)serverOutputHandler : null, cancellationToken, SteamCMDProcessWindowStyle).Result;
if (success && downloadSuccessful)
{
@ -942,20 +944,10 @@ namespace ServerManagerTool.Lib
LogProfileMessage("Starting mod download.\r\n");
steamCmdArgs = string.Empty;
if (_profile.SotFEnabled)
{
if (Config.Default.SteamCmd_UseAnonymousCredentials)
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat_SotF, Config.Default.SteamCmd_AnonymousUsername, modId);
else
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat_SotF, Config.Default.SteamCmd_Username, modId);
}
if (Config.Default.SteamCmd_UseAnonymousCredentials)
steamCmdArgs = SteamUtils.BuildSteamCmdArguments(steamCmdRemoveQuit, Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_AnonymousUsername, _profile.SotFEnabled ? Config.Default.AppId_SotF : Config.Default.AppId, modId);
else
{
if (Config.Default.SteamCmd_UseAnonymousCredentials)
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_AnonymousUsername, modId);
else
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_Username, modId);
}
steamCmdArgs = SteamUtils.BuildSteamCmdArguments(steamCmdRemoveQuit, Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_Username, _profile.SotFEnabled ? Config.Default.AppId_SotF : Config.Default.AppId, modId);
modSuccess = ServerUpdater.UpgradeModsAsync(steamCmdFile, steamCmdArgs, workingDirectory, null, null, Config.Default.SteamCmdRedirectOutput ? modOutputHandler : null, cancellationToken, SteamCMDProcessWindowStyle).Result;
if (modSuccess && downloadSuccessful)
@ -1259,7 +1251,7 @@ namespace ServerManagerTool.Lib
{
// perform a steamcmd validate to confirm all the files
LogProfileMessage("Validating server files (*new*).");
UpgradeLocal(true, false, CancellationToken.None);
UpgradeLocal(true, false, false, CancellationToken.None);
LogProfileMessage("Validated server files (*new*).");
}
@ -1606,9 +1598,9 @@ namespace ServerManagerTool.Lib
// update the mod cache
var steamCmdArgs = string.Empty;
if (Config.Default.SteamCmd_UseAnonymousCredentials)
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_AnonymousUsername, modId);
steamCmdArgs = SteamUtils.BuildSteamCmdArguments(false, Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_AnonymousUsername, Config.Default.AppId, modId);
else
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_Username, modId);
steamCmdArgs = SteamUtils.BuildSteamCmdArguments(false, Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_Username, Config.Default.AppId, modId);
var workingDirectory = Config.Default.DataDir;
var success = ServerUpdater.UpgradeModsAsync(steamCmdFile, steamCmdArgs, workingDirectory, null, null, Config.Default.SteamCmdRedirectOutput ? modOutputHandler : null, CancellationToken.None, SteamCMDProcessWindowStyle).Result;
@ -1727,8 +1719,7 @@ namespace ServerManagerTool.Lib
// update the server cache
var validate = Config.Default.AutoUpdate_ValidateServerFiles;
var steamCmdInstallServerArgsFormat = Config.Default.SteamCmdInstallServerArgsFormat;
var steamCmdArgs = String.Format(steamCmdInstallServerArgsFormat, cacheFolder, steamCmdInstallServerBetaArgs, validate ? "validate" : string.Empty);
var steamCmdArgs = SteamUtils.BuildSteamCmdArguments(false, Config.Default.SteamCmdInstallServerArgsFormat, Config.Default.SteamCmd_AnonymousUsername, cacheFolder, Config.Default.AppIdServer, steamCmdInstallServerBetaArgs.ToString(), validate ? "validate" : string.Empty);
var workingDirectory = Config.Default.DataDir;
var success = ServerUpdater.UpgradeServerAsync(steamCmdFile, steamCmdArgs, workingDirectory, null, null, cacheFolder, Config.Default.SteamCmdRedirectOutput ? serverOutputHandler : null, CancellationToken.None, SteamCMDProcessWindowStyle).Result;
@ -1905,20 +1896,23 @@ namespace ServerManagerTool.Lib
LogProfileMessage("Delete old profile backup files started...");
var backupFolder = GetProfileBackupFolder(_profile);
var backupFileFilter = $"*{Config.Default.BackupExtension}";
var backupDateFilter = DateTime.Now.AddDays(-deleteInterval);
var backupFiles = new DirectoryInfo(backupFolder).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
foreach (var backupFile in backupFiles)
if (Directory.Exists(backupFolder))
{
try
var backupFileFilter = $"*{Config.Default.BackupExtension}";
var backupDateFilter = DateTime.Now.AddDays(-deleteInterval);
var backupFiles = new DirectoryInfo(backupFolder).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
foreach (var backupFile in backupFiles)
{
LogProfileMessage($"{backupFile.Name} was deleted, last updated {backupFile.CreationTime}.");
backupFile.Delete();
}
catch
{
// if unable to delete, do not bother
try
{
LogProfileMessage($"{backupFile.Name} was deleted, last updated {backupFile.CreationTime}.");
backupFile.Delete();
}
catch
{
// if unable to delete, do not bother
}
}
}
}
@ -1935,11 +1929,13 @@ namespace ServerManagerTool.Lib
try
{
var backupFolder = GetProfileBackupFolder(_profile);
var oldBackupFolders = new DirectoryInfo(backupFolder).GetDirectories();
foreach (var oldBackupFolder in oldBackupFolders)
if (Directory.Exists(backupFolder))
{
oldBackupFolder.Delete(true);
var oldBackupFolders = new DirectoryInfo(backupFolder).GetDirectories();
foreach (var oldBackupFolder in oldBackupFolders)
{
oldBackupFolder.Delete(true);
}
}
}
catch
@ -2100,21 +2096,24 @@ namespace ServerManagerTool.Lib
LogProfileMessage("Delete old server backup files started...");
var backupFolder = GetServerBackupFolder(_profile);
var mapName = ServerProfile.GetProfileMapFileName(_profile.ServerMap, _profile.PGM_Enabled, _profile.PGM_Name);
var backupFileFilter = $"{mapName}_*{Config.Default.BackupExtension}";
var backupDateFilter = DateTime.Now.AddDays(-deleteInterval);
var backupFiles = new DirectoryInfo(backupFolder).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
foreach (var backupFile in backupFiles)
if (Directory.Exists(backupFolder))
{
try
var mapName = ServerProfile.GetProfileMapFileName(_profile.ServerMap, _profile.PGM_Enabled, _profile.PGM_Name);
var backupFileFilter = $"{mapName}_*{Config.Default.BackupExtension}";
var backupDateFilter = DateTime.Now.AddDays(-deleteInterval);
var backupFiles = new DirectoryInfo(backupFolder).GetFiles(backupFileFilter).Where(f => f.LastWriteTime < backupDateFilter);
foreach (var backupFile in backupFiles)
{
LogProfileMessage($"{backupFile.Name} was deleted, last updated {backupFile.CreationTime}.");
backupFile.Delete();
}
catch
{
// if unable to delete, do not bother
try
{
LogProfileMessage($"{backupFile.Name} was deleted, last updated {backupFile.CreationTime}.");
backupFile.Delete();
}
catch
{
// if unable to delete, do not bother
}
}
}
}
@ -2449,6 +2448,9 @@ namespace ServerManagerTool.Lib
var profiles = new Dictionary<ServerProfileSnapshot, ServerProfile>();
ServerRuntime.EnableUpdateModStatus = false;
ServerProfile.EnableServerFilesWatcher = false;
foreach (var profileFile in Directory.EnumerateFiles(Config.Default.ConfigDirectory, "*" + Config.Default.ProfileExtension))
{
try
@ -2784,7 +2786,7 @@ namespace ServerManagerTool.Lib
return ExitCode;
}
public int PerformProfileShutdown(ServerProfileSnapshot profile, bool performRestart, bool performUpdate, bool checkGracePeriod, CancellationToken cancellationToken)
public int PerformProfileShutdown(ServerProfileSnapshot profile, bool performRestart, bool performUpdate, bool checkGracePeriod, bool steamCmdRemoveQuit, CancellationToken cancellationToken)
{
_profile = profile;
@ -2817,7 +2819,7 @@ namespace ServerManagerTool.Lib
// check if the mutex was established
if (createdNew)
{
ShutdownServer(performRestart, performUpdate, cancellationToken);
ShutdownServer(performRestart, performUpdate, steamCmdRemoveQuit, cancellationToken);
if (ExitCode != EXITCODE_NORMALEXIT)
{
@ -2893,7 +2895,10 @@ namespace ServerManagerTool.Lib
var createdNew = false;
if (OutputLogs)
{
_loggerBranch = GetLogger(GetLogFolder(LOGPREFIX_AUTOUPDATE), $"{LOGPREFIX_AUTOUPDATE}", $"BranchUpdate_{GetBranchName(branch.BranchName)}");
_loggerProfile = GetLogger(GetProfileLogFolder(profile.ProfileId, LOGPREFIX_AUTOUPDATE), $"{LOGPREFIX_AUTOUPDATE}_{profile.ProfileId}", "Update");
}
try
{
@ -2952,6 +2957,7 @@ namespace ServerManagerTool.Lib
}
}
LogProfileMessage("");
LogProfileMessage($"Exitcode = {ExitCode}");
return ExitCode;
}
@ -2967,11 +2973,11 @@ namespace ServerManagerTool.Lib
var createdNew = false;
if (OutputLogs)
_loggerBranch = GetLogger(GetLogFolder(LOGPREFIX_AUTOUPDATE), $"{LOGPREFIX_AUTOUPDATE}_{GetBranchName(branch.BranchName)}", $"Update_{GetBranchName(branch.BranchName)}");
_loggerBranch = GetLogger(GetLogFolder(LOGPREFIX_AUTOUPDATE), $"{LOGPREFIX_AUTOUPDATE}", $"BranchUpdate_{GetBranchName(branch.BranchName)}");
try
{
LogBranchMessage(branch.BranchName, $"Started branch update process.");
LogMessage($"[{GetBranchName(branch.BranchName)}] Started branch update process.");
var cacheFolder = GetServerCacheFolder(branch.BranchName);
@ -3017,7 +3023,7 @@ namespace ServerManagerTool.Lib
else
{
var delay = 0;
foreach (var profile in _profiles.Keys.Where(p => p.EnableAutoUpdate))
foreach (var profile in profiles)
{
if (delay > 0)
Task.Delay(delay * 1000).Wait();
@ -3039,12 +3045,12 @@ namespace ServerManagerTool.Lib
ExitCode = EXITCODE_EXITWITHERRORS;
}
LogBranchMessage(branch.BranchName, $"Finished branch update process.");
LogMessage($"[{GetBranchName(branch.BranchName)}] Finished branch update process.");
}
else
{
ExitCode = EXITCODE_PROCESSALREADYRUNNING;
LogBranchMessage(branch.BranchName, "Cancelled branch update process, could not lock branch folder.");
LogMessage($"[{GetBranchName(branch.BranchName)}] Cancelled branch update process, could not lock branch folder.");
}
}
catch (Exception ex)
@ -3076,6 +3082,7 @@ namespace ServerManagerTool.Lib
}
}
LogBranchMessage(branch.BranchName, "");
LogBranchMessage(branch.BranchName, $"Exitcode = {ExitCode}");
return ExitCode;
}
@ -3084,7 +3091,7 @@ namespace ServerManagerTool.Lib
{
int exitCode = EXITCODE_NORMALEXIT;
_loggerManager = GetLogger(GetLogFolder(LOGPREFIX_AUTOBACKUP), LOGPREFIX_AUTOBACKUP, "Backup");
_loggerManager = GetLogger(GetLogFolder(LOGPREFIX_AUTOBACKUP), LOGPREFIX_AUTOBACKUP, "AutoBackup");
try
{
@ -3133,7 +3140,7 @@ namespace ServerManagerTool.Lib
{
int exitCode = EXITCODE_NORMALEXIT;
_loggerManager = GetLogger(GetLogFolder(LOGPREFIX_AUTOSHUTDOWN), LOGPREFIX_AUTOSHUTDOWN, "Shutdown");
_loggerManager = GetLogger(GetLogFolder(LOGPREFIX_AUTOSHUTDOWN), LOGPREFIX_AUTOSHUTDOWN, "AutoShutdown");
try
{
@ -3194,7 +3201,7 @@ namespace ServerManagerTool.Lib
ServerProcess = type,
SteamCMDProcessWindowStyle = ProcessWindowStyle.Hidden
};
exitCode = app.PerformProfileShutdown(profile, performRestart, performUpdate, true, CancellationToken.None);
exitCode = app.PerformProfileShutdown(profile, performRestart, performUpdate, true, false, CancellationToken.None);
if (profile.ServerUpdated)
{
@ -3217,7 +3224,7 @@ namespace ServerManagerTool.Lib
Mutex mutex = null;
bool createdNew = false;
_loggerManager = GetLogger(GetLogFolder(LOGPREFIX_AUTOUPDATE), LOGPREFIX_AUTOUPDATE, "Update");
_loggerManager = GetLogger(GetLogFolder(LOGPREFIX_AUTOUPDATE), LOGPREFIX_AUTOUPDATE, "AutoUpdate");
try
{

View file

@ -597,8 +597,7 @@ namespace ServerManagerTool.Lib
};
var steamCmdRemoveQuit = CommonConfig.Default.SteamCmdRemoveQuit && !Config.Default.SteamCmdRedirectOutput;
var steamCmdInstallServerArgsFormat = this.ProfileSnapshot.SotFEnabled ? Config.Default.SteamCmdInstallServerArgsFormat_SotF : Config.Default.SteamCmdInstallServerArgsFormat;
var steamCmdArgs = String.Format(steamCmdInstallServerArgsFormat, this.ProfileSnapshot.InstallDirectory, steamCmdInstallServerBetaArgs, validate ? "validate" : string.Empty);
var steamCmdArgs = SteamUtils.BuildSteamCmdArguments(steamCmdRemoveQuit, Config.Default.SteamCmdInstallServerArgsFormat, Config.Default.SteamCmd_AnonymousUsername, this.ProfileSnapshot.InstallDirectory, Config.Default.AppIdServer, steamCmdInstallServerBetaArgs.ToString(), validate ? "validate" : string.Empty);
var workingDirectory = Config.Default.DataDir;
success = await ServerUpdater.UpgradeServerAsync(steamCmdFile, steamCmdArgs, workingDirectory, null, null, this.ProfileSnapshot.InstallDirectory, Config.Default.SteamCmdRedirectOutput ? serverOutputHandler : null, cancellationToken, steamCmdRemoveQuit ? ProcessWindowStyle.Normal : ProcessWindowStyle.Minimized);
@ -776,20 +775,10 @@ namespace ServerManagerTool.Lib
var steamCmdArgs = string.Empty;
var steamCmdRemoveQuit = CommonConfig.Default.SteamCmdRemoveQuit && !Config.Default.SteamCmdRedirectOutput;
if (this.ProfileSnapshot.SotFEnabled)
{
if (Config.Default.SteamCmd_UseAnonymousCredentials)
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat_SotF, Config.Default.SteamCmd_AnonymousUsername, modId);
else
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat_SotF, Config.Default.SteamCmd_Username, modId);
}
if (Config.Default.SteamCmd_UseAnonymousCredentials)
steamCmdArgs = SteamUtils.BuildSteamCmdArguments(steamCmdRemoveQuit, Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_AnonymousUsername, this.ProfileSnapshot.SotFEnabled ? Config.Default.AppId_SotF : Config.Default.AppId, modId);
else
{
if (Config.Default.SteamCmd_UseAnonymousCredentials)
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_AnonymousUsername, modId);
else
steamCmdArgs = string.Format(Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_Username, modId);
}
steamCmdArgs = SteamUtils.BuildSteamCmdArguments(steamCmdRemoveQuit, Config.Default.SteamCmdInstallModArgsFormat, Config.Default.SteamCmd_Username, this.ProfileSnapshot.SotFEnabled ? Config.Default.AppId_SotF : Config.Default.AppId, modId);
var workingDirectory = Config.Default.DataDir;
modSuccess = await ServerUpdater.UpgradeModsAsync(steamCmdFile, steamCmdArgs, workingDirectory, null, null, Config.Default.SteamCmdRedirectOutput ? modOutputHandler : null, cancellationToken, steamCmdRemoveQuit ? ProcessWindowStyle.Normal : ProcessWindowStyle.Minimized);

View file

@ -415,7 +415,7 @@ namespace ServerManagerTool.Utils
task = Task.Run(() =>
{
app.PerformProfileShutdown(profile, true, false, false, token);
app.PerformProfileShutdown(profile, true, false, false, false, token);
_currentProfileCommands.Remove(key);
});
@ -516,7 +516,7 @@ namespace ServerManagerTool.Utils
task = Task.Run(() =>
{
app.PerformProfileShutdown(profile, false, false, false, token);
app.PerformProfileShutdown(profile, false, false, false, false, token);
_currentProfileCommands.Remove(key);
});
@ -618,7 +618,7 @@ namespace ServerManagerTool.Utils
task = Task.Run(() =>
{
app.PerformProfileShutdown(profile, false, false, false, token);
app.PerformProfileShutdown(profile, false, false, false, false, token);
_currentProfileCommands.Remove(key);
});
@ -720,7 +720,7 @@ namespace ServerManagerTool.Utils
task = Task.Run(() =>
{
app.PerformProfileShutdown(profile, true, false, false, token);
app.PerformProfileShutdown(profile, true, false, false, false, token);
_currentProfileCommands.Remove(key);
});
@ -824,7 +824,7 @@ namespace ServerManagerTool.Utils
task = Task.Run(() =>
{
app.PerformProfileShutdown(profile, performRestart, true, false, token);
app.PerformProfileShutdown(profile, performRestart, true, false, false, token);
_currentProfileCommands.Remove(key);
});

View file

@ -1,4 +1,5 @@
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Common;
using ServerManagerTool.Common.Utils;
using ServerManagerTool.Enums;
using ServerManagerTool.Lib;
using ServerManagerTool.Plugin.Common;
@ -243,7 +244,7 @@ namespace ServerManagerTool
_shutdownCancellationSource = new CancellationTokenSource();
var exitCode = await Task.Run(() => app.PerformProfileShutdown(profile, restartServer, updateServer, false, _shutdownCancellationSource.Token));
var exitCode = await Task.Run(() => app.PerformProfileShutdown(profile, restartServer, updateServer, false, CommonConfig.Default.SteamCmdRemoveQuit, _shutdownCancellationSource.Token));
if (exitCode != ServerApp.EXITCODE_NORMALEXIT && exitCode != ServerApp.EXITCODE_CANCELLED)
throw new ApplicationException($"An error occured during the shutdown process - ExitCode: {exitCode}");