Skip to content

Background games redeemer ja JP

ArchiBot edited this page Jun 2, 2025 · 13 revisions

バックグラウンドゲーム有効化

バックグラウンドゲーム有効化機能は、ASFに組み込まれた特別な機能で、指定されたSteamCDキーのセット(名前と一緒に)をバックグラウンドで有効化することができます。 この機能は、有効化するキーが大量にあり、全てのバッチを処理する前に確実にRateLimited**ステータス**に到達してしまう場合に特に有用です。

バックグラウンドゲーム有効化機能は単一ボットスコープで動作するように設計されており、RedeemingPreferencesを使用しません。 この機能は、必要に応じてredeem**コマンド**と組み合わせて(または代わりに)使用することができます。


インポート

インポート処理は、ファイルを使用するかIPCを使用するかの2つの方法で実行できます。

ファイル

ASFはconfigディレクトリ内でBotName.keysという名前のファイルを認識します。 このファイルは、ゲーム名とCDキーが決められた構造で記述され、お互いにタブ文字で区切られ、改行で終わって次のエントリを示します。 複数のタブが使用される場合、最初のエントリはゲーム名、最後のエントリはCDキー、その間にあるものは無視されます。 例:

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はボット起動時または実行中にkeysファイルをインポートします。 ファイルの正常な解析と無効なエントリの除外の後、正しく検出されたゲームはすべてバックグラウンドキューに追加され、BotName.keysファイル自体はconfigディレクトリから削除されます。

プロセス間通信

上記のキーファイルの使用に加えて、ASFはGamesToRedeemInBackground**ASF APIエンドポイント**も公開しており、ASF-uiを含む任意のIPCツールで実行できます。 IPCを使用する方が強力な場合があります。 タブ文字に強制されることなくカスタム区切り文字を使用するなど、適切な解析を自分で行ったり、完全に独自のカスタマイズされたキー構造を導入したりできるためです。


キュー

ゲームが正常にインポートされると、キューに追加されます。 ボットがSteamネットワークに接続され、キューが空でない限り、ASFは自動的にバックグラウンドキューを処理します。 有効化を試行され、RateLimitedにならなかったキーはキューから削除され、そのステータスはconfigディレクトリ内のファイルに適切に記録されます。 キーがプロセスで使用された場合(例:NoDetailBadActivationCodeDuplicateActivationCode)はBotName.keys.usedに、そうでなければBotName.keys.unusedに記録されます。 ASFは、キーがSteamネットワークから返される有意義な名前を持つことが保証されていないため、意図的に提供されたゲーム名を使用します。 この方法により、必要/希望に応じてカスタム名を使用してキーにタグを付けることができます。

プロセス中にアカウントがRateLimitedステータスに到達した場合、クールダウンが消えるのを待つために、キューは1時間完全に一時停止されます。 その後、キュー全体が空になるか、別のRateLimitedが発生するまで、プロセスは中断したところから続行されます。


100個のキーのリストがあると仮定しましょう。 まず、ASFのconfigディレクトリに新しいBotName.keys.newファイルを作成する必要があります。 ASFが作成された瞬間にこのファイルを取得しないようにするために.new拡張子を追加しました(新しい空のファイルでまだインポートの準備ができていないため)。

新しいファイルを開いて、100個のキーのリストをコピー&ペーストし、必要に応じて形式を修正できます。 修正後、BotName.keys.newファイルは正確に100行(または最後の改行で101行)になり、各行はGameName\tcd-key\nの構造を持ちます。

ASFが取得する準備ができていることを知らせるために、このファイルをBotName.keys.newからBotName.keysに名前を変更する準備が整いました。 これを行った瞬間、ASFは自動的にファイルをインポートし(再起動の必要なし)、その後削除して、すべてのゲームが解析されキューに追加されたことを確認します。

BotName.keysファイルを使用する代わりに、IPC APIエンドポイントを使用することも、必要に応じて両方を組み合わせることもできます。

しばらくすると、BotName.keys.usedBotName.keys.unusedファイルが生成されます。 これらのファイルには有効化プロセスの結果が含まれています。 例えば、BotName.keys.unusedBotName2.keysファイルに名前変更して、前のボットがそれらのキーを使用しなかったため、未使用のキーを他のボットに送信することができます。 または、未使用のキーを他のファイルにコピー&ペーストして後で保管することもできます、あなた次第です。 ASFがキューを処理する際、新しいエントリが出力のusedunusedファイルに追加されるため、それらを使用する前にキューが完全に空になるまで待つことをお勧めします。 キューが完全に空になる前にこれらのファイルにアクセスする必要がある場合は、まずアクセスしたい出力ファイルを他のディレクトリに移動し、その後解析する必要があります。 これは、あなたが作業をしている間にASFが新しい結果を追加する可能性があり、例えば3つのキーが含まれているファイルを読み取って削除し、その間にASFが削除されたファイルに4つの他のキーを追加したという事実を完全に見逃すことで、一部のキーが失われる可能性があるためです。 これらのファイルにアクセスしたい場合は、読み取る前にASFのconfigディレクトリから移動させるようにしてください(例:名前変更によって)。

既にキューにいくつかのゲームがある状態で、上記のすべての手順を繰り返すことで、インポートする追加のゲームを追加することも可能です。 ASFは追加のエントリを既に進行中のキューに適切に追加し、最終的にそれを処理します。


備考

バックグラウンドキー有効化機能は内部でOrderedDictionaryを使用しており、ファイル(またはIPC API呼び出し)で指定された順序でCDキーが保持されることを意味します。 つまり、指定されたCDキーが上にリストされているCDキーに対してのみ直接的な依存関係を持ち、下にあるものには持たないリストを提供できる(そして提供すべき)ということです。 例えば、ゲームGを最初にアクティベートする必要があるDLC Dがある場合、ゲームGのCDキーは常にDLC DのCDキーより前に含まれる必要があります。 同様に、DLC DABCに依存している場合、3つすべてが前に含まれる必要があります(それら自体が依存関係を持たない限り、任意の順序で)。

上記のスキームに従わないと、アカウントがキュー全体を通過した後にアクティベートする資格があるにも関わらず、DLCがDoesNotOwnRequiredAppでアクティベートされません。 それを避けたい場合は、DLCが常にキュー内のベースゲームの後に含まれるようにする必要があります。

Clone this wiki locally