diff --git a/ArchiSteamFarm/Events.cs b/ArchiSteamFarm/Events.cs index a575c58aa..9c1959b24 100644 --- a/ArchiSteamFarm/Events.cs +++ b/ArchiSteamFarm/Events.cs @@ -7,7 +7,7 @@ namespace ArchiSteamFarm { } internal static void OnBotShutdown() { - if (Bot.Bots.Values.Any(bot => bot.KeepRunning)) { + if (Program.IsWCFRunning || Bot.Bots.Values.Any(bot => bot.KeepRunning)) { return; } diff --git a/ArchiSteamFarm/Program.cs b/ArchiSteamFarm/Program.cs index 848fcd313..236cc2255 100644 --- a/ArchiSteamFarm/Program.cs +++ b/ArchiSteamFarm/Program.cs @@ -52,6 +52,8 @@ namespace ArchiSteamFarm { private static bool ShutdownSequenceInitialized; + internal static bool IsWCFRunning => WCF.IsServerRunning; + internal static void Exit(byte exitCode = 0) { Shutdown(); Environment.Exit(exitCode); diff --git a/ArchiSteamFarm/WCF.cs b/ArchiSteamFarm/WCF.cs index 08b8dae7a..fb46fe380 100644 --- a/ArchiSteamFarm/WCF.cs +++ b/ArchiSteamFarm/WCF.cs @@ -45,6 +45,8 @@ namespace ArchiSteamFarm { private ServiceHost ServiceHost; private Client Client; + internal bool IsServerRunning => ServiceHost != null; + internal static void Init() { if (string.IsNullOrEmpty(Program.GlobalConfig.WCFHostname)) { Program.GlobalConfig.WCFHostname = Program.GetUserInput(SharedInfo.EUserInputType.WCFHostname);