diff --git a/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs b/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs index 292dcc6517..9e69dc5e3f 100644 --- a/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs +++ b/src/Tgstation.Server.Host/Components/Chat/ChatManager.cs @@ -885,7 +885,6 @@ namespace Tgstation.Server.Host.Components.Chat catch (OperationCanceledException ex) { logger.LogTrace(ex, "Command processing canceled!"); - throw; } catch (Exception e) { @@ -898,8 +897,7 @@ namespace Tgstation.Server.Host.Components.Chat { Text = "TGS: Internal error processing command! Check server logs!", }, - cancellationToken) - ; + cancellationToken); } finally { diff --git a/src/Tgstation.Server.Host/Components/Session/SessionControllerFactory.cs b/src/Tgstation.Server.Host/Components/Session/SessionControllerFactory.cs index e1a9f00833..586af39cd4 100644 --- a/src/Tgstation.Server.Host/Components/Session/SessionControllerFactory.cs +++ b/src/Tgstation.Server.Host/Components/Session/SessionControllerFactory.cs @@ -413,7 +413,8 @@ namespace Tgstation.Server.Host.Components.Session try { - networkPromptReaper.RegisterProcess(process); + if (!byondLock.SupportsCli) + networkPromptReaper.RegisterProcess(process); var chatTrackingContext = chat.CreateTrackingContext(); try @@ -531,7 +532,8 @@ namespace Tgstation.Server.Host.Components.Session else if (sessionConfiguration.LowPriorityDeploymentProcesses) process.AdjustPriority(false); - networkPromptReaper.RegisterProcess(process); + if (!byondLock.SupportsCli) + networkPromptReaper.RegisterProcess(process); // If this isnt a staging DD (From a Deployment), fire off an event if (!apiValidate) @@ -539,7 +541,7 @@ namespace Tgstation.Server.Host.Components.Session EventType.DreamDaemonLaunch, new List { - process.Id.ToString(CultureInfo.InvariantCulture), + process.Id.ToString(CultureInfo.InvariantCulture), }, cancellationToken); diff --git a/src/Tgstation.Server.Host/Swarm/SwarmService.cs b/src/Tgstation.Server.Host/Swarm/SwarmService.cs index 2e977abb38..d53456c8ac 100644 --- a/src/Tgstation.Server.Host/Swarm/SwarmService.cs +++ b/src/Tgstation.Server.Host/Swarm/SwarmService.cs @@ -179,6 +179,11 @@ namespace Tgstation.Server.Host.Swarm /// bool serversDirty; + /// + /// If we've sent out a remote commit message for an update operation. + /// + bool updateCommitSent; + /// /// Initializes static members of the class. /// @@ -425,6 +430,8 @@ namespace Tgstation.Server.Host.Swarm } } + updateCommitSent = true; + Task task; lock (swarmServers) task = Task.WhenAll( @@ -725,7 +732,12 @@ namespace Tgstation.Server.Host.Swarm return; logger.LogInformation("Unregistering node {nodeId}...", nodeIdentifier); - await AbortUpdate(cancellationToken); + + if (!updateCommitSent) + await AbortUpdate(cancellationToken); + else + logger.LogTrace("Not aborting update because we have committed"); + lock (swarmServers) { swarmServers.RemoveAll(x => x.Identifier == nodeIdentifier); diff --git a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj index 9f7129e7df..cf25b7210b 100644 --- a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj +++ b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj @@ -25,6 +25,10 @@ ..\.. + + $(DefineConstants);WATCHDOG_FREE_RESTART + +