Skip to content

Background games redeemer ru RU

ArchiBot edited this page Nov 3, 2023 · 28 revisions

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

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

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


Импорт

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

Файл

ASF обнаруживает в папке config файл с названием BotName.keys, где BotName - имя бота. Ожидается что этот файл будет иметь фиксированную структуру, состоящую из имени игры и ключа, отделенных друг от друга при помощи символа табуляции, а также новой строки в качестве указания на следующий элемент. Если используется несколько символов табуляции, тогда первая запись считается названием игры, а последняя - ключом, а всё между ними игнорируется. Например:

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.

IPC

В дополнение к использованию файла с ключами, описанному выше, ASF также предоставляет конечную точку ASF API GamesToRedeemInBackground, которубю можно использовать из любой утилиты, использующей IPC, включая наш ASF-ui. Использование IPC может оказаться более удобным, поскольку вы сможете настроить формат записей под себя, например, использовать другой разделитель вместо символа табуляции, или даже ввести полностью свою структуру ключей.


Очередь

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

Если во время процесса аккаунт получает статус RateLimited, очередь будет временно приостановлена на час для исчезновения кулдауна. После этого процесс продолжается до тех пор, пока вся очередь не опустеет или не произойдет очередной 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