Skip to content

Trading ru RU

JustArchi edited this page Jan 7, 2019 · 44 revisions

Обмены

ASF включает в себя поддержку не-интерактивных (офлайн) обменов Steam. Как получение (принятие/отклонение) так и отправка обменов работают не требуя дополнительной настройки, однако, естественно, требуют аккаунт Steam без ограничений (такой, на котором потрачено больше чем 5$ в эквиваленте). Модуль обменов недоступен для ограниченных аккаунтов.


Логика

ASF всегда принимает все обмены, независимо от предметов в них, присланные от пользователя с правами Master (или выше). Это позволяет не только легко забрать карты, которые нафармил бот, но также удобно манипулировать любыми предметами Steam, хранящимися на этом боте.

ASF будет отказыватся от обменов, независимо от содержимого, которые присланы от пользователей(кроме Master) обмены с которыми запрещены в модуле обменов. Список пользователей, с которыми запрещены обмены, хранится в базе данных BotName.db, а управлять вы им можете с помощью команд bl, bladd и blrm. Это может использоваться как альтернатив блокировке в Steam - используйте с осторожностью.

ASF будет принимать все loot-подобные обмены присланные от других ботов, за исключением случая когда в параметре TradingPreferences указано значение DontAcceptBotTrades. Вкратце, параметр TradingPreferences со значением по умолчанию None приведёт к тому, что ASF будет автоматически принимать обмены от пользователей с правами Master (описано выше) а также все безвозмездные обмены от других ботов, задействованых в этом процессе ASF. Если вы хотите отключить принятие безвозмездных обменов от других ботов, для этого служит значение DontAcceptBotTrades в параметре TradingPreferences.

Если вы добавите значение AcceptDonations в параметр TradingPreferences, ASF также будет принимать любые безвозмездные обмены - обмены, в которых бот не отдаёт никаких предметов. Это влияет только на обмены с не-ботами, поскольку боты на обмены с ботами влияет значение DontAcceptBotTrades. AcceptDonations позволяет вам легко принимать пожертвования от других людей, а также от ботов не задействованных в данном процессе ASF.

Приятно отметить, что AcceptDonations не требует наличия 2ФА ASF, поскольку если мы не отдаём предметов - подтверждение на мобильном не требуется.

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


SteamTradeMatcher

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

  • Отказ от обмена если мы отдаём что-то, что не указано в параметре MatchableTypes.
  • Отказ от обмена если мы не получаем как минимум столько же предметов из определённой игры и определённого типа.
  • Отказ от обмена если у нас запрашивают предмет летней/зимней распродажи, и при этом у пользователя действует удержание обменов.
  • Отказ от обмена если удержание обмена превышает указанное в параметре глобальной конфигурации MaxTradeHoldDuration.
  • Отказ от обмена если не установлено значение MatchEverything и обмен для нас хуже, чем нейтральный.
  • Принятие обмена если мы не отказались от него на одном из этапов выше.

Приятно отметить, что ASF также поддерживает переплату - логика будет нормально работать если мы получаем в обмене что-то дополнительно, если все другие условия соблюдены.

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

  • Обмен хороший если наш прогресс к завершению значка увеличивается. A A (было) <-> A B (стало)
  • Обмен нейтральный если наш прогресс к завершению значка не меняется. A B (было) <-> A C (стало)
  • Обмен плохой если наш прогресс к завершению значка уменьшается. A C (было) <-> A A (стало)

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

По умолчанию ASF будет отклонять плохие сделки - практически всегда это то, чего хочет пользователь. Однако, при желании вы можете включить значение MatchEverything в параметр TradingPreferences чтобы ASF принимал все обмены дубликатов, включая плохие. Это может быть полезным только если вы хотите сделать из своего аккаунта бота по обмену карт 1:1, и вы должны понимать, что в этом случае ASF не поможет вашему прогрессу к завершению значков, и сделает возможным потерю уже собранного набора карт на N дубликатов одной и той же карты. Если вы не хотите намеренно создать бота который никогда не соберёт набор карт, вам не стоит включать эту опцию.

В зависимости от выбранных значений в параметре TradingPreferences, то, что ASF отказал в обмене не означает что вы не сможете принять её самостоятельно. Если вы оставили значение по-умолчанию BotBehaviour, который не включает RejectInvalidTrades, ASF будет просто игнорировать эти обмены - разрешая вам выбрать самому если вы заинтересованы в них или нет. То же самое касается и обменов с предметами, не соответствующими MatchableTypes, и прочих случаев - модуль обменов призван помочь автоматизировать обмены по алгоритму STM, а не решать за вас, какой обмен хороший а какой нет. Единственное исключение из этого правила - это пользователи, с которыми запрещены обмены командой bladd - предложения обменов от таких пользователей немедленно отклоняются независимо от настроек BotBehaviour.

Настоятельно рекомендуем использовать 2ФА ASF если вы решите использовать этот функционал, поскольку он не раскрывает полностью свой потенциал если вам приходится вручную подтверждать каждый обмен. SteamTradeMatcher будет работать даже без возможности подтверждать обмены, но это может создать очередь на подтверждение если вы не принимаете их своевременно.


MatchActively

Настройка MatchActively - это расширенная версия SteamTradeMatcher, которая в дополнение к пассивному сопоставлению предлагаемому этой опцией, также добавляет активное сопоставление в котором бот будет отправлять обмены другим людям.

Чтобы использовать данную опцию, вам необходимо выполнить набор требований. Во-первых, вам нужно включить SteamTradeMatcher (так как эта функция - расширение её), и убедитесь что вы отключили MatchEverything (так как боты для обмена никогда не сопоставляют карты активно). Также, вы должны удовлетворять требованиям на включение в наш Каталог ASF STM, за исключением требования на наличие 100 предметов. Это значит, что вы как минимум должны иметь включенный параметр Statistics, аккаунт без ограничений, активную 2ФА ASF, открытый инвентарь и по крайней мере один допустимый тип в MatchableTypes, например такой как коллекционные карточки.

Если вы подходите под все требования выше, ASF будет периодически соединяться с нашим публичным каталогом ASF STM, чтобы активно сопоставлять карточки с помощью ботов с опцией Any (MatchEverything), которые сейчас доступны.

  • Каждое сопоставление состоит из "раундов", максимально до 10 за раз.
  • Каждый раунд ASF будет проверять наш инвентарь и инвентарь выбранных ботов, которые находятся в списке, чтобы найти предметы MatchableTypes которые можно сопоставить. Когда совпадение найдено, ASF отправит и подтвердит предложение обмена автоматически.
  • Каждый набор (состав из типа предмета и appID) может cопоставлен в одном раунде только один раз. Это реализовано чтобы уменьшить "Предметы более недоступны" и избежать необходимости ждать реакции каждого бота, прежде чем отправить все обмены.
  • ASF не будет отправлять более 255 предметов в одном обмене, и не более 5 обменов одному пользователю в одном раунде. Это связано с ограничениями Steam, а также с нашей собственной балансировкой нагрузки.
  • Раунд сопоставления заканчивается в момент, когда мы пытаемся сопоставить наборы с 40 ботами, или когда закончились предметы сопоставления с 20 разными ботами.
  • Если последний раунд заканчивается в, по крайней мере одном отправленном обмене, следующий раунд начинается в течении 5 минут с момента последнего (чтобы добавить немного времени для восстановления и разрешить всем ботам отреагировать на наши обмены), иначе сопоставление заканчивается и повторяется через 8 часов.

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

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

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

Clone this wiki locally