Skip to content

ItemsMatcherPlugin ru RU

ArchiBot edited this page Feb 2, 2023 · 19 revisions

Плагин ItemsMatcherPlugin

Плагин ItemsMatcherPlugin является официальным ASF плагином, который расширяет ASF с возможностями листинга ASF STM. В частности, это включает PublicListing в RemoteCommunication и MatchActively в TradingPreferences. ASF поставляется с предустановленным плагином ItemsMatcherPlugin вместе с релизом, поэтому он готов к использованию прямо сейчас.


PublicListing

Публичный листинг (далее - publiclisting), как видно из названия, содержит список доступных ASF STM ботов. Он расположен на нашем сайте, управляется автоматически и используется в качестве публичной службы для обоих пользователей ASF, использующих MatchActively, а также пользователей ASF и non-ASF для ручного сопоставления.

Для того чтобы попасть в список, вы должны удовлетворять набору требований. Как минимум, вы должны разрешить PublicListing в RemoteCommunication (настройка по умолчанию), включить SteamTradeMatcher в TradingPreferences, сделать инвентарь Steam общедоступным в настройках конфиденциальности, иметь неограниченную учетную запись и подключённую 2FA ASF. Естественно, у вас должен быть по крайней мере один предмет из указанного в MatchableTypes, например, коллекционные карточки (Trading cards).

Хотя публичный список включен по умолчанию, обратите внимание, что вы не будете отображаться на сайте, если вы не соответствуете всем требованиям, особенно из-за SteamTradeMatcher, который по умолчанию не включен. Для людей, которые не отвечают критериям, даже если они поддерживали PublicListing, ASF никаким образом не поддерживает связь с сервером. Публичный листинг также совместим только с последней стабильной версией ASF и может отказать в отображении устаревших ботов, особенно если у них отсутствует функциональность ядра, которая может быть найдена только в более новых версиях.

Как именно это работает

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

Мы показываем все учетные записи ASF 2FA+STM, которые были активны за последние 15 минут. Пользователи сортируются по их относительной полезности - MatchEverything ботов, которые показаны с любым значком, принимающим все 1:1 сделки, затем по количеству уникальных игр, и, наконец, по общему количеству предметов.

API

Каталог ASF STM на данный момент отображает только ботов на основе ASF. У нас на данный момент нет возможности отображать сторонних ботов в нашем каталоге, поскольку мы не можем легко проверить их код и убедиться что их логика обменов соответствует нашей. Поэтому участие в листинге требует последней стабильной версии ASF, хотя оно может выполняться с пользовательскими плагинами.

Для пользователей списка у нас есть очень простой /Api/Listing/Bots эндпоинт, который вы можете использовать. Он включает в себя все данные, кроме инвентарей пользователей, которые являются частью исключительно функции MatchActively.

Политика конфиденциальности

Если вы согласны быть размещенным в нашем списке, включив SteamTradeMatcher и не отказываясь PublicListing, как указано выше, мы временно сохраним некоторые данные вашей учетной записи Steam на нашем сервере, чтобы предоставить ожидаемую функциональность.

Публичная информация (представляемая Steam каждой заинтересованной стороне) включает в себя:

  • Ваш идентификатор Steam (в 64-разрядном формате, для создания ссылок)
  • Ваш никнейм (для отображения)
  • Ваш аватар (только хеш, для отображения)

Общедоступная информация (представляемая Steam каждой заинтересованной стороне, если вы выполняете требования к листингу) включает в себя:

  • Ваш инвентарь (чтобы люди могли использовать MatchActively для сравнения своих предметов с вашими).

Приватная информация (выбранные данные, необходимые для обеспечения функциональности) включает в себя:

  • Ваш токен для обменов (чтобы люди, не состоящие в вашем списке друзей могли отправить вам обмен)
  • Ваше значение параметра MatchableTypes (в целях отображения и сопоставления)
  • Ваша настройка MatchEverything (для целей отображения и сопоставления)
  • Ваше значение параметра MaxTradeHoldDuration (чтобы другие люди знали, готовы ли вы принять сделки)

Ваши данные хранятся в течение максимум двух недель с того момента, как вы перестаете использовать (объявление о) наш листинг и автоматически удаляются после этого периода.


MatchActively

Настройка MatchActively — это активная версия SteamTradeMatcher, которая включает интерактивное сопоставление, при котором бот будет отправлять сделки другим людям. Он может работать автономно или вместе с настройкой SteamTradeMatcher. Эта функция требует установки LicenseID, так как она использует сторонний сервер и платные ресурсы для работы.

Чтобы использовать данный режим, вам необходимо соответствовать ряду требований. Как минимум, вы должны иметь неограниченный аккаунт, настроенный**ASF 2FA** и по крайней мере один допустимый тип в MatchableTypes, например, Trading Cards (коллекционные карточки).

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

