-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Background games redeemer zh TW
背景序號啟動器是 ASF 內建的特殊功能,可以讓您匯入一批 Steam 序號(包含遊戲名稱)以便在背景啟用。 如果您需要一次啟動大量序號,在全數啟動前,必定會觸發 RateLimited
狀態,此時背景啟動功能將會非常有用。
背景序號啟動器只對單個 Bot 有效,也就是說它不會採用 RedeemingPreferences
中的設定。 若有需要,本功能可以和 redeem
**指令**一起使用(或者代替它)。
匯入可以透過兩種方式進行:使用文字檔或 IPC。
ASF 會辨識 config
資料夾下名為 BotName.keys
的檔案,其中 BotName
是你的 Bot 的名稱。 該檔案具有固定格式,每行由遊戲名稱及遊戲序號所組成,兩者之間需以 Tab 分隔,並以換行結束,用來表示開始下一組項目。 若一行中使用多個 Tab,則該行第一項會被視為遊戲名稱,最後一項會被視為遊戲序號,而中間的所有內容都將被忽略。 舉例來說:
POSTAL 2 ABCDE-EFGHJ-IJKLM
Domino Craft VR 12345-67890-ZXCVB
A Week of Circus Terror POIUY-KJHGD-QWERT
Terraria 這裡會被忽略 這裡也會被忽略 ZXCVB-ASDFG-QWERT
此外,您也可以只輸入遊戲序號(但序號之間仍需使用換行作為分隔)。 在這種情況下,(如果可能)ASF 將會向 Steam 詢問正確的遊戲名稱。 對於任何類型的序號標籤,我們建議您自行標記所有序號的名稱。因為在 Steam 上啟動的序號包的名稱,不一定會符合序號包中遊戲名稱的命名邏輯。根據開發人員所填寫的內容,您可能會看到正確的遊戲名稱、自訂名稱(例如 Humble Indie Bundle 18),或完全錯誤、甚至是惡意的名稱(例如 Half-Life 4)。
ABCDE-EFGHJ-IJKLM
12345-67890-ZXCVB
POIUY-KJHGD-QWERT
ZXCVB-ASDFG-QWERT
無論您選擇使用哪種格式,ASF 都將在 Bot 啟動或執行時,匯入您的 keys
檔案。 在成功剖析並忽略無效的序號後,所有正確檢測到的遊戲都會被加入背景佇列,而 BotName.keys
檔案也將會自動從 config
資料夾中移除。
除了使用上述提到的遊戲序號文字檔外,ASF 也開放了可供任意 IPC 工具(包括我們的 ASF-ui)使用的 GamesToRedeemInBackground
ASF API 端點。 IPC 將能提供更完善的功能,因為您可以使用自己覺得合適的方式進行剖析。例如使用自訂定界符,而非強制使用 Tab,甚至,您可以完全自訂序號的格式。
在成功匯入遊戲後,它們會被加入至佇列中。 只要 Bot 與 Steam 網路保持連線,且佇列中仍有遊戲,ASF 就會自動處理背景佇列。 嘗試啟動序號且沒有觸發 RateLimited
後,該序號將會被移出佇列,其啟動結果亦會寫入位於 config
資料夾中的檔案。當序號被程序使用掉(例如結果為NoDetail
、BadActivationCode
、DuplicateActivationCode
),會寫入 BotName.keys.used
,否則會寫入 BotName.keys.unused
。 由於 Steam 網路不一定會回傳序號所屬遊戲的正確名稱,所以 ASF 會使用您提供的遊戲名稱。這樣您就可以根據需要,使用自訂名稱來標記您的序號。
如果在這個過程中帳號觸發了 RateLimited
狀態,佇列將會暫停一小時,以等待冷卻時間結束。 之後,程序將會從中斷的地方繼續,直到佇列完全清空。
假設您有一個包含 100 個序號的清單。 首先,您應該在 ASF 的 config
資料夾中,建立一個名為 BotName.keys.new
的檔案。 我們加上了 .new
副檔名,是為了防止 ASF 在我們建立檔案時,立刻讀取該檔案(因為它是一個空白檔案,還尚未準備匯入)。
現在您可以開啟剛才建立的檔案,將 100 個序號貼上,並視情況修正格式。 格式修正後,BotName.keys.new
檔案中應該正好有 100 行(如果末端有空行的話就是 101 行),每一行的格式均為 遊戲名稱\t遊戲序號\n
,其中的 \t
是 Tab 字元,\n
是換行。
在儲存並關閉檔案後,您現在可以將該檔案由 BotName.keys.new
重新命名為 BotName.keys
,以便讓 ASF 知道該檔案已準備好匯入。 重新命名後,ASF 會自動匯入該檔案(不需要重新啟動),並在確認所有遊戲皆剖析成功並加入佇列後,刪除該檔案。
除了 BotName.keys
檔案,您也可以使用 IPC API 端點,甚至也可以根據需要,配合使用兩種方式。
經過一段時間後,會產生 BotName.keys.used
及 BotName.keys.unused
兩個檔案。 這兩個檔案含有啟動程序的結果。 舉例來說,您可以將 BotName.keys.unused
重新命名為 BotName2.keys
,來將未使用的序號交給其他的 Bot,因為前一個 Bot 未使用到這些序號。 或者,您也可以將未使用的序號複製貼上到其他檔案中留作他用。 請注意,在 ASF 處理佇列時,新的項目是逐一寫入至 used
和 unused
兩個輸出檔案中的,因此建議等待佇列完全清空後,再使用這兩個檔案。 若您無論如何都要在佇列完全清空之前,存取這些檔案的話,您應先將欲存取的檔案移動至別的資料夾中,然後再對其做進一步處理。 這是因為 ASF 可能會在您處理這些檔案的時候寫入新的結果,這可能會導致某些序號遺失。例如:您讀取了一個包含 3 個序號的檔案,然後將其刪除,但 ASF 在此期間又寫入了 4 個新序號,這樣那些新寫入的序號便會遺失。 若您想存取這些檔案,請務必先將它們從 ASF 的 config
資料夾中移出,例如將其重新命名。
您也可以在佇列已有遊戲的情況下匯入更多遊戲,只需要重覆上述步驟就行了。 ASF 會正確地將其加入正在處理的佇列中,並最終處理它們。
背景序號啟動器在底層使用了 OrderedDictionary
,意思是遊戲序號將會依照檔案中(或 IPC API 呼叫中)的順序啟動。 這代表,如果某些序號需要先擁有另一個序號才能啟動,請將其列於該序號後方。 舉例來說,如果您有 DLC D
,且需要先啟動遊戲 G
才能啟動,那麼你必須將遊戲 G
的序號排在 DLC D
的前面。 同樣地,如果啟動 DLC D
之前,需先啟動 A
、B
及 C
,那麼這三個序號就應該被放在前面(可以是任意順序,除非它們各自也有相依關係)。
若未依上方所述的方式啟動,會導致 DLC 啟動失敗,並回傳 DoesNotOwnRequiredApp
結果。即使您的帳號在完成整個佇列後,得以啟動該 DLC,它也不會在此時被啟動。 如果要避免這種錯誤,請務必確保佇列中的 DLC 被放在遊戲本體之後。