diff --git a/ArchiSteamFarm/ASF.cs b/ArchiSteamFarm/ASF.cs index bec33a5bb..922316009 100644 --- a/ArchiSteamFarm/ASF.cs +++ b/ArchiSteamFarm/ASF.cs @@ -405,7 +405,7 @@ namespace ArchiSteamFarm { } private static void InitEvents() { - if ((FileSystemWatcher != null) || (LastWriteEvents != null) || !Directory.Exists(SharedInfo.ConfigDirectory)) { + if ((FileSystemWatcher != null) || (LastWriteEvents != null)) { return; } @@ -850,7 +850,7 @@ namespace ArchiSteamFarm { HashSet botNames; try { - botNames = Directory.Exists(SharedInfo.ConfigDirectory) ? Directory.EnumerateFiles(SharedInfo.ConfigDirectory, "*" + SharedInfo.JsonConfigExtension).Select(Path.GetFileNameWithoutExtension).Where(botName => !string.IsNullOrEmpty(botName) && IsValidBotName(botName)).ToHashSet(Bot.BotsComparer)! : new HashSet(0); + botNames = Directory.EnumerateFiles(SharedInfo.ConfigDirectory, "*" + SharedInfo.JsonConfigExtension).Select(Path.GetFileNameWithoutExtension).Where(botName => !string.IsNullOrEmpty(botName) && IsValidBotName(botName)).ToHashSet(Bot.BotsComparer)!; } catch (Exception e) { ArchiLogger.LogGenericException(e); diff --git a/ArchiSteamFarm/Localization/Strings.Designer.cs b/ArchiSteamFarm/Localization/Strings.Designer.cs index e00efb51f..a9c4a68c0 100644 --- a/ArchiSteamFarm/Localization/Strings.Designer.cs +++ b/ArchiSteamFarm/Localization/Strings.Designer.cs @@ -845,6 +845,15 @@ namespace ArchiSteamFarm.Localization { } } + /// + /// Looks up a localized string similar to Config directory could not be found, aborting!. + /// + public static string ErrorConfigDirectoryNotFound { + get { + return ResourceManager.GetString("ErrorConfigDirectoryNotFound", resourceCulture); + } + } + /// /// Looks up a localized string similar to Configured {0} property is invalid: {1}. /// diff --git a/ArchiSteamFarm/Localization/Strings.resx b/ArchiSteamFarm/Localization/Strings.resx index c15d9b214..e2bed6c77 100644 --- a/ArchiSteamFarm/Localization/Strings.resx +++ b/ArchiSteamFarm/Localization/Strings.resx @@ -742,4 +742,7 @@ Process uptime: {1} Unknown command-line argument: {0} + + Config directory could not be found, aborting! + diff --git a/ArchiSteamFarm/Program.cs b/ArchiSteamFarm/Program.cs index e60c04515..aa97f8247 100644 --- a/ArchiSteamFarm/Program.cs +++ b/ArchiSteamFarm/Program.cs @@ -176,7 +176,7 @@ namespace ArchiSteamFarm { if (!uniqueInstance) { ASF.ArchiLogger.LogGenericError(Strings.ErrorSingleInstanceRequired); - await Task.Delay(5000).ConfigureAwait(false); + await Task.Delay(10000).ConfigureAwait(false); return false; } @@ -195,6 +195,13 @@ namespace ArchiSteamFarm { } } + if (!Directory.Exists(SharedInfo.ConfigDirectory)) { + ASF.ArchiLogger.LogGenericError(Strings.ErrorConfigDirectoryNotFound); + await Task.Delay(10000).ConfigureAwait(false); + + return false; + } + return true; }