JustArchiNET / ArchiSteamFarm

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

Strange glitch when redeeming batch of keys on bot with `Forwarding` and `Distribution` enabled - multiple attempts to redeem same key on same bot. #1504

Closed Rudokhvist closed 4 years ago

Rudokhvist commented 4 years ago

Bug report

Description

I have 9 bots running, one of them is has both Forwarding and Distributing enabled in RedeemingPreferences. I send a batch of keys to this bot, and under some condition it tries to redeem same key on same bot twice. Below is a copy&paste of chat with this issue (I replaced bot names for paranoia reasons, keys are all used, so it's safe to post them, bot8 = my main account, bot3 = account I'm chatting with):

bot8: !redeem bot3 6FE08-A24FH-N0QWN
748LA-I228C-NF7V2
65R56-IIQ0J-9YRRI
20QPZ-CCANL-ZCF5V
73M79-B4IYZ-BALEL
0DTDT-4JRIW-Q7EXG
66L6T-KVB6M-YYVJD
20P5Q-AQ3RK-L8ECN
20MAA-9GANA-8KM4K
204ZY-V9434-CJ9KY
6DNMD-9803G-TV5DR
7473V-8MH86-LMHKC
20ZTZ-0FFWM-8X850
68BX9-X49IP-QCQDR
3AML0-035E4-MGXHQ
6FRNX-K0PRR-Q0N5P
74TZ7-76WFG-EGJ69
6FE69-GEDNC-CL7Y9
64T4V-25KRA-AZYKD
2F0W3-7TWNH-EHRC0
32X5I-A9H6A-N734D
30QZB-E09F6-YNDXG
0DLAX-PB7N7-TIPIH
726R2-H8255-G3JZH
20CMR-730NW-YJB48
73GDZ-FV3KC-ZTKQA
20APX-ZXTYD-7FH9K
65TDD-833IW-7J6QZ
64ZYW-WD5PE-8TVNP
674GP-M78JD-PVNFD
77J43-80A40-H7BVJ
208M9-JR5CX-583CP
208WL-G3AQV-ZR8YQ
41X4X-KB3QF-DL7Z6
202XQ-Z30RK-PYBVL
72VIT-QNYGD-4INET
4F0LT-7K8D3-6IV78
54BVC-JVJ3N-TIW9T
522YE-CMJR2-JXY0V
4EJXP-CMQNX-QJ28P
41VF5-9MC8N-5PZLB
48832-30PK0-Q52ZH
20TA8-VVDC6-5VAFA
48RB9-MW75G-R9YJP
4FZXZ-57IKD-6RLYK
49VK3-F2GBE-4ELBJ
4195M-XZ798-62GWL
6BMGM-6Z8WB-AX7LL
0D63K-IV6GL-PH0QD
75E5F-ECMLJ-76BTC
74CTW-RQ2E8-Z705V
74H3E-II6FI-2PEV8
2FB5D-JJA9Y-N4QW3
72G3C-AN6TL-V0HZN
65MCI-7AVFP-Z0KDW
77FNC-V305R-BJMWN
2EN5V-P6HQG-0FMFP
616G4-CEEH2-9Z8L6
387ZA-NHXFQ-MGVFH
2FKC0-XCAJ4-5XEQD
0AKA4-GCD0C-Y0FB3
20WLE-R94QN-I3LN8
74II6-BA5LR-QMNXQ
750WK-E52X4-YLAEV
73M93-XXHCN-AKIKA
749BY-G2FVR-ETNTW
646B6-AX4BT-PJTG7
69K05-2LWEC-AQ9BK
619TL-WKK5Z-0A8BM
47CPZ-V2CIP-M53WB
472KP-Y24R5-2QH6P
57TMX-T5NZA-5W9Q7
56283-Y20EL-8IRQD
2EQ57-AI76C-QWMTT
206V0-X6LJM-QGGFC
488VP-RNETY-BACPR
450XM-A4GK0-LD3J7
20P0X-L47E4-2LC7T
4DLW0-3EP7H-YH68V
4F0CI-653DV-WGEBK
42TG0-6NK0C-CKZNZ
49NGK-L9QKE-FKQAP
4FNVM-HJ86H-3XELP
565NB-ZWF9Z-WJCYH
59MVG-R7IYY-7NQQI
5A8RG-MKTYC-N7Y8Y
0ATWB-H2VJ8-59TI8

