JustArchiNET / ArchiSteamFarm

C# application with primary purpose of farming Steam cards from multiple accounts simultaneously.
Apache License 2.0
11.25k stars 1.05k forks source link

GamesPlayedWhileIdle Config Only Works For The First 31 Games Now, Instead Of 32 As Usual #2599

Closed BaubleDawdle closed 2 years ago

BaubleDawdle commented 2 years ago

Checklist

ASF version

Latest stable release

ASF variant

win-x64

Bug description

Hi! 'GamesPlayedWhileIdle' only works on first 31 games now, instead of 32 like it previously did.

The game that has biggest id number of all 32 games you set in bot config, will not have it "hours played" changed (it is the same game that ASF puts on the bottom of the sorted list, after config file modification). E.g. if your selected game ids are 70, 40800, ...(+29 more)..., 1926120, then 1926120 will not be counted.

Tested with ~5 other game ids, every time only 1 game of 32 isn't counted

I wish I knew .net to find the issue myself! Thank you

Started happening: ~ 2 "stable" releases ago (so around v5.2.4.2 is my guess)

Chance of occuring: Consistently

Last occurence: Today

Expected behavior

All 32 games get "hours played" increased after ASF is closed

Actual behavior

Only first 31 games get "hours played" increased after ASF is closed

Steps to reproduce

  1. Edit bot config json file, set value of 'GamesPlayedWhileIdle' like this: (32 game ids, instead of my game id numbers, put 32 ids that are owned by bot account)
    "GamesPlayedWhileIdle": [
    10,
    70,
    220,
    730,
    1700,
    22200,
    22320,
    22370,
    22490,
    40800,
    213610,
    215280,
    215690,
    238960,
    377160,
    449020,
    578080,
    594650,
    912730,
    945850,
    945880,
    1118310,
    1151340,
    1172470,
    1343370,
    1659400,
    1662680,
    1812290,
    1812390,
    1873030,
    1902490,
    1926120
    ],
  2. Leave running for 1-2 hours
  3. Turn off ASF, check how many "hours played" bot account has for games with selected ids (last one, 1926120 in this example) will have "hours played" unchanged as if it wasn't in the list

Possible reason/solution

-

Can you help us with this bug report?

Somehow, I can test and offer feedback, but can't code

Full log.txt recorded during reproducing the problem

