diff --git a/Moonlight/Shared/Components/ServerControl/Settings/Join2StartSetting.razor b/Moonlight/Shared/Components/ServerControl/Settings/Join2StartSetting.razor
index 54254ed4..21c0df49 100644
--- a/Moonlight/Shared/Components/ServerControl/Settings/Join2StartSetting.razor
+++ b/Moonlight/Shared/Components/ServerControl/Settings/Join2StartSetting.razor
@@ -5,9 +5,11 @@
@using Moonlight.App.Repositories
@using Moonlight.App.Repositories.Servers
@using Logging.Net
+@using Moonlight.App.ApiClients.Wings
@using Moonlight.App.Database.Entities
@inject ServerRepository ServerRepository
+@inject ServerService ServerService
@inject SmartTranslateService TranslationService
@@ -28,7 +30,8 @@
OnClick="Save"
Text="@(TranslationService.Translate("Change"))"
WorkingText="@(TranslationService.Translate("Changing"))"
- CssClasses="btn-primary">
+ CssClasses="btn-primary">
+
@@ -55,9 +58,23 @@
private async Task Save()
{
CurrentServer.Variables.First(x => x.Key == "J2S").Value = Value ? "1" : "0";
-
+
ServerRepository.Update(CurrentServer);
-
+
+ var details = await ServerService.GetDetails(CurrentServer);
+
+ // For better user experience, we start the j2s server right away when the user enables j2s
+ if (details.State == "offline")
+ {
+ await ServerService.SetPowerState(CurrentServer, PowerSignal.Start);
+ }
+
+ // For better user experience, we kill the j2s server right away when the user disables j2s and the server is starting
+ if (details.State == "starting")
+ {
+ await ServerService.SetPowerState(CurrentServer, PowerSignal.Kill);
+ }
+
await Loader.Reload();
}
}
\ No newline at end of file