bot3:
    <bot3> Key: 6FE08-A24FH-N0QWN | Status: Fail/AlreadyPurchased | Items: [271708, Epic drag puZOOls]

    <bot4> Key: 6FE08-A24FH-N0QWN | Status: Fail/AlreadyPurchased | Items: [271708, Epic drag puZOOls]

    <bot5> Key: 6FE08-A24FH-N0QWN | Status: Fail/DuplicateActivationCode | Items: [271708, Epic drag puZOOls]

    <bot5> Key: 748LA-I228C-NF7V2 | Status: Fail/DuplicateActivationCode | Items: [275260, !LABrpgUP!]

    <bot5> Key: 65R56-IIQ0J-9YRRI | Status: Fail/DuplicateActivationCode | Items: [233209, Armada Skies]

    <bot5> Key: 20QPZ-CCANL-ZCF5V | Status: Fail/DuplicateActivationCode | Items: [239529, Clumsy Chef]

    <bot5> Key: 73M79-B4IYZ-BALEL | Status: Fail/DuplicateActivationCode | Items: [271708, Epic drag puZOOls]

    <bot5> Key: 0DTDT-4JRIW-Q7EXG | Status: Fail/DuplicateActivationCode | Items: [189566, Cowboy's Adventure]

    <bot5> Key: 66L6T-KVB6M-YYVJD | Status: Fail/DuplicateActivationCode | Items: [60094, The Interview]

    <bot5> Key: 20P5Q-AQ3RK-L8ECN | Status: Fail/DuplicateActivationCode | Items: [243815, Cowboy Escape]

    <bot5> Key: 20MAA-9GANA-8KM4K | Status: Fail/DuplicateActivationCode | Items: [189566, Cowboy's Adventure]

    <bot5> Key: 204ZY-V9434-CJ9KY | Status: Fail/DuplicateActivationCode | Items: [244906, EXIST]

    <bot5> Key: 6DNMD-9803G-TV5DR | Status: Fail/RateLimited

    <bot6> Key: 6DNMD-9803G-TV5DR | Status: Fail/DuplicateActivationCode | Items: [208308, Cubic]

    <bot6> Key: 7473V-8MH86-LMHKC | Status: Fail/DuplicateActivationCode | Items: [267656, Airbo]

    <bot6> Key: 20ZTZ-0FFWM-8X850 | Status: Fail/DuplicateActivationCode | Items: [239532, Favorite Miner]

    <bot6> Key: 68BX9-X49IP-QCQDR | Status: Fail/DuplicateActivationCode | Items: [235007, Defend the planet]

    <bot6> Key: 3AML0-035E4-MGXHQ | Status: Fail/DuplicateActivationCode | Items: [262308, Walls in Dead]

    <bot6> Key: 6FRNX-K0PRR-Q0N5P | Status: Fail/DuplicateActivationCode | Items: [183809, Mr Rabbit's Alphabet Forest Adventure]

    <bot6> Key: 74TZ7-76WFG-EGJ69 | Status: Fail/DuplicateActivationCode | Items: [250564, Crazy Road]

    <bot6> Key: 6FE69-GEDNC-CL7Y9 | Status: Fail/DuplicateActivationCode | Items: [211976, My Loved Heart]

    <bot6> Key: 64T4V-25KRA-AZYKD | Status: Fail/DuplicateActivationCode | Items: [151732, Mouse in Lab]

    <bot6> Key: 2F0W3-7TWNH-EHRC0 | Status: Fail/DuplicateActivationCode | Items: [60187, Immune]

    <bot6> Key: 32X5I-A9H6A-N734D | Status: Fail/RateLimited

    <bot7> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot8> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot9> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot1> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot2> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot3> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot4> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot7> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot8> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot9> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot1> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot2> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

    <bot3> Key: 30QZB-E09F6-YNDXG | Status: Fail/DuplicateActivationCode | Items: [235881, Lopp]

    <bot3> Key: 0DLAX-PB7N7-TIPIH | Status: Fail/DuplicateActivationCode | Items: [254794, Escape from pyramid]

    <bot3> Key: 726R2-H8255-G3JZH | Status: Fail/DuplicateActivationCode | Items: [214806, Ninja Way]

    <bot3> Key: 20CMR-730NW-YJB48 | Status: Fail/DuplicateActivationCode | Items: [236536, Fly the plane]

    <bot3> Key: 73GDZ-FV3KC-ZTKQA | Status: Fail/DuplicateActivationCode | Items: [264190, Simple Golfing]

    <bot3> Key: 20APX-ZXTYD-7FH9K | Status: Fail/DuplicateActivationCode | Items: [236536, Fly the plane]

    <bot3> Key: 65TDD-833IW-7J6QZ | Status: Fail/DuplicateActivationCode | Items: [233408, Dungeon Gambit Boy]

    <bot3> Key: 64ZYW-WD5PE-8TVNP | Status: Fail/DuplicateActivationCode | Items: [262439, Qvabllock]

    <bot3> Key: 674GP-M78JD-PVNFD | Status: Fail/RateLimited

    <bot4> Key: 674GP-M78JD-PVNFD | Status: Fail/DuplicateActivationCode | Items: [272491, Space Hurricane Storm]

    <bot4> Key: 77J43-80A40-H7BVJ | Status: Fail/DuplicateActivationCode | Items: [137170, Project Abyss]

    <bot4> Key: 208M9-JR5CX-583CP | Status: Fail/DuplicateActivationCode | Items: [204988, Hardcore Survival]

    …
    …
    <bot4> Key: 208WL-G3AQV-ZR8YQ | Status: Fail/DuplicateActivationCode | Items: [189707, Redium]

    <bot4> Key: 41X4X-KB3QF-DL7Z6 | Status: Fail/DuplicateActivationCode | Items: [246963, !4RC4N01D! 3: Cold Space]

    <bot4> Key: 202XQ-Z30RK-PYBVL | Status: Fail/DuplicateActivationCode | Items: [189707, Redium]

    <bot4> Key: 72VIT-QNYGD-4INET | Status: Fail/DuplicateActivationCode | Items: [133235, Redrum: Dead Diary]

    <bot4> Key: 4F0LT-7K8D3-6IV78 | Status: Fail/DuplicateActivationCode | Items: [240906, Cute Hedgehog]

    <bot4> Key: 54BVC-JVJ3N-TIW9T | Status: Fail/RateLimited

    <bot7> Key: 54BVC-JVJ3N-TIW9T | Status: Fail/DuplicateActivationCode | Items: [207158, Rocks and Rockets]

    <bot7> Key: 522YE-CMJR2-JXY0V | Status: Fail/DuplicateActivationCode | Items: [219163, Pure Mind]

    <bot7> Key: 4EJXP-CMQNX-QJ28P | Status: Fail/DuplicateActivationCode | Items: [233643, Boy Knight]

    <bot7> Key: 41VF5-9MC8N-5PZLB | Status: Fail/DuplicateActivationCode | Items: [264417, Kinaman vs Gray Elephant]

    <bot7> Key: 48832-30PK0-Q52ZH | Status: Fail/DuplicateActivationCode | Items: [48107, Taxi]

    <bot7> Key: 20TA8-VVDC6-5VAFA | Status: Fail/DuplicateActivationCode | Items: [250790, Zombie Desperation]

    <bot7> Key: 48RB9-MW75G-R9YJP | Status: Fail/DuplicateActivationCode | Items: [98814, A Land Fit For Heroes]

    <bot7> Key: 4FZXZ-57IKD-6RLYK | Status: Fail/DuplicateActivationCode | Items: [267019, GAI travel]

    <bot7> Key: 49VK3-F2GBE-4ELBJ | Status: Fail/RateLimited

    <bot8> Key: 49VK3-F2GBE-4ELBJ | Status: Fail/DuplicateActivationCode | Items: [181826, Super Hardcore]

    <bot8> Key: 4195M-XZ798-62GWL | Status: Fail/DuplicateActivationCode | Items: [141486, Masha Rescues Grandma]

    <bot8> Key: 6BMGM-6Z8WB-AX7LL | Status: Fail/DuplicateActivationCode | Items: [76474, Dracula's Legacy]

    <bot8> Key: 0D63K-IV6GL-PH0QD | Status: Fail/DuplicateActivationCode | Items: [154144, Jupiteration]

    <bot8> Key: 75E5F-ECMLJ-76BTC | Status: Fail/AlreadyPurchased | Items: [216671, Lucky Panda]

    <bot9> Key: 75E5F-ECMLJ-76BTC | Status: Fail/DuplicateActivationCode | Items: [216671, Lucky Panda]

    <bot9> Key: 74CTW-RQ2E8-Z705V | Status: Fail/DuplicateActivationCode | Items: [210206, Bio Soup]

    <bot9> Key: 74H3E-II6FI-2PEV8 | Status: Fail/DuplicateActivationCode | Items: [241793, Bit-Boom]

    <bot9> Key: 2FB5D-JJA9Y-N4QW3 | Status: Fail/DuplicateActivationCode | Items: [223866, Half Past Impossible]

    <bot9> Key: 72G3C-AN6TL-V0HZN | Status: Fail/DuplicateActivationCode | Items: [216740, Mistake Souls]

    <bot9> Key: 65MCI-7AVFP-Z0KDW | Status: Fail/DuplicateActivationCode | Items: [211556, BIT BULLET]

    <bot9> Key: 77FNC-V305R-BJMWN | Status: Fail/DuplicateActivationCode | Items: [66312, Not without my donuts]

    <bot9> Key: 2EN5V-P6HQG-0FMFP | Status: Fail/DuplicateActivationCode | Items: [229785, PIXEL DRIFT]

    <bot9> Key: 616G4-CEEH2-9Z8L6 | Status: Fail/RateLimited

    <bot1> Key: 616G4-CEEH2-9Z8L6 | Status: Fail/DuplicateActivationCode | Items: [244726, The Scarecrow]

    <bot1> Key: 387ZA-NHXFQ-MGVFH | Status: Fail/DuplicateActivationCode | Items: [191882, Achievement Hunter: Begins]

    <bot1> Key: 2FKC0-XCAJ4-5XEQD | Status: Fail/DuplicateActivationCode | Items: [236551, Let's be architects]

    <bot1> Key: 0AKA4-GCD0C-Y0FB3 | Status: Fail/DuplicateActivationCode | Items: [93785, Mind Dead]

    <bot1> Key: 20WLE-R94QN-I3LN8 | Status: Fail/DuplicateActivationCode | Items: [236536, Fly the plane]

    <bot1> Key: 74II6-BA5LR-QMNXQ | Status: Fail/DuplicateActivationCode | Items: [49509, Great Permutator]

    <bot1> Key: 750WK-E52X4-YLAEV | Status: Fail/DuplicateActivationCode | Items: [234051, Mighty Gemstones]

    <bot1> Key: 73M93-XXHCN-AKIKA | Status: Fail/DuplicateActivationCode | Items: [224551, Star Sweet]

    <bot1> Key: 749BY-G2FVR-ETNTW | Status: Fail/RateLimited

    <bot2> Key: 749BY-G2FVR-ETNTW | Status: Fail/DuplicateActivationCode | Items: [223335, KOLOBOK]

    <bot2> Key: 646B6-AX4BT-PJTG7 | Status: Fail/DuplicateActivationCode | Items: [109320, Rise of the Ancients]

    <bot2> Key: 69K05-2LWEC-AQ9BK | Status: Fail/DuplicateActivationCode | Items: [275079, Baikonur Space]

    <bot2> Key: 619TL-WKK5Z-0A8BM | Status: Fail/DuplicateActivationCode | Items: [126599, WAR CUBE]

    <bot2> Key: 47CPZ-V2CIP-M53WB | Status: Fail/DuplicateActivationCode | Items: [235033, Mini Gold Coop]

    <bot2> Key: 472KP-Y24R5-2QH6P | Status: Fail/DuplicateActivationCode | Items: [233522, Mumps]

    <bot2> Key: 57TMX-T5NZA-5W9Q7 | Status: Fail/DuplicateActivationCode | Items: [50205, Melissa K and the Heart of Gold]

    <bot2> Key: 56283-Y20EL-8IRQD | Status: Fail/DuplicateActivationCode | Items: [209993, BLOK DROP NEO]

    <bot2> Key: 2EQ57-AI76C-QWMTT | Status: Fail/RateLimited

    <bot8> Key: 2EQ57-AI76C-QWMTT | Status: Fail/AlreadyPurchased | Items: [210987, Psi Project 2]

    <bot8> Key: 206V0-X6LJM-QGGFC | Status: Fail/DuplicateActivationCode | Items: [250655, Tiny Mage]

    …
    …
    <bot8> Key: 488VP-RNETY-BACPR | Status: Fail/AlreadyPurchased | Items: [206366, StockUp]

    <bot8> Key: 488VP-RNETY-BACPR | Status: Fail/RateLimited
    <bot3> Unused keys: 32X5I-A9H6A-N734D, 2EQ57-AI76C-QWMTT, 488VP-RNETY-BACPR, 450XM-A4GK0-LD3J7, 20P0X-L47E4-2LC7T, 4DLW0-3EP7H-YH68V, 4F0CI-653DV-WGEBK, 42TG0-6NK0C-CKZNZ, 49NGK-L9QKE-FKQAP, 4FNVM-HJ86H-3XELP, 565NB-ZWF9Z-WJCYH, 59MVG-R7IYY-7NQQI, 5A8RG-MKTYC-N7Y8Y, 0ATWB-H2VJ8-59TI8

:exclamation::exclamation::exclamation:Take a look at what happening with 32X5I-A9H6A-N734D key - it was redeemed twice on multiple bots, this should not happen.

Expected behavior

There should be only one attempt to redeem one particular key on one particular bot.

Current behavior

There were two attempts to redeem one particular key on one particular bot

Steps to reproduce

I was unable yet to reliably reproduce it with small amount of keys and bots, but I tried to redeem the same batch of keys as above multiple times (with intervals to allow RateLimited bots to become available again) and got the same result every time, so it's reproducible at least in given environment.

Full log.txt recorded during reproducing the problem

2019-11-12 15:26:41|mono-sgen-16171|INFO|ASF|InitASF() ArchiSteamFarm V4.1.0.5 (generic-netf/6de301b5-4578-4873-ad95-d6dc57aa2c8b | Unix 4.9.0.4)
2019-11-12 15:26:42|mono-sgen-16171|INFO|ASF|Start() Starting IPC server...
2019-11-12 15:26:44|mono-sgen-16171|INFO|ASF|Start() IPC server ready!
2019-11-12 15:26:44|mono-sgen-16171|INFO|bot1|Start() Starting...
2019-11-12 15:26:44|mono-sgen-16171|INFO|bot1|Connect() Connecting...
2019-11-12 15:26:44|mono-sgen-16171|INFO|bot2|Start() Starting...
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot3|Start() Starting...
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot4|Start() Starting...
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot5|Start() Starting...
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot6|Start() Starting...
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot7|Start() Starting...
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot8|Start() Starting...
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot9|Start() Starting...
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot1|OnConnected() Connected to Steam!
2019-11-12 15:26:45|mono-sgen-16171|INFO|bot1|OnConnected() Logging in...
2019-11-12 15:26:48|mono-sgen-16171|INFO|bot1|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:26:48|mono-sgen-16171|INFO|bot1|Init() Logging in to ISteamUserAuth...
2019-11-12 15:26:49|mono-sgen-16171|INFO|bot1|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:26:49|mono-sgen-16171|INFO|bot1|Init() Success!
2019-11-12 15:26:52|mono-sgen-16171|INFO|bot1|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:26:54|mono-sgen-16171|INFO|bot2|Connect() Connecting...
2019-11-12 15:26:55|mono-sgen-16171|INFO|bot2|OnConnected() Connected to Steam!
2019-11-12 15:26:55|mono-sgen-16171|INFO|bot2|OnConnected() Logging in...
2019-11-12 15:26:56|mono-sgen-16171|INFO|bot2|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:26:56|mono-sgen-16171|INFO|bot2|Init() Logging in to ISteamUserAuth...
2019-11-12 15:26:57|mono-sgen-16171|INFO|bot2|Init() Success!
2019-11-12 15:26:57|mono-sgen-16171|INFO|bot2|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:26:59|mono-sgen-16171|INFO|bot2|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:27:04|mono-sgen-16171|INFO|bot3|Connect() Connecting...
2019-11-12 15:27:05|mono-sgen-16171|INFO|bot3|OnConnected() Connected to Steam!
2019-11-12 15:27:05|mono-sgen-16171|INFO|bot3|OnConnected() Logging in...
2019-11-12 15:27:06|mono-sgen-16171|INFO|bot3|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:27:06|mono-sgen-16171|INFO|bot3|Init() Logging in to ISteamUserAuth...
2019-11-12 15:27:06|mono-sgen-16171|INFO|bot3|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:27:07|mono-sgen-16171|INFO|bot3|Init() Success!
2019-11-12 15:27:10|mono-sgen-16171|INFO|bot3|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:27:14|mono-sgen-16171|INFO|bot4|Connect() Connecting...
2019-11-12 15:27:15|mono-sgen-16171|INFO|bot4|OnConnected() Connected to Steam!
2019-11-12 15:27:15|mono-sgen-16171|INFO|bot4|OnConnected() Logging in...
2019-11-12 15:27:16|mono-sgen-16171|INFO|bot4|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:27:16|mono-sgen-16171|INFO|bot4|Init() Logging in to ISteamUserAuth...
2019-11-12 15:27:16|mono-sgen-16171|INFO|bot4|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:27:17|mono-sgen-16171|INFO|bot4|Init() Success!
2019-11-12 15:27:18|mono-sgen-16171|INFO|bot4|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:27:24|mono-sgen-16171|INFO|bot5|Connect() Connecting...
2019-11-12 15:27:25|mono-sgen-16171|INFO|bot5|OnConnected() Connected to Steam!
2019-11-12 15:27:25|mono-sgen-16171|INFO|bot5|OnConnected() Logging in...
2019-11-12 15:27:26|mono-sgen-16171|INFO|bot5|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:27:26|mono-sgen-16171|INFO|bot5|Init() Logging in to ISteamUserAuth...
2019-11-12 15:27:26|mono-sgen-16171|INFO|bot5|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:27:28|mono-sgen-16171|INFO|bot5|Init() Success!
2019-11-12 15:27:29|mono-sgen-16171|INFO|bot5|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:27:34|mono-sgen-16171|INFO|bot6|Connect() Connecting...
2019-11-12 15:27:35|mono-sgen-16171|INFO|bot6|OnConnected() Connected to Steam!
2019-11-12 15:27:35|mono-sgen-16171|INFO|bot6|OnConnected() Logging in...
2019-11-12 15:27:36|mono-sgen-16171|INFO|bot6|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:27:36|mono-sgen-16171|INFO|bot6|Init() Logging in to ISteamUserAuth...
2019-11-12 15:27:36|mono-sgen-16171|INFO|bot6|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:27:38|mono-sgen-16171|INFO|bot6|Init() Success!
2019-11-12 15:27:40|mono-sgen-16171|INFO|bot6|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:27:44|mono-sgen-16171|INFO|bot7|Connect() Connecting...
2019-11-12 15:27:45|mono-sgen-16171|INFO|bot7|OnConnected() Connected to Steam!
2019-11-12 15:27:45|mono-sgen-16171|INFO|bot7|OnConnected() Logging in...
2019-11-12 15:27:46|mono-sgen-16171|INFO|bot7|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:27:46|mono-sgen-16171|INFO|bot7|Init() Logging in to ISteamUserAuth...
2019-11-12 15:27:46|mono-sgen-16171|INFO|bot7|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:27:47|mono-sgen-16171|INFO|bot7|Init() Success!
2019-11-12 15:27:49|mono-sgen-16171|INFO|bot7|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:27:54|mono-sgen-16171|INFO|bot8|Connect() Connecting...
2019-11-12 15:27:55|mono-sgen-16171|INFO|bot8|OnConnected() Connected to Steam!
2019-11-12 15:27:55|mono-sgen-16171|INFO|bot8|OnConnected() Logging in...
2019-11-12 15:27:56|mono-sgen-16171|INFO|bot8|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:27:56|mono-sgen-16171|INFO|bot8|Init() Logging in to ISteamUserAuth...
2019-11-12 15:27:57|mono-sgen-16171|INFO|bot8|Init() Success!
2019-11-12 15:27:57|mono-sgen-16171|INFO|bot8|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:27:59|mono-sgen-16171|INFO|bot8|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:28:04|mono-sgen-16171|INFO|bot9|Connect() Connecting...
2019-11-12 15:28:05|mono-sgen-16171|INFO|bot9|OnConnected() Connected to Steam!
2019-11-12 15:28:05|mono-sgen-16171|INFO|bot9|OnConnected() Logging in...
2019-11-12 15:28:06|mono-sgen-16171|INFO|bot9|OnLoggedOn() Successfully logged on as ***.
2019-11-12 15:28:06|mono-sgen-16171|INFO|bot9|Init() Logging in to ISteamUserAuth...
2019-11-12 15:28:06|mono-sgen-16171|INFO|bot9|IsAnythingToFarm() Checking first badge page...
2019-11-12 15:28:06|mono-sgen-16171|INFO|bot9|Init() Success!
2019-11-12 15:28:08|mono-sgen-16171|INFO|bot9|StartFarming() We don't have anything to idle on this account!
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot7|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot9|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot6|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot1|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot3|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot4|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot8|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot2|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot5|Stop() Stopping...
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot7|OnDisconnected() Disconnected from Steam!
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot1|OnDisconnected() Disconnected from Steam!
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot6|OnDisconnected() Disconnected from Steam!
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot2|OnDisconnected() Disconnected from Steam!
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot5|OnDisconnected() Disconnected from Steam!
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot8|OnDisconnected() Disconnected from Steam!
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot4|OnDisconnected() Disconnected from Steam!
2019-11-12 15:35:44|mono-sgen-16171|INFO|bot9|OnDisconnected() Disconnected from Steam!

Global ASF.json config (if using one)

{
  "AutoRestart": false,
  "ConnectionTimeout": 250,
  "ConfirmationsLimiterDelay": 20,
  "CurrentCulture": "en-US",
  "Headless": true,
  "IdleFarmingPeriod": 1,
  "IPC": true,
  "IPCPassword": "***",
  "Statistics": false,
  "SteamMessagePrefix": "/pre ",
  "SteamOwnerID": 76561198056109653,
  "UpdateChannel": 0,
  "WebLimiterDelay": 400

BotName.json config of all affected bot instances (if more than one)

{
  "Enabled": true,
  "AcceptGifts": true,
  "BotBehaviour": 24,
  "HoursUntilCardDrops": 0,
  "SendTradePeriod": 12,
  "LootableTypes": [
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8
  ],
  "RedeemingPreferences": 3,
  "SteamUserPermissions": {
    "76561198056109653": 3,
  },
  "TradingPreferences": 1,
  "SteamPassword": "***",
  "SteamLogin": "***",
  "SteamMasterClanID": ***
JustArchi commented 4 years ago

Take a look at what happening with 32X5I-A9H6A-N734D key - it was redeemed twice on multiple bots, this should not happen.

It wasn't, you have no status that determines the key is used, only certain statuses determine that, e.g. invalid key, duplicate key or redeemed key, none of those is included in your log, so ASF properly tries to redeem the same key on different bots, this is exactly how forwarding + distribution works, as per the wiki.

Enabling both Forwarding and Distributing will add distributing feature on top of forwarding one, which makes ASF trying to redeem one key on all bots firstly (forwarding) before moving to the next one (distributing).

This includes a possibility of running into the same bots, because the distribution went from bot6 and not bot3. ASF had to finish the queue alphabetically first before going back to the beginning and trying again.

Even with the first 6FE08-A24FH-N0QWN key you can notice this behaviour - ASF tries that key until it stops with Fail/DuplicateActivationCode, exactly because only then we can be sure that it's truly used. This is no different than 32X5I-A9H6A-N734D approach, except that we could determine first key to be already used, while we couldn't do the same with the second one. And it's not guaranteed that ASF can determine which bots to try based on the package alone, some packages activate the same apps and in this case Steam won't allow to redeem them, while we have no capability to determine this in advance.

Nothing you described above is a bug.

JustArchi commented 4 years ago

See if https://github.com/JustArchiNET/ArchiSteamFarm/commit/09f754ecb02eb587b414519940cf82b438dfb9f1 fixed redeeming on the same bots in second queue.

Rudokhvist commented 4 years ago

See if 09f754e fixed redeeming on the same bots in second queue.

No, it's not fixed in latest appveyor build, result is the same as above.

so ASF properly tries to redeem the same key on different bots,

No, it tries to redeem the same key on same bot, which is outright wrong. If redeeming failed - chances that consequent redeeming of the same key is very small, only possible scenario I can imagine is if redeeming ended up with timeout, i.e. when first redeeming never actually happened. So with all respect to you - this is a bug.

JustArchi commented 4 years ago

this is a bug.

It's not a bug if the function works exactly as intended and written, the fact that we're now trying to make bots skip further queues is enhancement to redeem feature.

Can you try https://github.com/JustArchiNET/ArchiSteamFarm/commit/8668ab81f2ae0336b31ed89276a2c33397d2a5b6?

Rudokhvist commented 4 years ago

Can you try 8668ab8?

Still the same as before.

It's not a bug if the function works exactly as intended and written

Absolutely every program works exactly as written, and you know it well. And if you believe it's intended behaviour, could you please answer one simple question for me? Let's say I have two bots, and key for a game that both bots already have. First bot has both Forwarding and Distributing enabled. I send this bot a command to redeem this key. Can you answer me (without trying first), how many redeeming attempts intended to be made on each bot? We are talking about ASF 4.1.0.5, before all changes you did for this issue. If you will avoid this question - I will consider you are wrong and just unwilling to admit (that will prove that this is a bug). If you answer "once" - then explain why it does two attempts in my case described, because it's inconsistent (and if it's inconsistent - it's a bug). If you answer "twice" - then I have a bad news for you, because in reality it tries once (and that means program works not as intended, and then it's a bug). Think of it a little bit before answering, and you will have to admit that this is a bug.

Some day I should completely re-factor redeeming routine and do a PR, because it seems it's so messed that even you have no idea how it works. Not this week though.

JustArchi commented 4 years ago

I won't get into argument with you because I have better stuff to do than proving my point.

Instead you can check if https://github.com/JustArchiNET/ArchiSteamFarm/commit/c67f38017451eed4544904da3d41706deeb85365 fixed your issue, or not if you can't behave like a human being.

Rudokhvist commented 4 years ago

With latest appveyor build (1268-master) this bug is kinda "fixed", but something else is broken - the rest of keys after this damned 32X5I-A9H6A-N734D now totally ignored:

<bot3> Key: 6FE08-A24FH-N0QWN | Status: Fail/AlreadyPurchased | Items: [271708, Epic drag puZOOls]

<bot4> Key: 6FE08-A24FH-N0QWN | Status: Fail/AlreadyPurchased | Items: [271708, Epic drag puZOOls]

<bot5> Key: 6FE08-A24FH-N0QWN | Status: Fail/DuplicateActivationCode | Items: [271708, Epic drag puZOOls]

<bot5> Key: 748LA-I228C-NF7V2 | Status: Fail/DuplicateActivationCode | Items: [275260, !LABrpgUP!]

<bot5> Key: 65R56-IIQ0J-9YRRI | Status: Fail/DuplicateActivationCode | Items: [233209, Armada Skies]

<bot5> Key: 20QPZ-CCANL-ZCF5V | Status: Fail/DuplicateActivationCode | Items: [239529, Clumsy Chef]

<bot5> Key: 73M79-B4IYZ-BALEL | Status: Fail/DuplicateActivationCode | Items: [271708, Epic drag puZOOls]

<bot5> Key: 0DTDT-4JRIW-Q7EXG | Status: Fail/DuplicateActivationCode | Items: [189566, Cowboy's Adventure]

<bot5> Key: 66L6T-KVB6M-YYVJD | Status: Fail/DuplicateActivationCode | Items: [60094, The Interview]

<bot5> Key: 20P5Q-AQ3RK-L8ECN | Status: Fail/DuplicateActivationCode | Items: [243815, Cowboy Escape]

<bot5> Key: 20MAA-9GANA-8KM4K | Status: Fail/DuplicateActivationCode | Items: [189566, Cowboy's Adventure]

<bot5> Key: 204ZY-V9434-CJ9KY | Status: Fail/DuplicateActivationCode | Items: [244906, EXIST]

<bot5> Key: 6DNMD-9803G-TV5DR | Status: Fail/RateLimited

<bot6> Key: 6DNMD-9803G-TV5DR | Status: Fail/DuplicateActivationCode | Items: [208308, Cubic]

<bot6> Key: 7473V-8MH86-LMHKC | Status: Fail/DuplicateActivationCode | Items: [267656, Airbo]

<bot6> Key: 20ZTZ-0FFWM-8X850 | Status: Fail/DuplicateActivationCode | Items: [239532, Favorite Miner]

<bot6> Key: 68BX9-X49IP-QCQDR | Status: Fail/DuplicateActivationCode | Items: [235007, Defend the planet]

<bot6> Key: 3AML0-035E4-MGXHQ | Status: Fail/DuplicateActivationCode | Items: [262308, Walls in Dead]

<bot6> Key: 6FRNX-K0PRR-Q0N5P | Status: Fail/DuplicateActivationCode | Items: [183809, Mr Rabbit's Alphabet Forest Adventure]

<bot6> Key: 74TZ7-76WFG-EGJ69 | Status: Fail/DuplicateActivationCode | Items: [250564, Crazy Road]

<bot6> Key: 6FE69-GEDNC-CL7Y9 | Status: Fail/DuplicateActivationCode | Items: [211976, My Loved Heart]

<bot6> Key: 64T4V-25KRA-AZYKD | Status: Fail/DuplicateActivationCode | Items: [151732, Mouse in Lab]

<bot6> Key: 2F0W3-7TWNH-EHRC0 | Status: Fail/DuplicateActivationCode | Items: [60187, Immune]

<bot6> Key: 32X5I-A9H6A-N734D | Status: Fail/RateLimited

<bot7> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot8> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot9> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot1> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot2> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot3> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot4> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]
<bot3> Unused keys: 32X5I-A9H6A-N734D, 30QZB-E09F6-YNDXG, 0DLAX-PB7N7-TIPIH, 726R2-H8255-G3JZH, 20CMR-730NW-YJB48, 73GDZ-FV3KC-ZTKQA, 20APX-ZXTYD-7FH9K, 65TDD-833IW-7J6QZ, 64ZYW-WD5PE-8TVNP, 674GP-M78JD-PVNFD, 77J43-80A40-H7BVJ, 208M9-JR5CX-583CP, 208WL-G3AQV-ZR8YQ, 41X4X-KB3QF-DL7Z6, 202XQ-Z30RK-PYBVL, 72VIT-QNYGD-4INET, 4F0LT-7K8D3-6IV78, 54BVC-JVJ3N-TIW9T, 522YE-CMJR2-JXY0V, 4EJXP-CMQNX-QJ28P, 41VF5-9MC8N-5PZLB, 48832-30PK0-Q52ZH, 20TA8-VVDC6-5VAFA, 48RB9-MW75G-R9YJP, 4FZXZ-57IKD-6RLYK, 49VK3-F2GBE-4ELBJ, 4195M-XZ798-62GWL, 6BMGM-6Z8WB-AX7LL, 0D63K-IV6GL-PH0QD, 75E5F-ECMLJ-76BTC, 74CTW-RQ2E8-Z705V, 74H3E-II6FI-2PEV8, 2FB5D-JJA9Y-N4QW3, 72G3C-AN6TL-V0HZN, 65MCI-7AVFP-Z0KDW, 77FNC-V305R-BJMWN, 2EN5V-P6HQG-0FMFP, 616G4-CEEH2-9Z8L6, 387ZA-NHXFQ-MGVFH, 2FKC0-XCAJ4-5XEQD, 0AKA4-GCD0C-Y0FB3, 20WLE-R94QN-I3LN8, 74II6-BA5LR-QMNXQ, 750WK-E52X4-YLAEV, 73M93-XXHCN-AKIKA, 749BY-G2FVR-ETNTW, 646B6-AX4BT-PJTG7, 69K05-2LWEC-AQ9BK, 619TL-WKK5Z-0A8BM, 47CPZ-V2CIP-M53WB, 472KP-Y24R5-2QH6P, 57TMX-T5NZA-5W9Q7, 56283-Y20EL-8IRQD, 2EQ57-AI76C-QWMTT, 206V0-X6LJM-QGGFC, 488VP-RNETY-BACPR, 450XM-A4GK0-LD3J7, 20P0X-L47E4-2LC7T, 4DLW0-3EP7H-YH68V, 4F0CI-653DV-WGEBK, 42TG0-6NK0C-CKZNZ, 49NGK-L9QKE-FKQAP, 4FNVM-HJ86H-3XELP, 565NB-ZWF9Z-WJCYH, 59MVG-R7IYY-7NQQI, 5A8RG-MKTYC-N7Y8Y, 0ATWB-H2VJ8-59TI8
JustArchi commented 4 years ago

https://github.com/JustArchiNET/ArchiSteamFarm/commit/e077622b8281a710f92b5bbf18be9d41b7fb8d21 should fix it for good, feel free to try.

Rudokhvist commented 4 years ago

Now it looks almost perfect:

<bot3> Key: 6FE08-A24FH-N0QWN | Status: Fail/AlreadyPurchased | Items: [271708, Epic drag puZOOls]

<bot4> Key: 6FE08-A24FH-N0QWN | Status: Fail/AlreadyPurchased | Items: [271708, Epic drag puZOOls]

<bot5> Key: 6FE08-A24FH-N0QWN | Status: Fail/DuplicateActivationCode | Items: [271708, Epic drag puZOOls]

<bot5> Key: 748LA-I228C-NF7V2 | Status: Fail/DuplicateActivationCode | Items: [275260, !LABrpgUP!]

<bot5> Key: 65R56-IIQ0J-9YRRI | Status: Fail/DuplicateActivationCode | Items: [233209, Armada Skies]

<bot5> Key: 20QPZ-CCANL-ZCF5V | Status: Fail/DuplicateActivationCode | Items: [239529, Clumsy Chef]

<bot5> Key: 73M79-B4IYZ-BALEL | Status: Fail/DuplicateActivationCode | Items: [271708, Epic drag puZOOls]

<bot5> Key: 0DTDT-4JRIW-Q7EXG | Status: Fail/DuplicateActivationCode | Items: [189566, Cowboy's Adventure]

<bot5> Key: 66L6T-KVB6M-YYVJD | Status: Fail/DuplicateActivationCode | Items: [60094, The Interview]

<bot5> Key: 20P5Q-AQ3RK-L8ECN | Status: Fail/DuplicateActivationCode | Items: [243815, Cowboy Escape]

<bot5> Key: 20MAA-9GANA-8KM4K | Status: Fail/DuplicateActivationCode | Items: [189566, Cowboy's Adventure]

<bot5> Key: 204ZY-V9434-CJ9KY | Status: Fail/DuplicateActivationCode | Items: [244906, EXIST]

<bot5> Key: 6DNMD-9803G-TV5DR | Status: Fail/RateLimited

<bot6> Key: 6DNMD-9803G-TV5DR | Status: Fail/DuplicateActivationCode | Items: [208308, Cubic]

<bot6> Key: 7473V-8MH86-LMHKC | Status: Fail/DuplicateActivationCode | Items: [267656, Airbo]

<bot6> Key: 20ZTZ-0FFWM-8X850 | Status: Fail/DuplicateActivationCode | Items: [239532, Favorite Miner]

<bot6> Key: 68BX9-X49IP-QCQDR | Status: Fail/DuplicateActivationCode | Items: [235007, Defend the planet]

<bot6> Key: 3AML0-035E4-MGXHQ | Status: Fail/DuplicateActivationCode | Items: [262308, Walls in Dead]

<bot6> Key: 6FRNX-K0PRR-Q0N5P | Status: Fail/DuplicateActivationCode | Items: [183809, Mr Rabbit's Alphabet Forest Adventure]

<bot6> Key: 74TZ7-76WFG-EGJ69 | Status: Fail/DuplicateActivationCode | Items: [250564, Crazy Road]

<bot6> Key: 6FE69-GEDNC-CL7Y9 | Status: Fail/DuplicateActivationCode | Items: [211976, My Loved Heart]

<bot6> Key: 64T4V-25KRA-AZYKD | Status: Fail/DuplicateActivationCode | Items: [151732, Mouse in Lab]

<bot6> Key: 2F0W3-7TWNH-EHRC0 | Status: Fail/DuplicateActivationCode | Items: [60187, Immune]

<bot6> Key: 32X5I-A9H6A-N734D | Status: Fail/RateLimited

<bot7> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot8> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot9> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot1> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot2> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot3> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot4> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot3> Key: 30QZB-E09F6-YNDXG | Status: Fail/DuplicateActivationCode | Items: [235881, Lopp]

<bot3> Key: 0DLAX-PB7N7-TIPIH | Status: Fail/DuplicateActivationCode | Items: [254794, Escape from pyramid]

<bot3> Key: 726R2-H8255-G3JZH | Status: Fail/DuplicateActivationCode | Items: [214806, Ninja Way]

<bot3> Key: 20CMR-730NW-YJB48 | Status: Fail/DuplicateActivationCode | Items: [236536, Fly the plane]

<bot3> Key: 73GDZ-FV3KC-ZTKQA | Status: Fail/DuplicateActivationCode | Items: [264190, Simple Golfing]

<bot3> Key: 20APX-ZXTYD-7FH9K | Status: Fail/DuplicateActivationCode | Items: [236536, Fly the plane]

<bot3> Key: 65TDD-833IW-7J6QZ | Status: Fail/DuplicateActivationCode | Items: [233408, Dungeon Gambit Boy]

<bot3> Key: 64ZYW-WD5PE-8TVNP | Status: Fail/DuplicateActivationCode | Items: [262439, Qvabllock]

<bot3> Key: 674GP-M78JD-PVNFD | Status: Fail/RateLimited

<bot4> Key: 674GP-M78JD-PVNFD | Status: Fail/DuplicateActivationCode | Items: [272491, Space Hurricane Storm]

<bot4> Key: 77J43-80A40-H7BVJ | Status: Fail/DuplicateActivationCode | Items: [137170, Project Abyss]

<bot4> Key: 208M9-JR5CX-583CP | Status: Fail/DuplicateActivationCode | Items: [204988, Hardcore Survival]

<bot4> Key: 208WL-G3AQV-ZR8YQ | Status: Fail/DuplicateActivationCode | Items: [189707, Redium]

<bot4> Key: 41X4X-KB3QF-DL7Z6 | Status: Fail/DuplicateActivationCode | Items: [246963, !4RC4N01D! 3: Cold Space]

<bot4> Key: 202XQ-Z30RK-PYBVL | Status: Fail/DuplicateActivationCode | Items: [189707, Redium]

<bot4> Key: 72VIT-QNYGD-4INET | Status: Fail/DuplicateActivationCode | Items: [133235, Redrum: Dead Diary]

<bot4> Key: 4F0LT-7K8D3-6IV78 | Status: Fail/DuplicateActivationCode | Items: [240906, Cute Hedgehog]

…
…
<bot4> Key: 54BVC-JVJ3N-TIW9T | Status: Fail/RateLimited

<bot7> Key: 54BVC-JVJ3N-TIW9T | Status: Fail/DuplicateActivationCode | Items: [207158, Rocks and Rockets]

<bot7> Key: 522YE-CMJR2-JXY0V | Status: Fail/DuplicateActivationCode | Items: [219163, Pure Mind]

<bot7> Key: 4EJXP-CMQNX-QJ28P | Status: Fail/DuplicateActivationCode | Items: [233643, Boy Knight]

<bot7> Key: 41VF5-9MC8N-5PZLB | Status: Fail/DuplicateActivationCode | Items: [264417, Kinaman vs Gray Elephant]

<bot7> Key: 48832-30PK0-Q52ZH | Status: Fail/DuplicateActivationCode | Items: [48107, Taxi]

<bot7> Key: 20TA8-VVDC6-5VAFA | Status: Fail/DuplicateActivationCode | Items: [250790, Zombie Desperation]

<bot7> Key: 48RB9-MW75G-R9YJP | Status: Fail/DuplicateActivationCode | Items: [98814, A Land Fit For Heroes]

<bot7> Key: 4FZXZ-57IKD-6RLYK | Status: Fail/DuplicateActivationCode | Items: [267019, GAI travel]

<bot7> Key: 49VK3-F2GBE-4ELBJ | Status: Fail/DuplicateActivationCode | Items: [181826, Super Hardcore]

<bot7> Key: 4195M-XZ798-62GWL | Status: Fail/RateLimited

<bot8> Key: 4195M-XZ798-62GWL | Status: Fail/DuplicateActivationCode | Items: [141486, Masha Rescues Grandma]

<bot8> Key: 6BMGM-6Z8WB-AX7LL | Status: Fail/DuplicateActivationCode | Items: [76474, Dracula's Legacy]

<bot8> Key: 0D63K-IV6GL-PH0QD | Status: Fail/DuplicateActivationCode | Items: [154144, Jupiteration]

<bot8> Key: 75E5F-ECMLJ-76BTC | Status: Fail/AlreadyPurchased | Items: [216671, Lucky Panda]

<bot9> Key: 75E5F-ECMLJ-76BTC | Status: Fail/DuplicateActivationCode | Items: [216671, Lucky Panda]

<bot9> Key: 74CTW-RQ2E8-Z705V | Status: Fail/DuplicateActivationCode | Items: [210206, Bio Soup]

<bot9> Key: 74H3E-II6FI-2PEV8 | Status: Fail/DuplicateActivationCode | Items: [241793, Bit-Boom]

<bot9> Key: 2FB5D-JJA9Y-N4QW3 | Status: Fail/DuplicateActivationCode | Items: [223866, Half Past Impossible]

<bot9> Key: 72G3C-AN6TL-V0HZN | Status: Fail/DuplicateActivationCode | Items: [216740, Mistake Souls]

<bot9> Key: 65MCI-7AVFP-Z0KDW | Status: Fail/DuplicateActivationCode | Items: [211556, BIT BULLET]

<bot9> Key: 77FNC-V305R-BJMWN | Status: Fail/DuplicateActivationCode | Items: [66312, Not without my donuts]

<bot9> Key: 2EN5V-P6HQG-0FMFP | Status: Fail/DuplicateActivationCode | Items: [229785, PIXEL DRIFT]

<bot9> Key: 616G4-CEEH2-9Z8L6 | Status: Fail/DuplicateActivationCode | Items: [244726, The Scarecrow]

<bot9> Key: 387ZA-NHXFQ-MGVFH | Status: Fail/RateLimited

<bot1> Key: 387ZA-NHXFQ-MGVFH | Status: Fail/DuplicateActivationCode | Items: [191882, Achievement Hunter: Begins]

<bot1> Key: 2FKC0-XCAJ4-5XEQD | Status: Fail/DuplicateActivationCode | Items: [236551, Let's be architects]

<bot1> Key: 0AKA4-GCD0C-Y0FB3 | Status: Fail/DuplicateActivationCode | Items: [93785, Mind Dead]

<bot1> Key: 20WLE-R94QN-I3LN8 | Status: Fail/DuplicateActivationCode | Items: [236536, Fly the plane]

<bot1> Key: 74II6-BA5LR-QMNXQ | Status: Fail/DuplicateActivationCode | Items: [49509, Great Permutator]

<bot1> Key: 750WK-E52X4-YLAEV | Status: Fail/DuplicateActivationCode | Items: [234051, Mighty Gemstones]

<bot1> Key: 73M93-XXHCN-AKIKA | Status: Fail/DuplicateActivationCode | Items: [224551, Star Sweet]

<bot1> Key: 749BY-G2FVR-ETNTW | Status: Fail/DuplicateActivationCode | Items: [223335, KOLOBOK]

<bot1> Key: 646B6-AX4BT-PJTG7 | Status: Fail/DuplicateActivationCode | Items: [109320, Rise of the Ancients]

<bot1> Key: 69K05-2LWEC-AQ9BK | Status: Fail/RateLimited

<bot2> Key: 69K05-2LWEC-AQ9BK | Status: Fail/DuplicateActivationCode | Items: [275079, Baikonur Space]

<bot2> Key: 619TL-WKK5Z-0A8BM | Status: Fail/DuplicateActivationCode | Items: [126599, WAR CUBE]

<bot2> Key: 47CPZ-V2CIP-M53WB | Status: Fail/DuplicateActivationCode | Items: [235033, Mini Gold Coop]

<bot2> Key: 472KP-Y24R5-2QH6P | Status: Fail/DuplicateActivationCode | Items: [233522, Mumps]

<bot2> Key: 57TMX-T5NZA-5W9Q7 | Status: Fail/DuplicateActivationCode | Items: [50205, Melissa K and the Heart of Gold]

<bot2> Key: 56283-Y20EL-8IRQD | Status: Fail/DuplicateActivationCode | Items: [209993, BLOK DROP NEO]

<bot2> Key: 2EQ57-AI76C-QWMTT | Status: Fail/DuplicateActivationCode | Items: [210987, Psi Project 2]

<bot2> Key: 206V0-X6LJM-QGGFC | Status: Fail/DuplicateActivationCode | Items: [250655, Tiny Mage]

<bot2> Key: 488VP-RNETY-BACPR | Status: Fail/DuplicateActivationCode | Items: [206366, StockUp]

<bot2> Key: 450XM-A4GK0-LD3J7 | Status: Fail/RateLimited

<bot8> Key: 450XM-A4GK0-LD3J7 | Status: Fail/DuplicateActivationCode | Items: [56270, Marble Duel]

<bot8> Key: 20P0X-L47E4-2LC7T | Status: Fail/DuplicateActivationCode | Items: [272827, World of Tea]

<bot8> Key: 4DLW0-3EP7H-YH68V | Status: Fail/DuplicateActivationCode | Items: [189566, Cowboy's Adventure]

…
…
<bot8> Key: 4F0CI-653DV-WGEBK | Status: Fail/DuplicateActivationCode | Items: [61813, Dreamscapes: Nightmare's Heir - Premium Edition]

<bot8> Key: 42TG0-6NK0C-CKZNZ | Status: Fail/DuplicateActivationCode | Items: [242074, Don't Fall]

<bot8> Key: 49NGK-L9QKE-FKQAP | Status: Fail/RateLimited
<bot3> Unused keys: 32X5I-A9H6A-N734D, 49NGK-L9QKE-FKQAP, 4FNVM-HJ86H-3XELP, 565NB-ZWF9Z-WJCYH, 59MVG-R7IYY-7NQQI, 5A8RG-MKTYC-N7Y8Y, 0ATWB-H2VJ8-59TI8

I still don't understand this behavior:

<bot6> Key: 32X5I-A9H6A-N734D | Status: Fail/RateLimited

<bot7> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot8> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot9> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot1> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot2> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot3> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot4> Key: 32X5I-A9H6A-N734D | Status: Fail/AlreadyPurchased | Items: [272771, 150,000 B.C.]

<bot3> Key: 30QZB-E09F6-YNDXG | Status: Fail/DuplicateActivationCode | Items: [235881, Lopp]

Why it switches to bot3 after this key? It makes no sense for me. Does it just reset the queue to original bot that received the command in case if all bots have the current game? But anyway, this is minor comparing to the original bug, as it's just non-intuitive behavior and does not results in unnecessary redeem attempts, and actual order of redeeming does not matter. Thank you for putting your time into fixing this, I really appreciate it.

JustArchi commented 4 years ago

Why it switches to bot3 after this key? It makes no sense for me. Does it just reset the queue to original bot that received the command in case if all bots have the current game?

Yes, we go through all the bots that can redeem it, and if no bot is able to, we reset back to beginning with the next key. You can't say that any other bot makes "more sense", since we just ran out of them all.

Rudokhvist commented 4 years ago

Thought so. But why reset if it could just continue from the bot where last redeeming attempt was made? Or maybe from the one right after it in queue, unsure what fits better to "forwarding+distributing" logic. Just to make it clear - I do not insist that changes needs to be made, I'm fine with resetting to the initial bot. Just a bit of discussion to bring your attention to other possible approaches.

JustArchi commented 4 years ago

That would involve saving "last success" bot in the queue, the loop is not working like that, while we have a key to redeem, it enumerates over all bots (starting with the target one), and once we run out of them we change the key to avoid infinite loop.

It's a matter of implementation right now, we enumerate bots for a key, not keys for a bot.

Rudokhvist commented 4 years ago

Okay, if it's up to implementation, it's definitely not worth the efforts to change it. Maybe if I'll decide to refactor it, I'll try another approach.

Rudokhvist commented 4 years ago

Thank you once again for fixing it ❤️