2022-06-07 12:56:07|ArchiSteamFarm-9944|INFO|ASF|InitCore() ArchiSteamFarm V5.2.6.3 (win-x64/a78c2d29-2584-4d44-898e-a62994671e92 | .NET 6.0.5; win10-x64; Microsoft Windows 10.0.19044)
2022-06-07 12:56:07|ArchiSteamFarm-9944|INFO|ASF|InitCore() Copyright © 2015-2022 JustArchiNET
2022-06-07 12:56:08|ArchiSteamFarm-9944|WARN|ASF|InitCore() You're attempting to run ASF as the administrator (root). This causes a significant security risk to your machine, and as ASF does not require root access for its operation, we recommend to run it as non-administrator user if possible.
2022-06-07 12:56:14|ArchiSteamFarm-9944|INFO|ASF|InitPlugins() Initializing Plugins...
2022-06-07 12:56:14|ArchiSteamFarm-9944|INFO|ASF|InitPlugins() Loading SteamTokenDumperPlugin V5.2.6.3...
2022-06-07 12:56:14|ArchiSteamFarm-9944|INFO|ASF|InitPlugins() SteamTokenDumperPlugin has been loaded successfully!
2022-06-07 12:56:15|ArchiSteamFarm-9944|INFO|ASF|UpdateAndRestart() ASF will automatically check for new versions every 1 day.
2022-06-07 12:56:15|ArchiSteamFarm-9944|INFO|ASF|Update() Checking for new version...
2022-06-07 12:56:16|ArchiSteamFarm-9944|INFO|ASF|Update() Local version: 5.2.6.3 | Remote version: 5.2.6.3
2022-06-07 12:56:16|ArchiSteamFarm-9944|INFO|ASF|OnASFInit() SteamTokenDumperPlugin is currently disabled according to your configuration. If you'd like to help SteamDB in data submission, please check out our wiki.
2022-06-07 12:56:16|ArchiSteamFarm-9944|INFO|ASF|StartInteractiveConsole() Interactive console is now active, type 'c' in order to enter command mode.
2022-06-07 12:56:16|ArchiSteamFarm-9944|INFO|ASF|Start() Starting IPC server...
2022-06-07 12:56:17|ArchiSteamFarm-9944|INFO|Microsoft.Hosting.Lifetime|Now listening on: http://localhost:1242
2022-06-07 12:56:17|ArchiSteamFarm-9944|INFO|Microsoft.Hosting.Lifetime|Application started. Press Ctrl+C to shut down.
2022-06-07 12:56:17|ArchiSteamFarm-9944|INFO|Microsoft.Hosting.Lifetime|Hosting environment: Production
2022-06-07 12:56:17|ArchiSteamFarm-9944|INFO|Microsoft.Hosting.Lifetime|Content root path: C:\Program Files\ASF
2022-06-07 12:56:17|ArchiSteamFarm-9944|INFO|ASF|Start() IPC server ready!
2022-06-07 12:56:18|ArchiSteamFarm-9944|INFO|Bauble|Start() Starting...
2022-06-07 12:56:18|ArchiSteamFarm-9944|INFO|Bauble|Connect() Connecting...
2022-06-07 12:56:19|ArchiSteamFarm-9944|INFO|Bauble|OnConnected() Connected to Steam!
2022-06-07 12:56:19|ArchiSteamFarm-9944|INFO|Bauble|OnConnected() Logging in...
2022-06-07 12:56:20|ArchiSteamFarm-9944|INFO|Bauble|OnLoggedOn() Successfully logged on as 76561198037524081/baubledawdle.
2022-06-07 12:56:20|ArchiSteamFarm-9944|INFO|Bauble|Init() Logging in to ISteamUserAuth...
2022-06-07 12:56:21|ArchiSteamFarm-9944|INFO|Bauble|Init() Success!
2022-06-07 12:56:22|ArchiSteamFarm-9944|INFO|Bauble|IsAnythingToFarm() Checking first badge page...
2022-06-07 12:56:24|ArchiSteamFarm-9944|INFO|Bauble|IsAnythingToFarm() Checking other badge pages...
2022-06-07 12:56:28|ArchiSteamFarm-9944|INFO|Bauble|StartFarming() We don't have anything to farm on this account!
2022-06-07 12:56:30|ArchiSteamFarm-9944|INFO|Bauble|ResetGamesPlayed() Playing selected GamesPlayedWhileIdle: 10, 70, 220, 730, 1700, 22200, 22320, 22370, 22490, 40800, 213610, 215280, 215690, 238960, 377160, 449020, 578080, 594650, 912730, 945850, 945880, 1118310, 1151340, 1172470, 1343370, 1659400, 1662680, 1812290, 1812390, 1873030, 1902490, 1926120

Global ASF.json config file

{
  "FarmingDelay": 30,
  "IdleFarmingPeriod": 0,
  "MaxFarmingTime": 14,
  "MaxTradeHoldDuration": 99,
  "SteamOwnerID": _______________
}

BotName.json config of all affected bot instances

{
  "AutoSteamSaleEvent": true,
  "BotBehaviour": 4,
  "CustomGamePlayedWhileFarming": "texttext",
  "CustomGamePlayedWhileIdle": "texttext",
  "Enabled": true,
  "GamesPlayedWhileIdle": [
    10,
    70,
    220,
    730,
    1700,
    22200,
    22320,
    22370,
    22490,
    40800,
    213610,
    215280,
    215690,
    238960,
    377160,
    449020,
    578080,
    594650,
    912730,
    945850,
    945880,
    1118310,
    1151340,
    1172470,
    1343370,
    1659400,
    1662680,
    1812290,
    1812390,
    1873030,
    1902490,
    1926120
  ],
  "LootableTypes": [],
  "MatchableTypes": [],
  "OnlineStatus": 0,
  "RemoteCommunication": 0,
  "SteamLogin": "______________",
  "SteamPassword": "_______________________________",
  "SteamUserPermissions": {
    "___________________": 3
  },
  "TransferableTypes": []
}

Additional info

-

JustArchi commented 2 years ago

Steam accepts up to 32 positions, with CustomGamePlayedWhileIdle taking the spot. Previously ASF favoured CustomGamePlayedWhileIdle over 32 games, I classify it as suboptimal, lack of information being displayed is more preferable to taking spot from the limit - if user wants to display information at all cost, he should limit amount of positions himself to 31, as that is what happened before regardless. I'll add it to the wiki.