From 15014ba1089c7c4f1897fbce54d2c097d730889e Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Tue, 26 Dec 2023 20:00:05 -0500 Subject: [PATCH 1/7] Fix `TopicPort` not being included in session persistence --- .../Components/Session/SessionPersistor.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Tgstation.Server.Host/Components/Session/SessionPersistor.cs b/src/Tgstation.Server.Host/Components/Session/SessionPersistor.cs index a916ea792b..d661564723 100644 --- a/src/Tgstation.Server.Host/Components/Session/SessionPersistor.cs +++ b/src/Tgstation.Server.Host/Components/Session/SessionPersistor.cs @@ -83,6 +83,7 @@ namespace Tgstation.Server.Host.Components.Session RebootState = reattachInformation.RebootState, LaunchSecurityLevel = reattachInformation.LaunchSecurityLevel, LaunchVisibility = reattachInformation.LaunchVisibility, + TopicPort = reattachInformation.TopicPort, }; db.ReattachInformations.Add(dbReattachInfo); @@ -116,6 +117,7 @@ namespace Tgstation.Server.Host.Components.Session dbReattachInfo.RebootState = reattachInformation.RebootState; dbReattachInfo.LaunchSecurityLevel = reattachInformation.LaunchSecurityLevel; dbReattachInfo.LaunchVisibility = reattachInformation.LaunchVisibility; + dbReattachInfo.TopicPort = reattachInformation.TopicPort; await db.Save(cancellationToken); From b9b4733b0f7f284def76fdf339db4a0b6624189c Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Wed, 27 Dec 2023 08:20:35 -0500 Subject: [PATCH 2/7] Make port use test bind to any IP --- tests/Tgstation.Server.Tests/Live/TestLiveServer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Tgstation.Server.Tests/Live/TestLiveServer.cs b/tests/Tgstation.Server.Tests/Live/TestLiveServer.cs index d745eddbcb..0a4b956cc8 100644 --- a/tests/Tgstation.Server.Tests/Live/TestLiveServer.cs +++ b/tests/Tgstation.Server.Tests/Live/TestLiveServer.cs @@ -154,7 +154,7 @@ namespace Tgstation.Server.Tests.Live { do { - var l = new TcpListener(IPAddress.Loopback, 0); + var l = new TcpListener(IPAddress.Any, 0); l.Start(); try { From bbb5efe32d2529adce83bfa337dc88e208596712 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Wed, 27 Dec 2023 08:32:43 -0500 Subject: [PATCH 3/7] Attempt 10 times for port grab --- tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs b/tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs index 555760d91f..571e3d88c7 100644 --- a/tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs +++ b/tests/Tgstation.Server.Tests/Live/Instance/InstanceTest.cs @@ -161,7 +161,7 @@ namespace Tgstation.Server.Tests.Live.Instance async Task UpdateDMSettings() { - for (var i = 0; i < 5; ++i) + for (var i = 0; i < 10; ++i) try { await instanceClient.DreamMaker.Update(new DreamMakerRequest From 36667aecf55f33fcbd4bf0c7c377110dc0503dff Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Wed, 27 Dec 2023 08:32:59 -0500 Subject: [PATCH 4/7] If the server exits with code 0, don't call it a crash --- src/Tgstation.Server.Host/Components/Watchdog/BasicWatchdog.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/Components/Watchdog/BasicWatchdog.cs b/src/Tgstation.Server.Host/Components/Watchdog/BasicWatchdog.cs index 10b6a7b19c..8494cc9aeb 100644 --- a/src/Tgstation.Server.Host/Components/Watchdog/BasicWatchdog.cs +++ b/src/Tgstation.Server.Host/Components/Watchdog/BasicWatchdog.cs @@ -113,7 +113,7 @@ namespace Tgstation.Server.Host.Components.Watchdog switch (reason) { case MonitorActivationReason.ActiveServerCrashed: - var eventType = controller.TerminationWasRequested + var eventType = controller.TerminationWasRequested || (await controller.Lifetime) == 0 ? EventType.WorldEndProcess : EventType.WatchdogCrash; await HandleEventImpl(eventType, Enumerable.Empty(), false, cancellationToken); From 9ddda5b866e7eedd3c9cb9e559a605aae84f8c34 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Wed, 27 Dec 2023 10:18:40 -0500 Subject: [PATCH 5/7] Fix homepage control panel link again --- src/Tgstation.Server.Host/Controllers/RootController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/Controllers/RootController.cs b/src/Tgstation.Server.Host/Controllers/RootController.cs index e075aa8332..32a7987857 100644 --- a/src/Tgstation.Server.Host/Controllers/RootController.cs +++ b/src/Tgstation.Server.Host/Controllers/RootController.cs @@ -97,7 +97,7 @@ namespace Tgstation.Server.Host.Controllers var panelEnabled = controlPanelConfiguration.Enable; var apiDocsEnabled = generalConfiguration.HostApiDocumentation; - var controlPanelRoute = ControlPanelController.ControlPanelRoute.TrimStart('/'); + var controlPanelRoute = $"{ControlPanelController.ControlPanelRoute.TrimStart('/')}/"; if (panelEnabled ^ apiDocsEnabled) if (panelEnabled) return Redirect(controlPanelRoute); From 77fa5588d89d7fef1d1245b164dc5fe766c8754f Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Wed, 27 Dec 2023 10:40:55 -0500 Subject: [PATCH 6/7] Reduce `JobService.MaxHubUpdatesPerSecond` to 1 --- src/Tgstation.Server.Host/Jobs/JobService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/Jobs/JobService.cs b/src/Tgstation.Server.Host/Jobs/JobService.cs index ea2782a821..e9967f5189 100644 --- a/src/Tgstation.Server.Host/Jobs/JobService.cs +++ b/src/Tgstation.Server.Host/Jobs/JobService.cs @@ -30,7 +30,7 @@ namespace Tgstation.Server.Host.Jobs /// /// The maximum rate at which hub clients can receive updates. /// - const int MaxHubUpdatesPerSecond = 4; + const int MaxHubUpdatesPerSecond = 1; /// /// The for the . From 4a17bdf7209dba9ae88116a535bffd3a18b4b310 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Wed, 27 Dec 2023 10:47:16 -0500 Subject: [PATCH 7/7] Fix uploads being too large --- src/Tgstation.Server.Host/Controllers/TransferController.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Tgstation.Server.Host/Controllers/TransferController.cs b/src/Tgstation.Server.Host/Controllers/TransferController.cs index 8a0a2ebcd3..03d3b9bb4b 100644 --- a/src/Tgstation.Server.Host/Controllers/TransferController.cs +++ b/src/Tgstation.Server.Host/Controllers/TransferController.cs @@ -80,6 +80,7 @@ namespace Tgstation.Server.Host.Controllers /// The was no longer or was never valid. [TgsAuthorize] [HttpPut] + [DisableRequestSizeLimit] [ProducesResponseType(204)] [ProducesResponseType(410, Type = typeof(ErrorMessageResponse))] public async ValueTask Upload([Required, FromQuery] string ticket, CancellationToken cancellationToken)