Skip to content

Background games redeemer ru RU

JustArchi edited this page Dec 9, 2018 · 28 revisions

Фоновая активация ключей

Фоновая активация ключей - встроенная в ASF функция, позволяющая ввести определённый набор ключей Steam (вместе с их именами) для активации в фоновом режиме. Эта функция особенно полезна в связке с множеством ключей, которые нужно активировать, когда Вы гарантировано получите статус RateLimited (слишком много попыток активации) до того, как вы закончите активацию всего набора.

Фоновая активация ключей нацелена на использование для одного бота, что означает, что функция не использует RedeemingPreferences. Данную функцию можно использовать вместе с (или вместо) командой redeem, если нужно.


Импорт

Импортировать возможно с помощью двух способов - используя файлы или IPC.

Файл

ASF увидит в папке config файл с названием BotName.keys, где BotName - имя бота. That file has expected and fixed structure of name of the game with cd-key, separated from each other by a tab character and ending with a newline to indicate the next entry. Если используется несколько символов табуляции, тогда первая запись считается за название игры, последняя - за ключ, и всё между ними игнорируется. Например:

POSTAL 2	ABCDE-EFGHJ-IJKLM
Domino Craft VR	12345-67890-ZXCVB
A Week of Circus Terror	POIUY-KJHGD-QWERT
Terraria	ЭтоИгнорируется	ИЭтоТоже	ZXCVB-ASDFG-QWERT

Alternatively, you're also able to use keys only format (still with a newline between each entry). ASF in this case will use Steam's response (if possible) to fill the right name. For any kind of keys tagging, we recommend that you name your keys yourself, as packages being redeemed on Steam do not have to follow logic of games that they're activating, so depending on what the developer has put, you might see correct game names, custom package names (e.g. Humble Indie Bundle 18) or outright wrong and potentially even malicious ones (e.g. Half-Life 4).

ABCDE-EFGHJ-IJKLM
12345-67890-ZXCVB
POIUY-KJHGD-QWERT
ZXCVB-ASDFG-QWERT

Независимо от того, какого формата вы решили придерживаться, ASF будет импортировать ваш файл keys, либо при запуске, либо позже, во время выполнения. После успешного считывания вашего файла и пропуска неправильных записей, все правильно распознанные игры будут добавлены в очередь и BotName.keys будет удалён из директории config.

IPC

В дополнение к использованию файла с ключами, описанному выше, ASF также предоставляет конечную точку ASF API GamesToRedeemInBackground, которубю можно использовать из любой утилиты, использующей IPC, включая наш ASF-ui. Using IPC might be more powerful, as you can do appropriate parsing yourself, such as using a custom delimiter instead of being forced to a tab character, or even introducing your entirely own customized keys structure.


Очередь

Когда игра успешно импортирована, она добавляется в очередь. ASF автоматически проходит очередь в фоне, пока бот подключен к сети Steam и очередь не пуста. Ключ, к которому была применена попытка активации, которая дала результат, отличный от RateLimited, удаляется из очереди, а его статус пишется в файл в директории config - BotName.keys.used, если ключ был в итоге использован (к примеру, NoDetail, BadActivationCode, DuplicateActivationCode) или BotName.keys.unused в ином случае. ASF будет использовать имя данное вами название игры, так как ключ может не иметь корректного названия игры, которое отдаётся сетью Steam - таким образом вы можете помечать ключи своими именами, если необходимо.

Если во время процесса аккаунт получает статус RateLimited, очередь будет временно приостановлена на час для исчезновения кулдауна. После ожидания процесс продолжится с места, где он остановился, пока очередь не исчезнет.


Пример

Предположим, у вас есть список со 100 ключами. Для начала, вам нужно создать новый файл BotName.keys.new в директории config ASF. Расширение .new добавляется для того, чтобы ASF не импортировал данный файл сразу после создания (так как это пустой, не готовый для импорта, файл).

Теперь вы можете открыть новый файл и вставить список из 100 ключей, при необходимости, исправляя формат. После правок файл BotName.keys.new будет иметь ровно 100 (или 101, с переходом на новую строку в конце) строк, имея структуру в виде GameName\tcd-key\n, где \t - это символ табуляции, а \n - новая строка.

Теперь можно сменить имя файла с BotName.keys.new на BotName.keys для импорта в ASF. Сразу после того, ASF автоматически импортирует файл (без перезапуска) и удалит его, говоря о том, что все игры были считаны и добавлены в очередь.

Помимо использования файла BotName.keys, вы можете использовать IPC API-метод, или даже комбинировать оба метода по желанию.

Спустя некоторое время, файлы BotName.keys.used и BotName.keys.unused могут сгенерироваться. Эти файлы содержат результат процесса активации ключей. Например, вы можете переименовать файл BotName.keys.unused в BotName2.keys и таким образом передать неиспользованные ключи другому боту, так как предыдущий бот не активировал эти ключи на свой аккаунт. Или вы можете перекопировать неиспользованные ключи в другой файл и сохранить его до лучших времён. Помните, что пока ASF проходит очередь, новые результаты активаций будут добавлены к конечным used и unused файлам, поэтому рекомендуется подождать окончания очереди, перед тем, как добавлять новые ключи. Если вам крайне необходимо получить доступ к тем файлам до того, как очередь закончится, вам нужно сначала переместить необходимый конечный файл в другую директорию, и затем открывать его. Это нужно делать из-за того, что ASF может добавить новые результаты, пока вы работаете с файлом, и это может привести к потере ключей, если вы открыли файл, к примеру, в файле было 3 ключа, затем вы удалили его, не обращая внимания на то, что ASF добавил ещё ключа в удалённый файл в этот момент. Если вы хотите получить доступ к этих файлам, убедитесь, что они перемещены из директории ASF config, перед тем, как открыть их, например, переименованием.

Также можно добавить одни игры для импортирования, пока другие находятся в очереди, повторяя шаги выше. ASF корректно добавит дополнительные записи в выполняющуюся очередь и активирует их, когда очередь дойдёт до них.


Примечания

У фоновой активации ключей "под капотом" используется OrderedDictionary, а это значит, что порядок ключей будет сохраняться таким, каким вы его задали в текстовом файле (или вызове IPC API). Это значит что вы можете (и даже должны) составлять список так, чтобы ключи, активация которых зависит от активации других ключей, должны быть ниже по списку чем те ключи, от которых они зависят. Например, это означает, что если у вас есть DLC D, которое для активации требует, чтобы сначала была активирована игра G, то ключ для игры G должен всегда стоять в списке раньше, чем ключ для DLC D. Аналогично, если DLC D зависит от активации A, B и C, то все 3 они должны стоять в списке раньше него (в любом порядке, если, конечно, они не зависят в свою очередь друг от друга).

Если вы не будете соблюдать схему описанную выше, ваше DLC не будет активировано с сообщением DoesNotOwnRequiredApp, даже если его можно будет активировать на ваш аккаунт после того, как будет активирована вся очередь ключей. Чтобы избежать этого, следите, чтобы DLC всегда был в очереди после базовой игры.

Clone this wiki locally