diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs
index 0fd114b5c..99432e9b4 100755
--- a/ArchiSteamFarm/Bot.cs
+++ b/ArchiSteamFarm/Bot.cs
@@ -77,6 +77,7 @@ namespace ArchiSteamFarm {
internal string SteamParentalPIN { get; private set; } = "0";
internal ulong SteamMasterID { get; private set; } = 0;
internal ulong SteamMasterClanID { get; private set; } = 0;
+ internal bool StartOnLaunch { get; private set; } = true;
internal bool CardDropsRestricted { get; private set; } = false;
internal bool FarmOffline { get; private set; } = false;
internal bool HandleOfflineMessages { get; private set; } = false;
@@ -135,7 +136,7 @@ namespace ArchiSteamFarm {
}
}
- internal Bot(string botName) {
+ internal Bot(string botName, bool initialLaunch = false) {
if (Bots.ContainsKey(botName)) {
return;
}
@@ -155,6 +156,10 @@ namespace ArchiSteamFarm {
return;
}
+ if (initialLaunch && !StartOnLaunch) {
+ return;
+ }
+
Bots.AddOrUpdate(BotName, this, (key, value) => this);
// Initialize
@@ -348,6 +353,9 @@ namespace ArchiSteamFarm {
case "SteamMasterClanID":
SteamMasterClanID = ulong.Parse(value);
break;
+ case "StartOnLaunch":
+ StartOnLaunch = bool.Parse(value);
+ break;
case "UseAsfAsMobileAuthenticator":
UseAsfAsMobileAuthenticator = bool.Parse(value);
break;
diff --git a/ArchiSteamFarm/Program.cs b/ArchiSteamFarm/Program.cs
index 33dc03c7e..0208d37db 100644
--- a/ArchiSteamFarm/Program.cs
+++ b/ArchiSteamFarm/Program.cs
@@ -261,7 +261,7 @@ namespace ArchiSteamFarm {
foreach (var configFile in Directory.EnumerateFiles(ConfigDirectory, "*.xml")) {
string botName = Path.GetFileNameWithoutExtension(configFile);
- Bot bot = new Bot(botName);
+ Bot bot = new Bot(botName, true);
if (!bot.Enabled) {
Logging.LogGenericInfo("Not starting this instance because it's disabled in config file", botName);
}
diff --git a/ArchiSteamFarm/config/example.xml b/ArchiSteamFarm/config/example.xml
index 7fdb2c202..32c64cee2 100755
--- a/ArchiSteamFarm/config/example.xml
+++ b/ArchiSteamFarm/config/example.xml
@@ -58,6 +58,11 @@
+
+
+
+
+