Во время сопоставления, бот ASF будет получать свой собственный инвентарь, а затем связываться с ним с нашим сервером, чтобы найти все возможные совпадения MatchableTypes от других, доступных в настоящее время ботов. Благодаря прямой связи с нашим сервером, этот процесс требует одного запроса, и мы имеем сиюминутную информацию о том, предлагает ли какой-либо доступный бот что-то интересное для нас, - если совпадение найдено, ASF автоматически вышлет и подтвердит трейд.

Работа этого модуля должна быть полностью прозрачной. Сопоставление начинается примерно через 1 час с момента запуска ASF, и будет повторяться каждые 6часов (при необходимости). Функция MatchActively предназначена для использования в качестве долговечной, периодической меры, чтобы убедиться, что мы активно продвигаемся к завершению наборов, однако, люди, не запущенные в ASF 24/7, также могут использовать команду match. Целевые пользователи данного модуля это основные аккаунты и дополнительные аккаунты-"склады", однако его можно использовать для любого бота, у которого не включен режим MatchEverything.

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

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

MatchActively учитывает ботов, которых вы внесли в черный список для торговли через tbadd команду и не будет пытаться активно сопоставлять их. Это можно использовать чтобы указать ASF ботов, с которыми никогда не следует сопоставлять наборов, даже если они имеют потенциальные дубликаты которые можно использовать.

ASF также сделает все возможное для обеспечения того, чтобы торговые предложения прошли успешно. На следующем этапе, которое обычно происходит в течение 6 часов, ASF отменит все ожидающие предложения, которые до сих пор не приняты, и отвлечь внимание от участия SteamID, чтобы они предпочли более активных ботов. Still, if deprioritized bots are the last ones that have the match we need, we'll still attempt to match them (again).


Почему мне нужен LicenseID для использования MatchActively? Разве это раньше не было бесплатно?

ASF является и остается свободным ПО с открытым исходным кодом, как было обозначено в самом начале проекта в октябре 2015 года. Исходный код плагина ItemsMatcher и, следовательно, плагинаMatchActively доступна в нашем репозитории, так как программа ASF полностью некоммерческая, мы ничего не зарабатываем от взносов в ее, разработки или публикации. За последние более чем 7 лет ASF получила большое развитие, и все еще совершенствуется и ежемесячно дополняется стабильным релизом, в основном, одним человеком, JustArchi - без прикрепленных строк. Единственное финансирование, которое мы получаем, — это добровольные пожертвования, поступающие от наших пользователей.

В течение долгого времени до октября 2022 года, MatchActively была частью ядра AFS и была доступна для всех пользователей. В октябре 2022, Valve, владелец Steam, установила очень жесткие ограничения скорости для получения инвентаря других ботов - которые сделали предыдущую функциональность полностью уничтоженной, безо всякой возможности решения этой проблемы. Таким образом, из-за того, что функция стала полностью разрушенной без возможности восстановления, её пришлось выпилить из ядра ASF в версии 5.4.1.0 как устаревшую.

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

Наша цель не в получении прибыли, а скорее в покрытии ежемесячных расходов, которые связаны исключительно с предложением этой опции, поэтому мы предлагаем ее практически бесплатно, но нам приходится брать за это небольшую плату, поскольку мы не можем ежемесячно платить сотни долларов из собственного кармана только для того, чтобы сделать его доступным для вас. Мы также не в состоянии обсуждать цену, это Valve навязала нам эти расходы, но и альтернативный вариант не имеет такой функции вообще, конечно, принимается, если вы решите, что по какой-либо причине вы не можете оправдать использование нашего плагина на этих условиях.

В любом случае, мы понимаем, что MatchActively не для всех, и мы надеемся, что вы также понимаете, почему мы не можем предложить это бесплатно.


Как я могу получить доступ?

ItemsMatcher предлагается в рамках ежемесячного спонсорства от $5 на JustArchi's GitHub. Также возможно стать единоразовым донатером, хотя в этом случае лицензия будет действительна только в течение месяца (но с возможностью продления аналогичным образом). После того, как вы станете спонсором уровня $5 или выше, прочтите раздел конфигурации для получения и заполнения LicenseID. После этого вам нужно включить MatchActively в TradingPreferences выбранного бота.

Лицензия позволяет отправлять на сервер ограниченное количество запросов. Уровень $5 позволяет вам использовать MatchActively для одного аккаунта бота (4 запроса в день), и каждые $5 добавляют ещё по два аккаунта ботов (8 запросов в день). Например, если вы хотите запустить его на трех аккаунтах, то это покроется уровнем $10 или выше.

Clone this wiki locally