-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Configuration uk UA
Ця страниця присвячена налаштуванням ASF. Вона являє собою вичерпну документацію директорії config
, цу допоможе вам налаштувати ASF під свої потреби.
- Вступ
- Генератор конфігурацій на базі веб
- Конфігурація ASF-ui
- Налаштування вручну
- Глобальна конфігурація
- Конфігурація боту
- Файлова структура
- Типи параметрів JSON
- Сумісність типів
- Сумісність конфігурацій
- Автоматичне перезавантаження
Конфігурація ASF поділена на дві основні частини - глобальн конфігурацію (для процессу вцілому), та конфігурація для окремих ботів. Кожен бот має власний файл конфігурації, названий BotName.json
(де BotName
це ім'я боту), а глобальна конфігурація ASF (процессу) - це єдиний файл з ім'ям ASF.json
.
Бот це один акаунт steam, який використовується процесом ASF. ASF потребує для роботи якнайменше один налаштований екземпляр бота. Ніякого технічного обмеження на кількість екземплярів ботів немає, тож ви можете використовувати стільки ботів (акаунтів steam), скільки забажаєте.
ASF використовує формат JSON для зберігання конфігураційних файлів. Це зручний для людини, легкий для читання та дуже універсальний формат, за допомогою якого ви можете конфігурувати програму. Однак не хвилюйтеся, вам немає потреби знати JSON щоб налаштувати ASF. Я лише зазначив це на випадок якщо ви забажаєте створити велику кількість конфігурацій ASF за допомогою якогось скрипта.
Конфігурацію можна зробити кількома способами. Ви можете використати наш ConfigGenerator, який є локальним додатком від ASF. Ви можете використати наш ASF-ui IPC фронтенд конфігурації зроблений безпосередньо в ASF. В кінці кінців, ви завжди можете згенерувати конфігураційні файли вручну, оскільки вони дотримуються фіксованої структури JSON, вказаної нижче. Ми невдовзі пояснимо доступні варіанти.
The purpose of our Web-based ConfigGenerator is to provide you with a friendly frontend that is used for generating ASF configuration files. Генератор конфігурацій на базі веб на 100% виконується на стороні клієнта, тобто ніякі дані, що ви вводите, нікуди не надсилаються, й оброблюються локально. Це гарантує безпеку і надійність, бо генератор може працювати навіть офлайн, якщо ви завантажите усі файли та відкриєте index.html
у вашому улюбленому браузері.
Генератор конфігурацій на базі веб перевірено на належну роботу у Chrome та Firefox, але він має працювати у більшості популярних браузерів з підтримкою javascript.
Користуватися ним дуже просто - оберіть, що ви хочете згенерувати - конфігурацію ASF
, чи конфігурацію бота просто перейшовши на потрібну вкладку, перевірте що версія файла конфігурації відповідає версії вашого ASF, введіть усі потрібні дані та натисніть кнопку "Скачати". Перемістіть цей файл до каталогу config
вашого ASF, замінюючи існуючі фали, якщо це необхідно. Повторіть ці кроки для усіх подальших змін, та скористуйтеся рештою цього розділу для пояснень щодо усіх існуючих параметрів конфігурації.
Наш ASF-ui IPC дозволяє також налаштувати ASF, і це є кращим рішенням для переналаштування ASF після генерації початкових конфігурацій через те, що воно може редагувати конфігурації, на відміну від Генератора конфігурацій на базі Інтернету, який генерує їх статично.
In order to use ASF-ui, you must have our IPC interface enabled itself. IPC
увімкнуто за замовчуванням, тому ви можете отримати доступ безпосередньо до нього, доки ви не вимкнули його власноруч.
After launching the program, simply navigate to ASF's IPC address. Якщо все працює належним чином, ви можете змінити конфігурацію ASF звідси.
В загальному, ми наполегливо рекомендуємо використовувати наш ConfigGenerator або ASF-ui, як це набагато простіше і забезпечує, що ви не будете помилитися в структурі JSON, але якщо з якоїсь причини ви не хочете, то ви також можете створити належні конфігурації вручну. Перевірте приклади JSON внизу для гарного початку в належній структурі, ви можете скопіювати вміст у файл і використовувати його як базу для вашої конфігурації. Since you're not using any of our frontends, ensure that your config is valid, as ASF will refuse to load it if it can't be parsed. Навіть якщо це є дійсною JSON, вам також доведеться забезпечити всі властивості мають правильний тип, як це вимагає ASF. For proper JSON structure of all available fields, refer to JSON mapping section and our documentation below.
Глобальна конфігурація зберігається у файлі ASF.json
та має наступну структуру:
{
"AutoRestart": true,
"Blacklist": [],
"CommandPrefix": "!",
"ConfirmationsLimiterDelay": 10,
"ConnectionTimeout": 90,
"CurrentCulture": null,
"Debug": false,
"DefaultBot": null,
"FarmingDelay": 15,
"FilterBadBots": true,
"GiftsLimiterDelay": 1,
"Headless": false,
"IdleFarmingPeriod": 8,
"InventoryLimiterDelay": 4,
"IPC": true,
"IPCPassword": null,
"IPCPasswordFormat": 0,
"LicenseID": null,
"LoginLimiterDelay": 10,
"MaxFarmingTime": 10,
"MaxTradeHoldDuration": 15,
"MinFarmingDelayAfterBlock": 60,
"OptimizationMode": 0,
"PluginsUpdateList": [],
"PluginsUpdateMode": 0,
"ShutdownIfPossible": false,
"SteamMessagePrefix": "/me ",
"SteamOwnerID": 0,
"SteamProtocols": 7,
"UpdateChannel": 1,
"UpdatePeriod": 24,
"WebLimiterDelay": 300,
"WebProxy": null,
"WebProxyPassword": null,
"WebProxyUsername": null
}
Усі параметри описані нижче:
параметр типу bool
зі значенням за замовчуванням true
. Цей параметр визначає, чи дозволено ASF перезапускатися в разі потреби. Є кілька випадків, які потребують перезапуск ASF, як наприклад оновлення ASF (яке сталося згідно UpdatePeriod
чи за допомогою команди update
), а також зміни у конфігураційному файлі ASF.json
, команда restart
і таке інше. Зазвичай, перезапуск складається з двох частин - створення нового процесу, та завершення поточного. Це має задовольнити більшість користувачів, вони можуть залишити цьому параметру значення за замовчуванням true
, однак, якщо ви запускаєте ASF за допомогою власного скрипта та/чи за допомогою dotnet
, можливо ви захочете мати повний контроль над запуском процесу, та запобігти ситуацію у якій (перезапущений) процес ASF буде мовчки виконуватися у фоновому режими, замість потоку скрипта, який завершиться разом зі старим процесом ASF. Це особливо важливо, враховуючи той факт що новий процес не буде вашим прямим нащадком, через що ви не зможете, наприклад, користуватися в ньому стандартним вводом з консолі.
У такому випадку - цей параметр саме для вас, і ви можете встановити йому значення false
. Однак, майте на увазі, що у цьому разі саме ви відповідаєте за перезапуск процесу. Це дещо важливо тому що ASF просто завершить роботу замість запуску нового процесу (наприклад, після оновлення), тому якщо ви не додасте якусь логіку обробки цього, він просто припинить працювати доки ви знов не запустите його. ASF завжди завершується з належним кодом помилки, який зазначає успішність (нуль) чи не-успішність(не нуль), тому ви в змозі додати належну логіку у вашому скрипті, який не буде перезапускати ASF у разі помилки, або принаймні створить копію log.txt
для подальшого аналізу. Також пам'ятайте, що команда restart
завжди перезапустить ASF, незважаючи на значення цього параметру, тому що параметр визначає поведінку за замовчуванням, а команда restart
завжди перезапускає процес. Якщо у вас немає підстав, щоб вимкнути цю функцію, вам варто залишити її ввімкненою.
параметр типу ImmutableHashSet<uint>
з пустим значенням за замовчуванням. Як випливає з назви, цей параметр задає список appID(ігор), які будуть повністю проігноровані у автоматичному процесі фармінгу ASF. Нажаль, Steam полюбляє відмітити значки літнього/зимового розпродажу як "Ще може випасти карток: X", що заважає процесу ASF, змушуючи його вважати що це дійсно гра, яку треба фармити. Якби не було ніякого чорного списку, ASF би "зависав" намагаючись фармити гру, що насправді не є грою, і чекав би довіку поки з неї випадуть картки, а цього б ніколи не сталося. Чорний список ASF має на меті маркування таких значків як недоступних для фарму, щоб їх можна було тихо ігнорувати при виявленні ігор для фарму, і не потрапляти до цієї пастки.
ASF includes two blacklists by default - SalesBlacklist
, which is hardcoded into the ASF code and not possible to edit, and normal Blacklist
, which is defined here. SalesBlacklist
оновлюється разом з версією ASF, і зазвичай включає в себе всі "погані" appID під час випуску, так що, якщо ви користуєтеся ASF то вам не потрібно підтримувати власний Blacklist
визначений тут. Основною метою цього параметру є надати можливість додавати до чорного списку нові, невідомі на час випуску ASF appID, які не треба фармити. Hardcoded SalesBlacklist
is being updated as fast as possible, therefore you're not required to update your own Blacklist
if you're using latest ASF version, but without Blacklist
you'd be forced to update ASF in order to "keep running" when Valve releases new sale badge - I don't want to force you to use latest ASF code, therefore this property is here to allow you "fixing" ASF yourself if you for some reason don't want to, or can't, update to new hardcoded SalesBlacklist
in new ASF release, yet you want to keep your old ASF running. Якщо у вас немає вагомих підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
Якщо ви шукаєте чорний список для окремих ботів, зверніть увагу на fb
fbadd
and fbrm
командах.
параметр типу string
зі значенням за замовчуванням !
. Цей параметр задає чутливий до регістру префікс, який використовується для команд ASF. Інакше кажучи, це те, що вам потрібно додавати перед кожною командою ASF для того, щоб ASF вас послухався. Цей параметр можна поставити рівним null
, чи порожньому рядку, для того щоб ASF не використовував префікси команд, тоді ви зможете вводити команди просто за їх ідентифікатором. Однак, якщо ви це зробите - це може знизити продуктивність роботи ASF, тому що ASF оптимізовано не обробляти повідомлення, які не починаються з CommandPrefix
- якщо ви навмисно вирішите не користуватися ним, ASF буде змушеним читати усі повідомлення і відповідати на них, навіть якщо вони не є командами ASF. Тому ми радимо користуватися якимось CommandPrefix
, наприклад /
, якщо вам не подобається префікс !
, заданий за замовчуванням. Для однаковості, CommandPrefix
впливає на увесь процес ASF. Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 10
. ASF буде забезпечувати щоб між двома послідовними запитами на підтвердження за допомогою ASF пройшло щонайменше ConfirmationsLimiterDelay
секунд, щоб уникнути активації обмеження на частоту запитів - такі запроси використовуються 2ФА ASF під час, наприклад, команди 2faok
, а також по мірі необхідності під час виконання різноманітних операцій, пов'язаних з обмінами. Значення за замовчуванням встановлено на основі наших випробувань, і не повинно бути зменшено якщо ви бажаєте уникнати проблем. Якщо у вас немає вагомих підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 90
. Цей параметр визначає тайм-аути в секундах для різноманітних мережевих операцій, які виконує ASF. Зокрема, ConnectionTimeout
визначає тайм-аут в секундах для запитів по HTTP та IPC, ConnectionTimeout/10
визначає найбільше число невдалих запитів heartbeat, а ConnectionTimeout / 30
визначає число хвилин, яке відведене на початковий запит з'єднання з мережею Steam. Значення за замовчуванням 90
має бути добрим для більшості людей, однак, якщо ви маєте дуже повільне з'єднання з мережею чи ПК, ви можете збільшити його на щось більше (наприклад, на 120
). Пам'ятайте, що більші значення не вирішать магічним способом повільність чи недоступність серверів Steam, немає сенсу довіку чекати на щось, що ніколи не трапиться, краще спробувати ще раз пізніше. Якщо ви встановите завелике значення цьому параметру, це призведе до надмірних затримок у виявленні проблем з мережею, а також зменшить загальну продуктивність. Якщо ж ви встановите замале значення, це зменшить загальну стабільність та продуктивність також, бо ASF буде переривати вірні запити, які ще обробляються. Саме тому, зменшувати це значення нижче значення за замовчуванням не має загальних переваг, бо сервера Steam, час від часу бувають дуже повільні, і можуть вимагати більше часу на обробку запитів ASF. Значення за замовчуванням - це баланс між вірою, що наше з'єднання з мережею стабільне, і сумнівами, що мережа Steam обробить наш запит за визначений тайм-аут. Якщо ви бажаєте виявляти проблеми скоріше, і примусити ASF підключатися повторно/реагувати швидше, значення за замовчуванням вам підійде (або трішечки нижче, наприклад 60
, щоб зробити ASF менш терплячим). Якщо замість цього ви помічаєте, що ASF має проблеми з мережею, такі як невдалі запити, втрата heartbeat чи переривання з'єднання зі Steam, тоді ймовірно має сенс збільшити це значення, якщо ви певні що це пов'язане не з вашою мережею, а з самим Steam, бо збільшення тайм-аутів робить ASF більш "терплячим" замість того щоб відразу підключатися повторно.
Приклад ситуації, яка потребує збільшення цього параметру - коли ASF змушений працювати з дуже великою пропозицією обміну, яка може потребувати 2+ хвилини щоб бути цілком обробленою й прийнятою Steam. Якщо ви збільшите тайм-аут за замовчуванням, ASF буде більш терплячим, і буде чекати довше перш ніж вирішити що обмін не проходить і відмовитися від початкового запиту.
Інша ситуація - коли ви маєте дуже повільну машину чи інтернет-з'єднання, які потребують більше часу на обробку даних, які передаються. Це досить рідкісна ситуація, бо ЦП/мережа майже ніколи не бувають вузьким місцем, але це все ж таки можливість, яку варто згадати.
Коротше кажучи, значення за замовчуванням має бути задовільним для більшості випадків, але ви можете збільшити його в разі потреби. Однак, надмірно збільшувати значення за замовчуванням також не має сенсу, оскільки більші тайм-аути не вирішать магічним способом недоступність серверів Steam. Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу string
зі значенням за замовчуванням null
. За замовчанням ASF намагається використовувати мову операційної системи, й буде намагатися використовувати перекладені цією мовою рядки, якщо вони наявні. Це можливо завдяки нашій спільноті, яка намагається локалізувати ASF на усі найбільш популярні мови. Якщо з якихось причин ви не бажаєте використовувати мову вашої ОС, ви можете змінити цей параметр щоб обрати замість цього один з наявних перекладів. For a list of all available cultures, please visit MSDN and look for Language tag
. It's nice to note that ASF accepts both specific cultures, such as "en-GB"
, but also neutral ones, such as "en"
. Вказана поточна культура буде також впливати на інші культурні особливості, такі як формат валюти/дати і таке інше. Будь ласка, зверніть увагу, що вам можуть знадобитися додаткові шрифти/мовні пакети для вірного відображення символів обраної мови, якщо ви обрали мову, яка відрізняється від системної та використовує такі символи. Зазвичай цей параметр вам знадобиться якщо ви бажаєте користуватися ASF англійською мовою, замість вашої рідної мови.
параметр типу bool
зі значенням за замовчуванням false
. Цей параметр визначає, чи повинен процес працювати у режимі налагодження. ASF у режимі налагодження створює спеціальний каталог debug
поруч з каталогом config
, у якому повністю відстежую усі обміни між ASF та серверами Steam. Інформація, зібрана у режимі налагодження, може допомогти знайти неприємні помилки, пов'язані з мережею та загальною роботою ASF. На додаток, деякі частини програми будуть виводити більш докладну інформацію, наприклад WebBrowser
буде виводити конкретні причини помилок - така інформація потрапляє до звичайного журналу ASF. Не варто запускати ASF у режимі налагодження, окрім випадків коли про це вас попрохав розробник. Робота ASF у режимі налагодження знижує продуктивність, негативно впливає на стабільність і виводить значно більш докладну інформацію у багатьох місцях, тому використовувати цей режим є сенс тільки з якоюсь метою, короткочасно, для вирішення конкретних питань, відтворення якоїсь проблеми чи для збору інформації про якійсь помилковий запит, і таке інше, але не для нормальної роботи програми. Ви побачите багато нових помилок, проблем та винятків - переконайтеся, що ви маєте глибокі знання щодо ASF, Steam та його глюків, якщо ви вирішили аналізувати все це самостійно, тому що не все це актуально.
ПОПЕРЕДЖЕННЯ: при ввімкненні цього режиму відбувається журналювання потенційно конфіденційної інформації, як то логіни та паролі які ви використовуєте для входу у Steam (через журналювання мережевих запитів). Ці дані записуються як у каталог debug
, так і у звичайний log.txt
(який у цьому режимі навмисно більш детальний для включення цієї інформації). Ви не повинні викладати інформацію, створену ASF у цьому режимі, у будь які загальнодоступні місця, розробник ASF завжди нагадає вам надіслати її йому на e-mail, або іншим безпечним шляхом. Ми не зберігаємо і ніяк не користуємося цією конфіденційною інформацією, вона записується як частина процесу отладки, оскільки її наявність може мати відношення до проблеми, з якою ви зіткнулися. Ми воліли б щоб ви не змінювали журнали ASF у будь-який спосіб, але якщо ви стурбовані, ви можете відповідно відредагувати ці конфіденційні дані.
Редагування включає в себе заміну конфіденційних даних, наприклад на зірочки. Ви повинні утримуватися від повного видалення рядків з конфіденційною інформацією, тому що навіть їх наявність може бути важливою, і тому їх варто зберігти.
параметр типу string
зі значенням за замовчуванням null
. В деяких сценаріях функції ASF мають концепцію бота за замовчанням для роботи з чимось - наприклад через IPC команду чи інтерактивну консоль, якщо не вказано цільового бота. Цей параметр дозволяє вам вибрати бота за промовчанням, відповідального за обробку таких сценаріїв, поставивши його BotName
тут. Якщо заданий бот не існує, або ви використовуєте значення null
, ASF буде вибирати перший зареєстрований бот за алфавітом звичайно. Typically you want to make use of this config property if you want to omit [Bots]
argument in IPC and interactive console commands, and always pick the same bot as the default one for such calls.
параметр типу byte
зі значенням за замовчуванням 15
. Для забезпечення роботи ASF буде кожні FarmingDelay
хвилин перевіряти чи не випали вже усі картки з поточної гри. Якщо ви встановите замале значення для цього параметру - це призведе до відправки надмірної кількості запитів до steam, а якщо завелике - це може призвести до того що ASF "фармитиме" якусь гру аж до FarmingDelay
зайвих хвилин після того, як усі картки отримано. Значення за замовчуванням має бути чудовим для більшості користувачів, але якщо ви запускаєте дуже багато ботів, ви можете розглянути потребу збільшити його до чогось подібного 30
хвилинам, щоб обмежити кількість відправлених запитів до steam. Ми раді відзначити, що ASF використовує механізм обробки подій, і перевіряє сторінку значка кожен раз, як випадає якійсь предмет Steam, тож в загалі не потрібно перевіряти його через постійний інтервал часу, але оскільки ми не довіряємо цілком мережі Steam - ми все одно перевірятимемо сторінку значка, навіть якщо ми не отримали події випадення картки протягом останніх FarmingDelay
хвилин (на випадок якщо Steam не повідомить нас про випадення предмету, або щось подібне). Якщо мережа Steam працює коректно, зменшення значення цього параметру жодним чином не покращить швидкість фарму, і у той самий час значно підвищить навантаження на мережу - тому ми рекомендуємо лише збільшувати його (при необхідності) більше 15
хвилин, встановлених за замовчуванням. Якщо у вас немає вагомих підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу bool
зі значенням за замовчуванням true
. Цей параметр визначає, чи буде ASF автоматично знижувати торгові пропозиції, отримані від відомого та позначеного поганого актора. Для цього ASF буде спілкуватися з нашим сервером на необхідній основі, щоб отримати список ідентифікаторів чорного списку. The bots listed are operated by people that are classified as harmful towards ASF initiative by us, such as those that violate our code of conduct, use provided functionality and resources by us such as PublicListing
in order to abuse and exploit other people, or are doing outright criminal activity such as launching DDoS attacks on the server. Оскільки ASF має сильну позицію щодо загальної справедливості, чесності та співробітництва між своїми користувачами, щоб зробити всю спільноту доступною, цей параметр увімкнено за замовчуванням, і тому ASF відтворює ботів, яких ми класифікуємо нешкідливими від запропонованих сервісів. Unless you have a strong reason to edit this property, such as disagreeing with our statement and intentionally allowing those bots to operate (including exploiting your accounts), you should keep it at default.
параметр типу byte
зі значенням за замовчуванням 1
. ASF буде забезпечувати щоб між послідовними запитами на обробку(активацію) ключів/подарунків/ліцензій пройшло щонайменше GiftsLimiterDelay
секунд, для того щоб уникнути активації обмеження на частоту запитів. In addition to that it'll also be used as global limiter for game list requests, such as the one issued by owns
command. Unless you have a strong reason to edit this property, you should keep it at default.
параметр типу bool
зі значенням за замовчуванням false
. Цей параметр визначає, чи повинен процес працювати у безинтерфейсному режимі. У безинтерфейсному режимі ASF вважає, що його запущено на сервері, або у іншому не-інтерактивному середовищі, і тому не намагатиметься отримати якусь інформацію через вхідну консоль. До такої інформації відносяться дані за запитом (дані облікових записів, такі як код 2ФА, код SteamGuard, пароль, чи інші значення, потрібні для роботи ASF) а також інший консольний ввід (такий як інтерактивна консоль команд). Інакше кажучи, режим Headless
рівнозначний до переводу консолі ASF у режим тільки для читання. Це налаштування головним чином корисне для користувачів, які запускають ASF на своїх серверах, оскільки замість запитів для, наприклад, коду 2ФА, ASF мовчки буде переривати операцію і зупиняти бота. За випадком ситуації, коли ви запускаете ASF на сервері, і спочатку перевірили що ASF в змозі працювати у звичайному режимі, вам варто залишити цей параметр вимкненим. У безинтерфейсному режимі буде відхилено будь яка взаємодія з користувачем, і ваші облікові записи не будуть виконані, якщо їм знадобиться будь-який запис з консолі під час запуску. Це корисно для серверів, бо ASF може припинити намагатися увійти до облікового запису якщо потрібен запит облікових даних, замість очікування (довіку) що користувач їх введе.
Увімкнення цього режиму дозволить вам подавати обов'язкові вхідні дані з інших засобів, наприклад, для консолі. ASF-ui (ASF API), or through input
command. Якщо ви не впевнені, яке значення встановити цьому параметру, залиште йому значення за замовчуванням false
.
параметр типу byte
зі значенням за замовчуванням 8
. Коли ASF нема чого робити, воно перевірятиме кожні IdleFarmingPeriod
годин, чи не з'явилися на обліковому записі нові ігри з яких можна отримати картки. Це не потрібно якщо ми маємо на увазі нові ігри, які ми отримали, бо ASF досить розумне щоб автоматично перевіряти сторінку зі значками у такому разі. IdleFarmingPeriod
головним чином для ситуацій, коли до старих ігор, які ми вже маємо, було додано колекційні картки. У такому разі не утворюється подія, тому ASF має періодично перевіряти сторінку зі значками, якщо ми бажаємо обробити цю ситуацію. Значення 0
вимкне цей функціонал. Also check: ShutdownOnFarmingFinished
preference in FarmingPreferences
.
byte
type with default value of 4
. ASF will ensure that there will be at least InventoryLimiterDelay
seconds in between of two consecutive web inventory requests to avoid triggering rate-limit - those are being used for example during marking inventory notifications as read, might also be used by third-party plugins fetching inventory of other users. This property is not used for fetching our own inventory, as ASF is using much more efficient internal network call for that, so it'll not affect commands like loot
or transfer
in any way. Default value of 4
was set based on marking inventories of over 100 consecutive bot instances, and should satisfy most (if not all) of the users. Однак ви можете захотіти зменшити це, або навіть змінити 0
якщо у вас дуже мала кількість ботів, тому ASF буде ігнорувати затримку і відзначити інвентарі Steam набагато швидше. Be warned though, as setting it too low will result in Steam temporarily banning your IP, and that will prevent you from making any calls at all. Також вам може бути потрібно збільшити це значення якщо ви використовуєте багато ботів у яких багато запитів до інвентарю, хоча у цьому випадку вам мабуть варто замість цього зменшити кількість таких запитів. Якщо у вас немає вагомих підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу bool
зі значенням за замовчуванням true
. Цей параметр визначає, чи буде IPC сервер ASF запускатися при старті процесу. IPC дозволяє здійснювати міжпроцесний зв'язок, включаючи використання ASF-ui, завантажуючи локальний HTTP-сервер. Якщо ви не збираєтеся використовувати будь-яку сторонню інтеграцію IPC з ASF, включаючи наш ASF-ui, ви можете безпечно вимкнути цю опцію. В іншому випадку, це хороша ідея тримати її увімкненою (типова опція).
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає обов'язковий пароль для кожного запита API крізь IPC й виступає додатковим заходом безпеки. Якщо йому встановлено не пусте значення, усі запити крізь IPC вимагатимуть додаткового параметру password
з паролем, вказаним тут. Значення за замовчуванням null
відміняє необхідність пароля, і тому ASF обробляє усі запити. На додаток до цього, завдання цього параметру також вмикає вбудований в IPC механізм захисту від перебору, який буде тимчасово банити окремий IPAddress
якщо він надіслав забагато неавторизованих запитів за дуже короткий час. Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 0
. Цей параметр визначає формат властивості IPCPassword
і використовує EHashingMethod
в якості основного типу. Будь ласка, перегляньте розділ Безпека для отримання додаткової інформації, якщо ви бажаєте дізнатись більше оскільки вам потрібно буде забезпечити властивість IPCPassword
дійсно включає пароль у відповідний Формат IPCPassword
. In other words, when you change IPCPasswordFormat
then your IPCPassword
should be already in that format, not just aiming to be. Unless you know what you're doing, you should keep it with default value of 0
.
Посібник?
тип зі значенням за замовчуванням null
. Цей параметр дозволяє спонсорам покращити ASF додатковими функціями, які вимагають оплати ресурсів. For now, this allows you to make use of MatchActively
feature in ItemsMatcher
plugin.
While we recommend you to utilize GitHub since it offers monthly and one-time tiers, as well as allows full automation and gives you immediate access, we also support all other currently-available donation options. See this post for instructions on how to donate using other methods in order to get a manual license valid for given period.
Regardless of the method used, if you're ASF sponsor, you can obtain your license here. Вам потрібно буде увійти з GitHub, щоб підтвердити вашу особу, ми просимо тільки для читання публічної інформації, якою є ваше ім'я користувача. Ліцензія
потрібна із 32 шістнадцяткових символів, наприклад f6a0529813f74d119982eb43a9a24
.
Ensure that you do not share your LicenseID
with other people. Оскільки її видано особистим шляхом, вона може бути відкликана, якщо вона просочувалася. Якщо випадково це сталося з вами випадково, ви можете створити новий з того ж місця.
Якщо ви не бажаєте ввімкнути додаткові функції ASF, вам не потрібно вказувати ліцензію.
параметр типу byte
зі значенням за замовчуванням 10
. ASF буде забезпечувати щоб між послідовними спробами підключитися пройшло щонайменше LoginLimiterDelay
секунд, для того щоб уникнути активації обмеження на частоту запитів. Значення за замовчуванням 10
було обрано на базі підключення більш ніж 100 ботів, і має задовольнити більшість (якщо не усіх) користувачів. Однак ви можете захотіти збільшити/зменшити це значення, або навіть змінити його на 0
якщо в вас дуже мала кількість ботів, для того щоб ASF не зважало на затримки і підключалося до Steam значно швидше. Однак маємо вас попередити, що занадто низькі значення при великій кількості ботів призведе до тимчасового блокування вашого IP, і ви не зможете увійти до Steam взагалі, й отримаєте помилку InvalidPassword/RateLimitExceeded
- і це також включає ваш звичайний клієнт Steam, а не тільки ASF. Так само, якщо у вас забагато ботів, особливо у поєднанні з іншими клієнтами/інструментами для Steam, які працюють з тієї ж IP-адреси, швидше за все вам знадобиться збільшити це значення, щоб рознести логіни на більший період часу.
Додатково, це значення також використовується для буфер балансування навантаження в усіх запланованих діях ASF, наприклад таких як пропозиції обміну через SendTradePeriod
. Якщо у вас немає вагомих підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 10
. Як ви повинні знати, Steam не завжди працює належним чином, іноді дивні ситуації можуть трапитись, ніби наш ігровий час не записується, незважаючи на те, що насправді грає. ASF буде фармити одну гру у соло-режимі максимум MaxFarmingTime
годин, а після цього періоду вважатиме, що фарм для неї завершений. Це необхідно щоб процес фарма не застряг у разі якихось дивних ситуацій, а також на випадок, коли Steam випустив значок, який заважає ASF працювати далі (дивись також: Blacklist
). Значення за замовчуванням у 10
годин має бути достатньо для отримання усіх карток з однієї гри. Занадто низьке значення може призвести до пропуску дійсних ігор (так, бувають ігри у яких фарм займає до 9 годин), а занадто високе значення призведе до застрягання фарму на довгий час. Зверніть увагу, що цей параметр впливає лише на поодиноку гру у одній сесії фарму (тож після обробки всієї черги ASF повернеться до цієї гри), а також він базується не на загальному часу у грі, а на внутрішньому часі фарму в ASF, тому ASF також повернеться до цієї гри після перезапуску. Якщо у вас немає вагомих підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 15
. Цей параметр визначає максимальну тривалість затримки обміну, при якій ми згодні його приймати - ASF буде відхиляти обміни, для яких затримка складає більше ніж MaxTradeHoldDuration
діб, як описано у розділі Обміни. Ця опція має сенс лише для ботів, у яких параметр TradingPreferences
включає значення SteamTradeMatcher
, оскільки він не впливає ані на обміни від Master
/SteamOwnerID
, ані на обміни у дарунок. Затримки обміну дратують усіх, тож ніхто не бажає мати з ними справу. ASF планувався для роботи по ліберальним правилам й допомоги усім, незалежно від затримок обміну, саме тому за замовчуванням цей параметр має значення 15
. Однак, якщо ви замість цього бажаєте відхилити всі обміни з затримками, ви можете вказати тут 0
. Будь ласка, зважте той факт що що цей параметр не впливає на картки з коротким строком дії, і такі обміни автоматично відхиляються для людей з затримками обміну, як це описано у розділі Обміни, тож немає сенсу глобально відхиляти усіх лише через це. Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 60
. Цей параметр визначає мінімальну кількість часу, в секундах, який ASF буде чекати перед відновленням карт якщо воно було попередньо відключене за допомогою LoggedInElsewhere
що відбувається, коли ви вирішуєте від'єднати ASF в даний час, запустивши гру. Ця затримка існує в основному з міркувань зручності і накладних витрат, Наприклад, це дозволить вам перезавантажити гру без необхідності битися з ASF знову використавши ваш обліковий запис лише тому, що блокування було доступне лише на декілька секунд. Відповідно до того, що повторне підключення сесії викликає LoggedInElsewhere
, і ASF має пройти процедуру повторного підключення, який ставить додатковий тиск на мережу комп'ютера і пароля, тому уникає додаткових відключень, якщо це можливо, є кращим. By default, this is configured at 60
seconds, which should be enough to allow you restart the game without much hassle. Однак, існують сценарії, коли ви можете зацікавити збільшення його, наприклад, якщо ваша мережа відключається, а ASF працює дуже скоро, що змушує примусово пройти процедуру повторного підключення. We allow a maximum value of 255
for this property, which should be enough for all common scenarios. In addition to the above, it's also possible to decrease the delay, or even remove it entirely with a value of 0
, although that is usually not recommended due to reasons stated above. Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 0
. Цей параметр визначає режим оптимізації, якого дотримується ASF протягом роботи. Наразі ASF підтримує два режими - 0
під назвою MaxPerformance
(максимальна продуктивність), та 1
під назвою MinMemoryUsage
(мінімальне вживання пам'яті). За замовчуванням ASF намагається робити якнайбільше задач паралельно (одночасно), що підвищує продуктивність через балансування навантаження на усіх ядрах ЦП, декількох потоках ЦП, декількох сокетах та декількох задачах пула потоків. Наприклад, ASF буде запитувати на вашу першу сторінку з значками при перевірці ігор на фарму, а потім, як тільки відбудеться запит, ASF буде читати з нього скільки сторінок зі значками ви насправді, запитувати один одного в даний момент. Це саме те що вам потрібно у більшості випадків, тому що накладні витрати мінімальні а переваги від асинхронного коду ASF помітні навіть на дуже старому обладнанні з єдиним ядром ЦП та обмеженою потужністю. Однак, при роботі багатьох процесів паралельно, ASF має займатися їх підтримкою, тобто, підтримувати відкриті сокети, живі потоки та задачі, що іноді може призвести до збільшення вживання пам'яті, тож якщо ви надзвичайно обмежені обсягом пам'яті у наявності, ви можете змінити значення цього параметра на 1
(MinMemoryUsage
), щоб змусити ASF використовувати якнайменше задач, і виконувати асинхронний код, який зазвичай виконується паралельно, у синхронний манір. You should consider switching this property only if you previously read low-memory setup and you intentionally want to sacrifice gigantic performance boost, for a very small memory overhead decrease. Usually this option is much worse than what you can achieve with other possible ways, such as by limiting your ASF usage or tuning runtime's garbage collector, as explained in low-memory setup. Therefore, you should use MinMemoryUsage
as a last resort, right before runtime recompilation, if you couldn't achieve satisfying results with other (much better) options. Unless you have a strong reason to edit this property, you should keep it at default.
параметр типу ImmutableHashSet<string>
з пустим значенням за замовчуванням. This property defines list of plugin assembly names that are either blacklisted or whitelisted for being considered for automatic updates, as per PluginsUpdateMode
defined below.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 0
. Цей параметр визначає режим оновлення плагінів, який надає значення PluginsUpdateList
визначений вище. Якщо вказати цю властивість, можна легко увімкнути / вимкнути автоматичне оновлення для всіх плагінів, крім тих, що оголошені.
- Value of
0
, calledWhitelist
, disables automatic update of all plugins, except those defined inPluginsUpdateList
. - Value of
1
, calledBlacklist
, enables automatic update of all plugins, except those defined inPluginsUpdateList
.
ASF команда хотіла б нагадати вам, що для вашої власної безпеки, ви маєте увімкнути автоматичні оновлення лише від довірених осіб до. Keep in mind that malicious plugins can decide to update themselves or execute remote commands regardless of this setting, this is why this setting applies to ASF-provided plugins update functionality exclusively, and you should still ensure that you've appropriately verified every plugin that you've decided to use.
Updates of plugins are performed by default along with ASF update routine - UpdateChannel
and UpdatePeriod
. Standard ASF update mechanisms such as update
command will also trigger optional plugins update. If instead you'd like to update plugins manually without updating ASF version at the same time, updateplugins
command offers such possibility.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу bool
зі значенням за замовчуванням false
. Коли увімкнено, ASF спробує завершити процес за можливим, тобто коли усі ваші зареєстровані боти будуть зупинені. This can be especially useful when combined with ShutdownOnFarmingFinished
on all of your bot instances, since this way ASF will be allowed to automatically shutdown when the last one of your bots finishes farming.
Оскільки, очікування більшості користувачів в тому, що процес запускається постійно. . для використання IPC
, цей параметр вимкнено за замовчуванням.
параметр типу string
зі значенням за замовчуванням "/me"
. Цей параметр визначає префікс, який додаватиметься до усіх повідомлень Steam, які відправляє ASF. За замовчуванням ASF використовує префікс "/me "
, щоб повідомлення від ботів було легше відрізнити у чаті Steam за іншим кольором. Інша гарна можливість - це префікс "/pre "
, який дає подібний результат, але використовує інше форматування. Ви також можете встановити цьому параметру значення null
або порожній рядок, щоб цілком вимкнути будь-які префікси та відображати повідомлення від ASF як звичайні. Варто додати, що цей параметр впливає лише на повідомлення у Steam - відповіді, отримані у інший спосіб (наприклад крізь IPC) не змінюються. Якщо ви не хочете змінювати стандартну поведінку ASF - варто залишити його значення за замовчуванням.
ulong
type з стандартним значенням 0
. Цей параметр визначає Steam ID у 64-бітній формі власника процеса ASF, і дуже схоже на Master
дозвіл на даний бот (але натомість глобальний). Ви майже завжди хочете встановити цю властивість для особистого запису Steam. Головний
дозвіл включає в себе повний контроль над його екземпляром бота, але глобальні команди, такі як вихід
перезапустити
або оновлення
зарезервовано для SteamOwnerID
. This is convenient, as you may want to run bots for your friends, while not allowing them to control ASF process, such as exiting it via exit
command. Значення за замовчуванням 0
вказує, що немає власника процесу ASF, що означає, що ніхто не зможе видавати глобальні команди ASF. Майте на увазі, що ця властивість застосовується виключно до чату Steam. IPC, as well as interactive console, will still allow you to execute Owner
commands even if this property is not set.
байт прапорці
тип зі значенням за замовчуванням 7
. Цей параметр визначає протокол Steam, які ASF буде використовувати при підключенні до Steam серверів, які визначені як показано нижче:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не обрано | No protocol |
1 | TCP | Протокол керування Transmission |
2 | UDP | Протокол даних користувача |
4 | Веб-сокет | Веб-сокет |
Please notice that this property is flags
field, therefore it's possible to choose any combination of available values. Погляньте на json зіставлення якщо ви бажаєте дізнатися більше. Not enabling any of flags results in None
option, and that option is invalid by itself.
За замовчанням ASF буде використовувати усі доступні Steam протоколи як захід боротьби зі зменшенням та іншими подібними проблемами Steam. Зазвичай ви бажаєте змінити цю властивість, якщо ви бажаєте встановити ASF за допомогою лише одного або двох конкретного протоколу. Такі заходи можуть бути потрібні в різних ситуаціях, Наприклад, якщо ви заблокували UDP-трафік на брандмауер і впевнені, що через нього проходиться лише TCP-трафік, або якщо ви використовуєте WebProxy
та хочете його використовувати для підключення до клієнтів Steam, як тільки протокол WebSocket
підтримує це.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 1
. This property defines update channel which is being used, either for auto-updates (if UpdatePeriod
is greater than 0
), or update notifications (otherwise). На даний час ASF підтримує три оновлення - 0
, що називається None
, 1
він називається стабільний
, та 2
, це називається Преслен
. Канал стабільної
- це канал випуску за замовчуванням, який повинна використовуватися більшістю користувачів. PreRelease
channel in addition to Stable
releases, also includes pre-releases dedicated for advanced users and other developers in order to test new features, confirm bugfixes or give feedback about planned enhancements. Версія PreRelease часто містить непропатчені помилки, функції робочого процесу або переписані реалізація. If you don't consider yourself advanced user, please stay with default 1
(Stable
) update channel. Канал PreRelease
присвячений користувачам, які знають як повідомити про помилки, боротьба з проблемами та відгуком - технічна підтримка не надається. Подивись цикл випуску ASF якщо ви бажаєте дізнатись більше. Також ви можете встановити UpdateChannel
в 0
(None
), якщо ви хочете повністю видалити всі перевірки версії. Setting UpdateChannel
to 0
will entirely disable entire functionality related to updates, including update
command. Using None
channel is strongly discouraged due to exposing yourself to all sort of problems (mentioned in UpdatePeriod
description below).
Unless you know what you're doing, we strongly recommend to keep it at default.
параметр типу byte
зі значенням за замовчуванням 24
. Цей параметр визначає, як часто ASF слід перевіряти автоматичне оновлення. Оновлення мають вирішальне значення не тільки для отримання нових функцій і критичних патчів безпеки, але й для отримання помилок, підвищення продуктивності, покращення стабільності та багато іншого. When a value greater than 0
is set, ASF will automatically download, replace, and restart itself (if AutoRestart
permits) when new update is available. Для того, щоб цього досягти, ASF буде перевіряти кожен UpdatePeriod
годин, якщо доступне нове оновлення на нашому репозиторії на GitHub. Значення 0
вимикає автооновлення, але все ще дозволяє виконати команду оновіть
вручну. You may also be interested in setting appropriate UpdateChannel
that UpdatePeriod
should follow.
Update process of ASF involves update of entire folder structure that ASF is using, but without touching your own configs or databases located in config
directory - this means that any extra files unrelated to ASF in its directory can be lost during update. Default value of 24
is a good balance between unnecessary checks, and ASF that is fresh enough.
Unless you have a strong reason to disable this feature, you should keep auto-updates enabled within reasonable UpdatePeriod
for your own good. Це не тільки тому, що ми не підтримуємо новіший стабільний випуск ASF, але також тому, що ми даємо гарантію безпеки тільки для найновішої версії. If you're using outdated ASF version then you're intentionally exposing yourself to all kind of issues, from small bugs, through broken functionality, ending with permanent Steam account suspensions, so we strongly recommend, for your own good, to always ensure that your ASF version is up to date. Автооновлення дозволяють нам швидко реагувати на всі проблеми шляхом відключення або спрямування проблемного коду перед її збільшенням - якщо ви відмовитеся від неї, ви втратите всі наші гарантії безпеки та наслідки ризику від виконання коду, які можуть бути потенційно шкідливими, не тільки для мережі Steam, але і (по визначенню) для облікового запису Steam.
ushort
type with default value of 300
. Цей параметр визначає, як мінімальна кількість затримок між відправленням двох повідомлень до одного веб-сервісу Steam. Such delay is required as AkamaiGhost service that Steam uses internally includes rate-limiting based on global number of requests sent across given time period. В звичайних обставинах блок akamai досить важко досягти, але під дуже важким робочим навантаженням при величезній постійній черзі запитів, це можливо запустити його, якщо ми продовжимо відправляти дуже багато запитів за дуже короткий проміжок часу.
Значення за замовчуванням було визначено на основі припущення, що ASF це єдиний інструмент доступу до веб-сервісів Steam, саме steamcommunity. om
, api.steampowered.com
і store.steampowered.com
. If you're using other tools sending requests to the same web-services then you should make sure that your tool includes similar functionality of WebLimiterDelay
and set both to double of default value, which would be 600
. This guarantees that under no circumstance you'll exceed sending more than 1 request per 300
ms.
In general, lowering WebLimiterDelay
under default value is strongly discouraged as it could lead to various IP-related blocks, some of which are possible to be permanent. Значення за замовчуванням достатньо добре для роботи одного екземпляра ASF на сервері, а також у випадковому сценарії, а також у оригінальному клієнті Steam. Воно має бути правильним для більшості потреб і вам потрібно лише збільшити його (ніколи не менше). In short, global number of all requests sent from a single IP to a single Steam domain should never exceed more than 1 request per 300
ms.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає веб-проксі-адресу, яка буде використовуватися для внутрішнього зв'язку, пов'язаного з http, особливо для сервісів, таких як github. om
, api.steampowered.com
, steamcommunity.com
and store.steampowered.com
. It applies to general (non-bot specific) communication, as well as bot-specific communication if their equivalent WebProxy
configuration property is not set. Проксіювання запитів ASF може бути виключно корисним для обходу різноманітних видів брандмауерів, особливо великого брандмауера в Китаї.
Ця властивість визначена як рядок URI:
URI рядок складається з схеми (підтримується: http/https/socks4/socks4a/socks5), хосту та не обов'язковий порт. Приклад повноцінного рядка uri
"http://contoso.com:8080"
.
Якщо ваш проксі-сервер вимагає аутентифікацію користувача, вам також потрібно встановити WebProxyІм'я
та/або WebProxyPassword
. Якщо такого не потрібно, створити лише цю власність достатньо.
If you require proxying internal Steam network communication (CMs) as well, then you should ensure to configure SteamProtocols
bot's property to a value that allows only websocket transport, i.e. a value of 4
, as only websockets are supported for proxying.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає поле пароля, що використовується в основному, цифровому форматі, NTLM, і автентифікація Kerberos яка підтримується цільовим WebProxy
машиною, що забезпечує функції проксі-серверів. Якщо ваш проксі-сервер не вимагає облікових даних, немає необхідності нічого вводити тут. Використання даної опції має сенс лише в тому випадку, якщо WebProxy
також використовується як у системі, так і в іншому випадку.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає поле ім'я користувача, що використовується в основному, цифровому форматі, NTLM, і автентифікація Kerberos яка підтримується цільовим WebProxy
машиною, що забезпечує функції проксі-серверів. Якщо ваш проксі-сервер не вимагає облікових даних, немає необхідності нічого вводити тут. Використання даної опції має сенс лише в тому випадку, якщо WebProxy
також використовується як у системі, так і в іншому випадку.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
Як ви вже повинні знати, кожен бот повинен мати власну конфігурацію, засновану на прикладі структури JSON нижче. Почніть від рішення того, як ви хочете назвати бота (наприклад, 1.json
, main. son
, primary.json
або AnythingElse.json
) і прямуйте до конфігурації в сторону.
Notice: Bot can't be named ASF
(as that keyword is reserved for global config), ASF will also ignore all configuration files starting with a dot.
Налаштування бота має наступну структуру:
{
"Прийнятні Gifts": false,
"Ботбогавіур": 0,
"CompleteTypesToSend": [],
"CustomGamePlayedWhileFarming": нуль,
"CustomGamePlayedWhileIdle": null,
"Увімкнено": false,
"FarmingOrders": [],
"FarmingPreferences": 0,
"GamesPlayedWhileIdle": [],
"HoursUntilCards": 3,
"Віртуальні типи": [1, 3, 5],
"Матеріальні типи": [5],
"OnlineFlags": 0,
"OnlinePreferences": 0,
"OnlineStatus": 1,
"Формат-пароль": 0,
"Дослідити налаштування": 0,
"RemoteCommunication": 3,
"SendTradePeriod": 0,
"SteamLogin": null,
"SteamMasterClanID": 0,
"SteamParentalCode": null,
"SteamPassword": null,
"SteamTradeToken": null,
"SteamUserPermissions": {},
"TradeCheckPeriod": 60,
"Традиції переваги": 0,
"Передача потужних типів": [1, 3, 5],
"UseLoginKeys": true,
"UserInterfaceMode": 0,
"WebProxy": null,
"WebProxyPassword": null,
"WebProxyUsername": null
}
Усі параметри описані нижче:
параметр типу bool
зі значенням за замовчуванням false
. Коли увімкнено, ASF автоматично прийме та викупить всі подарункові картки (включаючи подарунки гаманця), надіслані боту. Це включає також подарунки, які відправляються від користувачів, окрім даних, визначених у SteamUserPermissions
. Майте на увазі, що подарунки, які надсилаються на адресу електронної пошти, не пересилаються клієнту, щоб ASF не приймав їх, без вашої допомоги.
Цей параметр рекомендується тільки для облікових записів, як дуже ймовірно, що ви не хочете автоматично викупити всі подарунки, відправлені на основний обліковий запис. Якщо ви не впевнені, чи хочете ця функція ввімкненою, то залиште їй значення за замовчуванням false
.
прапорці
тип з значенням за замовчуванням 0
. Цей параметр визначає поведінку бота ASF під час різних подій і визначається нижче:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не обрано | Не має спеціальної поведінки бота, заслуговувати на стандартні налаштування |
1 | Відхилити запрошення для друзів | Це призведе до того, що ASF буде відхилити (замість незнання) некоректні запрошення друзів |
2 | Відхилити Інвалідтрайдс | Це призведе до того, що ASF буде відхилити (замість незнання) невірні торгові пропозиції |
4 | Відхилити запрошення до групи | Це призведе до того, що ASF буде відхилити (замість незнання) запрошує до неправої групи |
8 | Сповіщення сховищ | Це призведе до того, що ASF автоматично очистить усі сповіщення з інвентарю |
16 | MarkReceivedMessagesAsRead | Це змусить ASF автоматично позначити всі отримані повідомлення як прочитані |
32 | MarkBotMessagesAsRead | Це призведе до того, що ASF автоматично позначити повідомлення від інших ботів ASF (запущено в тому ж екземплярі), що й читання |
64 | Вимкнення IncomingTradesParsing | Це призведе до того, що ASF ніколи не буде обробляти вхідні пропозиції обміну |
Please notice that this property is flags
field, therefore it's possible to choose any combination of available values. Погляньте на json зіставлення якщо ви бажаєте дізнатися більше. Not enabling any of flags results in None
option.
Загалом, ви хочете змінити цей параметр, якщо ви очікуєте змінити різні параметри автоматизації, пов'язані з активністю бота. Параметри за замовчуванням використовуються ASF у неінвазивному режимі, що забезпечує лише корисну для автоматизації, яка не відповідає бажанню користувача.
Invalid friend invite is an invite that doesn't come from user with FamilySharing
permission (defined in SteamUserPermissions
) or above. ASF у звичайному режимі ігнорує запрошення оскільки ви очікуєте, що ви маєте безкоштовний вибір, щоб прийняти їх чи ні. Відхилити довірчих запрошень
призведе до того, що ці запрошені будуть автоматично відхилені, які практично вимкнуть можливість для інших людей додати вас до списку друзів (як ASF буде заперечувати всі такі запити, крім тих, що зазначені в SteamUserPermissions
). Якщо ви не хочете відвернути запрошення всіх друзів, ви не повинні використовувати цю опцію.
Некоректна пропозиція торгівлі - це пропозиція, яка не прийнята через вбудований модуль ASF. More on this matter can be found in trading section which explicitly defines what types of trade ASF is willing to accept automatically. Допустимі угоди також визначаються іншими параметрами, особливо торгові налаштування
. RejectInvalidTrades
призведе до того, що всі неприпустимі торгові пропозиції будуть відхилені, замість того, щоб ігноруватися. Якщо ви не хочете повністю відхилити усі торгові пропозиції, які не є автоматично прийняті ASF, ви не повинні дозволяти цей варіант.
Invalid group invite is an invite that doesn't come from SteamMasterClanID
group. ASF у звичайному режимі ігнорує запрошення до групи, оскільки ви очікуєте, дозволяючи вам вирішувати, якщо ви хочете приєднатися до певної групи Steam, чи ні. Запрошення до групи RejectInvalidGroup
призведе до автоматичного відхилення, фактично дозволяючи вам запрошувати в будь-яку іншу групу, ніж SteamMasterClanID
. Якщо ви не бажаєте відвернути запрошення до групи, ви не повинні вмикати цю опцію.
DismissoryNotifications
є надзвичайно корисним, коли ви починаєте дратувати сповіщення постійним Steam про отримання нових записів. ASF не може позбавитися від сповіщення, як це вбудовано у ваш клієнт Steam, але він може автоматично очистити сповіщення після його отримання, що більше не залишить "нових предметів в інвентарі" повідомленням, що його блимають. Якщо ви плануєте оцінити себе всі отримані речі (особливо картки, що оброблені ASF), то природно вам не слід використовувати цю опцію. Коли починаєш говорити з розуму, запам'ятайте, що це пропонується в якості варіанту.
MarkReceivedMessagesAsRead
will automatically mark all messages being received by the account on which ASF is running, both private and group, as read. Це зазвичай слід використовувати лише для того, щоб очистити сповіщення "нове повідомлення", наприклад, від вас під час виконання команд ASF. We do not recommend this option for primary accounts, unless you want to cut yourself from any kind of new messages notifications, including those that happened while you were offline, assuming that ASF was still left open dismissing it.
MarkBotMessagesAsRead
працює аналогічно, позначаючи лише повідомлення бота як прочитані. However, keep in mind that when using that option on group chats with your bots and other people, Steam implementation of acknowledging chat message also acknowledges all messages that happened before the one you decided to mark, so if by any chance you don't want to miss unrelated message that happened in-between, you typically want to avoid using this feature. Очевидно, що вона також ризикована, коли ви маєте кілька основних облікових записів (наприклад, від різних користувачів) працюють у тому ж екземплярі ASF, бо ви також можете пропустити їх звичайні повідомлення з ASF.
Безпрацездатна IncomingTradesParsing
не дозволить ASF при розборі пропозицій щодо торгівлі, це означає, що вся торгова функція, пов'язана з цим, не працюватиме, і не працює. Оскільки ASF працює в найменш інвазивному режимі, за замовчуванням, прийнявши тільки пропозиції угоди від Головний
користувачів і вище ніколи не торкаючись інших торгових пропозицій - вхідний аналіз за замовчуванням включений по замовчуванню. Цей параметр має найбільш сенс для людей, які не мають додаткових запитів/накладних вимог, пов'язаних з розрахунками, відключенням усієї логіки в процесі, наприклад, тому що вони знають, що їхні боти ніколи не будуть отримувати запити на головну торгівлю, і тому не вимагають участі ASF у їх торговельній активності. Майте на увазі, що встановивши цей параметр, вимкне всі інші варіанти, які залежать від вхідних договорів, наприклад Прийнятні пожертвування
або SteamTradeMatcher
- користувацькі плагіни також не в змозі обробити вхідні пропозиції з торгівлею.
Якщо ви не впевнені як налаштувати цю опцію, краще залишити її за замовчуванням.
параметр типу ImmutableHashSet<byte>
з пустим значенням за замовчуванням. When ASF is done with completing a given set of item types specified here, it can automatically send steam trade with all finished sets to the user with Master
permission, which is very convenient if you'd like to utilize given bot account for e.g. STM matching, while moving finished sets to some other account. Ця функція працює так само як і команда loot
, тож майте на увазі, що вона потребує користувача з набором дозволів рівня Master
, вам також може знадобитися як дійсний SteamTradeToken
, так і обліковий запис із розблокованою можливістю обмінів.
На сьогоднішній день, в цьому параметрі підтримуються наступні типи товарів:
Цінність | Ім'я | Опис |
---|---|---|
3 | FoilTradingCard | Foil variant of TradingCard
|
5 | TradingCard | Торгівельна карта пару, використовується для створення значків (не фоль) |
Будь ласка, зверніть увагу, що незалежно від наведених вище налаштувань, ASF буде запитувати лише пунктів Steam (appID
з 753, contextID
із 6), так що всі ігрові предмети, подарунки і так само виключаються з пропозиції торгівлі за визначенням.
Due to additional overhead of using this option, it's recommended to use it only on bot accounts that have a realistic chance of finishing sets on their own - for example, it makes no sense to activate if you're already using SendOnFarmingFinished
preference in FarmingPreferences
, SendTradePeriod
or loot
command on usual basis.
Якщо ви не впевнені як налаштувати цю опцію, краще залишити її за замовчуванням.
параметр типу string
зі значенням за замовчуванням null
. When ASF is farming, it can display itself as "Playing non-steam game: CustomGamePlayedWhileFarming
" instead of currently farmed game. This can be useful if you would like to let your friends know that you're farming, yet you don't want to use OnlineStatus
of Offline
. Будь ласка, зверніть увагу, що ASF не може гарантувати актуальний порядок відображення мережі Steam, тому це тільки пропозиція, яка може бути, або не може відображати належним чином. In particular, custom name will not display in Complex
farming algorithm if ASF fills all 32
slots with games requiring hours to be bumped. Значення за замовчуванням null
вимикає цю функцію.
ASF надає кілька спеціальних змінних, які ви можете за бажанням використовувати у вашому тексті. {0}
will be replaced by ASF with AppID
of currently farmed game(s), while {1}
will be replaced by ASF with GameName
of currently farmed game(s).
параметр типу string
зі значенням за замовчуванням null
. Similar to CustomGamePlayedWhileFarming
, but for the situation when ASF has nothing to do (as account is fully farmed). Будь ласка, зверніть увагу, що ASF не може гарантувати актуальний порядок відображення мережі Steam, тому це тільки пропозиція, яка може бути, або не може відображати належним чином. If you're using GamesPlayedWhileIdle
together with this option, then keep in mind that GamesPlayedWhileIdle
get priority, therefore you can't declare more than 31
of them, as otherwise CustomGamePlayedWhileIdle
will not be able to occupy the slot for custom name. Значення за замовчуванням null
вимикає цю функцію.
параметр типу bool
зі значенням за замовчуванням false
. Цей параметр визначає, чи бот включений. Увімкнений екземпляр бота (true
) буде автоматично запущено в ASF, коли відключений екземпляр бота (false
) повинен бути запущений вручну. By default every bot is disabled, so you probably want to switch this property to true
for all of your bots that should be started automatically.
Незмінний список<byte>
тип з пустим значенням за промовчанням. This property defines the preferred farming order used by ASF for given bot account. В даний час доступні наступні замовлення на ферму:
Цінність | Ім'я | Опис |
---|---|---|
0 | Без упорядкування | Немає сортування, трохи поліпшити продуктивність процесора |
1 | Додаток за зростанням | Спершу спробуй фермерські ігри з найменшим appIDs
|
2 | Додаток за спаданням | Спершу спробуйте фермерські ігри з найвищим appIDs
|
3 | Скидання карти за зростанням | Спробуйте фермерські ігри з найменшою кількістю випадань |
4 | Випадаючий розмір картки за спаданням | Спробуйте фермерські ігри з найбільшою кількістю випадань |
5 | Годинний за зростанням | Спробуйте спочатку фермерські ігри з найменшою кількістю годин зіграних |
6 | Годинник за спаданням | Спробуйте фермерські ігри з найбільшою кількістю годин зіграних в першу чергу |
7 | Найменування імен | Спробуйте фермерські ігри за алфавітом починаючи від А |
8 | По іменах | Спробуйте фермерські ігри за алфавітом починаючи з Z |
9 | Випадковий | Спробуйте сільськогосподарські ігри по абсолютно випадковому порядку (різні на кожному етапі програми) |
10 | Баджелевелсза зростанням | Спочатку спробуйте фермерські ігри з найнижчими рівнями |
11 | Беджелевс за спаданням | Спробуйте фермерські ігри з найвищими рівнями |
12 | Повторити час зйомки | Спробуйте спочатку фермерити найстаріші ігри з нашого облікового запису |
13 | Зменшення часу RedeemDateTimesending | Спробуйте спочатку сільськогосподарські нові ігри з нашого облікового запису |
14 | За зростанням | Спробуйте спочатку фермерські ігри з немаркетинговими картками |
15 | За спаданням | Спробуйте спочатку фермерські ігри з ринковими картками |
Оскільки ця властивість є масивом, вона дозволяє використовувати декілька різних параметрів у вашому фіксованому порядку. For example, you can include values of 15
, 11
and 7
in order to sort by marketable games first, then by those with highest badge level, and finally alphabetically. As you can guess, the order actually matters, as reverse one (7
, 11
and 15
) achieves something entirely different (sorts games alphabetically first, and due to game names being unique, the other two are effectively useless). Більшість людей ймовірно буде використовувати лише одне замовлення з усіх них, але у випадку, якщо ви хочете, ви також зможете відсортувати далі за додатковими параметрами.
Also notice the word "try" in all above descriptions - the actual ASF order is heavily affected by selected cards farming algorithm and sorting will affect only results that ASF considers same performance-wise. For example, in Simple
algorithm, selected FarmingOrders
should be entirely respected in current farming session (as every game has the same performance value), while in Complex
algorithm actual order is affected by hours first, and then sorted according to chosen FarmingOrders
. This will lead to different results, as games with existing playtime will have a priority over others, so effectively ASF will prefer games that already passed required HoursUntilCardDrops
firstly, and only then sorting those games further by your chosen FarmingOrders
. Так само, як тільки ASF вже завершується з уже встановленими іграми, Це сортувати чергу на години спочатку (наприклад, що зменшить час, необхідний для завантаження будь-яких назв HoursUntilCardDrops
). Therefore, this config property is only a suggestion that ASF will try to respect, as long as it doesn't affect performance negatively (in this case, ASF will always prefer farming performance over FarmingOrders
).
There is also farming priority queue that is accessible through fq
commands. Якщо він використовується, фактичний порядок землеробства сортується по-перше, а потім в фермерській черзі, і нарешті вашою FarmingOrders
.
прапорці
тип з значенням за замовчуванням 0
. Цей параметр визначає поведінку ASF, пов'язану з фармом, а цей параметр визначається нижче:
Цінність | Ім'я |
---|---|
0 | Не обрано |
1 | FarmingPausedByDefault |
2 | ShutdownOnFarmingingFinished |
4 | SendOnFarminging Завершено |
8 | Тільки Ферм-пріорітеті |
16 | Прогресні Ігри |
32 | Грати у пропущені |
64 | Увімкнено RiskyCardsDiscovery |
256 | AutoUnpackBoosterPacks |
Please notice that this property is flags
field, therefore it's possible to choose any combination of available values. Погляньте на json зіставлення якщо ви бажаєте дізнатися більше. Not enabling any of flags results in None
option.
Всі варіанти є описані нижче.
FarmingPausedByDefault
визначає початковий стан модуля CardsFarmer
. Normally bot will automatically start farming when it's started, either because of Enabled
or start
command. Using FarmingPausedByDefault
can be used if you want to manually resume
automatic farming process, for example because you want to use play
all the time and never use automatic CardsFarmer
module - this works exactly the same as pause
command.
ShutdownOnFarmingFinished
allows you to shutdown bot once it's done farming. Зазвичай ASF "Займається" обліковий запис протягом цілого часу, коли процес вже активний. Коли заданий обліковий запис виконується за допомогою фарму, періодично вона перевіряє (кожен IdleFarmingPeriod
годин), якщо, можливо, додавались нові ігри з паровими картами тим часом, так що це може відновити фермерство цього облікового запису без необхідності перезавантаження процесу. Це корисно для більшості людей, бо ASF може автоматично продовжити фермерство, якщо потрібно. Однак, ви дійсно можете зупинити процес коли перебуваєте в повному обсязі фермерських установок, ви можете досягти цього, використовуючи цей прапор. При включенні, ASF буде оброблятися при реєстрації на повному обсязі доступу до облікового запису, це означає, що періодично не перевіряється чи зайнято більше. Ви маєте самі вирішувати, якщо ви надаєте перевагу ASF працювати над даним ботом весь час, або якщо можливо, ASF має припинити це під час роботи над процесом фармування.
Ця опція має найбільш сенс поєднуватися з ShutdownIfPossible
так що, коли всі облікові записи будуть зупинені, ASF також буде зупинено, ваша машина відпочиває і дозволяє вам запланувати інші дії, такі як сон або завершення роботи в той же момент коли остання карта занепадає.
SendOnFarmingFinished
allows you to automatically send steam trade containing everything farmed up to this point to user with Master
permission, which is very convenient if you don't want to bother with trades yourself. Ця функція працює так само як і команда loot
, тож майте на увазі, що вона потребує користувача з набором дозволів рівня Master
, вам також може знадобитися як дійсний SteamTradeToken
, так і обліковий запис із розблокованою можливістю обмінів. Окрім запуску loot
після закінчення фарму, якщо ця функція активна, ASF також запускатиме loot
після кожного сповіщення про новий предмет (якщо фарм призупинено), і після кожного обміну, котрий призводить до появи нових предметів (завжди). Це особливо корисно для переадресації предметів, отриманих від інших людей, на наш обліковий запис. Зазвичай вам потрібно використовувати ASF 2FA разом із цією функцією, хоча це не є обов'язковою вимогою, якщо ви маєте намір своєчасно обробляти запити 2FA вручну.
FarmPriorityQueueOnly
defines if ASF should consider for automatic farming only apps that you added yourself to priority farming queue available with fq
commands. Коли цей параметр включений, ASF буде пропустити всі appIDs
, які відсутні у списку, ефективно дозволяє вам автоматичні фарби ASF на cherry-pick ігри. Майте на увазі, що якщо ви не додали ні однієї з ігор до черги, то ASF буде працювати так, як якщо немає чого робити у вашому обліковому записі.
SkipRefundableGames
defines if ASF should skip games that are still refundable from automatic farming. Скромна гра - це гра з якою ви придбали протягом 2 тижнів через магазин Steam і ще не грали довше 2 години, як вказано на Steam повертає сторінки. За замовчуванням, ASF ігнорує повністю відшкодування політики Steam і повністю обробляє все, тому що очікують більшість людей. Однак, ви можете використовувати цей прапорець, якщо ви захочете переконатися, що ASF також не буде обробляти повернуті ігри, дозволяйте вам самостійно оцінювати ці ігри та повертати їх за необхідністю, не турбуючись про те, що ASF негативно впливає на ігровий час. Будь ласка, зверніть увагу, якщо ви увімкнете цей параметр, усі ігри, які ви придбали у Steam Store, ASF не буде оброблено до 14 днів з моменту активування, який нічого не буде показано на фермі, якщо ваш рахунок більше не володіє.
SkipUnplayedGames
визначає, чи повинен ASF пропустити ігри, які ви ще не запустили. В цьому контексті ви не зіграєте в гру - у вас точно немає ігрового часу для гри в Steam. Якщо ви використовуєте цей прапор, то такі ігри будуть пропущені, доки Steam не реєструє будь-який ігровий час для них. Це дозволяє вам краще контролювати, які ігри ASF мають право на фарму, тому пропускаючи те, чого ви ще не маєте шансів спробувати, збереження обраних функцій Steam кориснішим - наприклад, пропонованих ігор, які не можуть грати.
EnableRiskyCardsDiscovery
дозволяє додаткове резервування для роботи ASF, не в змозі завантажити одну або декілька сторінок зі значками, тому не в змозі знайти доступними ігри для фарму. Зокрема, деякі рахунки з великою кількістю крапель карток можуть спричинити ситуацію, коли завантаження сторінок значків більше неможливе (через накладні витрати), і ці обліковки є неможливою для фермерства, тому що ми не можемо завантажити інформацію, засновану на якій ми можемо розпочати процес. Для цих багатьох випадків цей параметр дозволяє використовувати альтернативний алгоритм, який використовує комбінацію підсилювачів можливо для створення і підсилювача пакетів облікового запису підходить для щоб знайти потенційно доступні ігри для бездіяльності, потім витрачати надмірну кількість ресурсів для підтвердження та отримання необхідної інформації, і спроба запуску процесу фермерства з обмеженою кількістю даних і інформації, щоб зрештою досягти ситуації, коли сторінка значків завантажується, і ми зможемо використовувати нормальний підхід. Будь ласка, зверніть увагу, що коли це резервне копіювання використовується, ASF працює лише з обмеженими даними, Отже, ASF має повністю нормальне знаходити менше крапель ніж в реальності - інші краплі будуть знайдені на більш пізньому етапі процесу фармування.
This option is called "risky" for a very good reason - it's extremely slow and requires significant amount of resources (including network requests) for operation, therefore it's not recommended to be enabled, and especially in long-term. Ви повині використовувати цей параметр тільки якщо ви раніше визначили що ваш обліковий запис не в змозі завантажити сторінки зі значками і ASF не може працювати з ним, завжди не в змозі завантажити необхідну інформацію для запуску процесу. Навіть якщо ми якнайкраще оптимізуємо процес як можливо, все ще можливо встановити резервне копіювання і це може спричинити небажані результати, наприклад тимчасові та, можливо, навіть постійні заборони зі сторони Steam для відправки забагато запитів і в іншому випадку спричиняючи накладні витрати на серверах Steam. Тому, ми попереджаємо вас заздалегідь, і ми пропонуємо цей варіант без жодних гарантій, ви використовуєте його на власний ризик.
Відповідь: AutoUnpackBoosterPacks
автоматично розпакує всі пакети booster після отримання сповіщення про нові елементи. This will allow you to immediately acquire additional card drops, which might be wanted scenario especially in combination with other options (e.g. SteamTradeMatcher
or CompleteTypesToSend
).
параметр типу ImmutableHashSet<uint>
з пустим значенням за замовчуванням. Якщо ASF не має нічого для фермерства, він може грати у ваші вказані steam ігри (appIDs
замість цього. Гра таким чином збільшує вашу "годину" в тих іграх, але нічого подібного. In order for this feature to work properly, your Steam account must own a valid license to all the appIDs
that you specify here, this includes F2P games as well. This feature can be enabled at the same time with CustomGamePlayedWhileIdle
in order to play your selected games while showing custom status in Steam network, but in this case, like in CustomGamePlayedWhileFarming
case, the actual display order is not guaranteed. Please note that Steam allows ASF to play only up to 32
appIDs
total, therefore you can put only as many games in this property.
параметр типу byte
зі значенням за замовчуванням 3
. Ця властивість визначає, чи рахунок має випадаючі картки обмежені, і якщо так, на скільки початкових годин. Restricted card drops means that account is not receiving any card drops from given game until the game is played for at least HoursUntilCardDrops
hours. На жаль, не існує чудесного способу виявити це, тому ASF покладається на вас. This property affects cards farming algorithm that will be used. Встановлення належного значення підвищує прибуток і мінімізує час, необхідний для ведення карт. Пам'ятайте, що немає очевидної відповіді, чи варто використовувати одне чи інше значення, так як це повністю залежить від вашого облікового запису. Схоже, старші акаунти, які ніколи не просили повернення грошей випадає необмежений кредит, тому вони повинні використовувати значення 0
, коли нові облікові записи і ті, хто попросив повернення грошових коштів, мають знижку вартості 3
. Однак це лише теорія, і не повинна приймати як правило. Значення за замовчанням для цієї властивості було визначено на основі "менше злих" і більшості випадків вжитку.
ImmutableHashSet<byte>
type with default value of 1, 3, 5
steam item types. This property defines ASF behaviour when looting - both manual, using a command, as well as automatic one, through one or more configuration properties. ASF буде забезпечувати лише об’єкти з `` включатимуться до пропозиції на угоду, Тому ця властивість дозволяє вибирати що ви хочете отримати в торговій пропозиції, яка надсилається вам.
Цінність | Ім'я | Опис |
---|---|---|
0 | Не вказано | Кожний тип, що не відповідає жодній з нижче |
1 | Прискорювач | Бустерний пакет що містить 3 випадкові карти |
2 | Смайлик | Смайлик використовувати в Steam Chat |
3 | FoilTradingCard | Foil variant of TradingCard
|
4 | Тло профілю | Фон профілю використовувати у вашому профілі Steam |
5 | TradingCard | Торгівельна карта пару, використовується для створення значків (не фоль) |
6 | SteamGems | Додані парові дорогоцінні камені, які використовуються для створення підсилювачів, включені |
7 | Салемет | Спеціальні товари, що надаються під час продажу у Steam |
8 | Витратний | Спеціальні предмети, що зникають після використання |
9 | Модифікатор профілю | Спеціальні елементи, які можуть змінити зовнішній вигляд профілю Steam |
10 | Наклейка | Спеціальні предмети, які можуть бути використані в чаті Steam |
11 | ChatEffect | Спеціальні предмети, які можуть бути використані в чаті Steam |
12 | Фон MiniProfileBackground | Особливе тло для профілю Steam |
13 | АватарПрофільний фрейм | Спеціальний аватар для профілю Steam |
14 | AnimatedAvatar | Спеціальний анімований аватар для профілю Steam |
15 | Тема клавіатури | Спеціальна шкіра клавіатури для колони Steam |
16 | СтартапВідео | Спеціальне відео для стартапу Steam |
Будь ласка, зверніть увагу, що незалежно від наведених вище налаштувань, ASF буде запитувати лише пунктів Steam (appID
з 753, contextID
із 6), так що всі ігрові предмети, подарунки і так само виключаються з пропозиції торгівлі за визначенням.
Налаштування ASF за замовчуванням базується на найбільш поширеному використанні бота, що лише завантажує пакети і торгівельні картки (включаючи фони). Властивість тут дозволяє змінити цю поведінку будь-яким способом, що задовольняє вас. Please keep in mind that all types not defined above will show as Unknown
type, which is especially important when Valve releases some new Steam item, that will be marked as Unknown
by ASF as well, until it's added here (in the future release). That's why in general it's not recommended to include Unknown
type in your LootableTypes
, unless you know what you're doing, and you also understand that ASF will send your entire inventory in a trade offer if Steam Network gets broken again and reports all your items as Unknown
. My strong suggestion is to not include Unknown
type in the LootableTypes
, even if you expect to loot everything (else).
ImmutableHashSet<byte>
type with default value of 5
Steam item types. This property defines which Steam item types are permitted to be matched when SteamTradeMatcher
option in TradingPreferences
is enabled. Типи визначені нижче:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не вказано | Кожний тип, що не відповідає жодній з нижче |
1 | Прискорювач | Бустерний пакет що містить 3 випадкові карти |
2 | Смайлик | Смайлик використовувати в Steam Chat |
3 | FoilTradingCard | Foil variant of TradingCard
|
4 | Тло профілю | Фон профілю використовувати у вашому профілі Steam |
5 | TradingCard | Торгівельна карта пару, використовується для створення значків (не фоль) |
6 | SteamGems | Додані парові дорогоцінні камені, які використовуються для створення підсилювачів, включені |
7 | Салемет | Спеціальні товари, що надаються під час продажу у Steam |
8 | Витратний | Спеціальні предмети, що зникають після використання |
9 | Модифікатор профілю | Спеціальні елементи, які можуть змінити зовнішній вигляд профілю Steam |
10 | Наклейка | Спеціальні предмети, які можуть бути використані в чаті Steam |
11 | ChatEffect | Спеціальні предмети, які можуть бути використані в чаті Steam |
12 | Фон MiniProfileBackground | Особливе тло для профілю Steam |
13 | АватарПрофільний фрейм | Спеціальний аватар для профілю Steam |
14 | AnimatedAvatar | Спеціальний анімований аватар для профілю Steam |
15 | Тема клавіатури | Спеціальна шкіра клавіатури для колони Steam |
16 | СтартапВідео | Спеціальне відео для стартапу Steam |
Звичайно, типи, які ви повинні використовувати для цього параметру зазвичай включають лише 2
, 3
, 4
і 5
, тому що тільки ці типи підтримуються STM. ASF має належну логіку для виявлення об"єктів, тому це також безпечно порівнювати смайли чи фон, оскільки ASF буде правильно розглядати лише ті елементи з тієї ж гри й надрукувати, які мають однаковий rarity.
Будь ласка, зверніть увагу, що ASF не є ботом торгівлі і не буде хвилюватися щодо ринкової ціни. Якщо ви не розглядаєте предмети такої ж рідності з того ж набору як та ж ціна, тоді цей варіант НЕ для Вас. Будь ласка, оцініть двічі, якщо ви зрозумієте і погодьтеся з цим твердженням, перш ніж ви вирішите змінити це налаштування.
Якщо ви не знаєте, що робите, вам варто залишити його значення за замовчуванням 5
.
прапорці
типу за замовчуванням 0
. This property works as supplement to OnlineStatus
and specifies additional online presence features announced to Steam network. Requires OnlineStatus
other than Offline
, and is defined as below:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не обрано | Немає спеціальних позначок присутності, за умовчанням |
256 | ClientTypeWeb | Клієнт використовує веб-інтерфейс |
512 | ClientTypeMobile | Клієнт використовує мобільний додаток |
1024 | ClientTypeTenfoot | Клієнт використовує велике зображення |
2048 | ClientTypeVR | Клієнт використовує гарнітуру VR |
Please notice that this property is flags
field, therefore it's possible to choose any combination of available values. Погляньте на json зіставлення якщо ви бажаєте дізнатися більше. Not enabling any of flags results in None
option.
Основний тип EPersonaStateFlag
на основі якого базується більше доступних прапорців, та все ж таки, до наших знань, якими вони не мали жодного ефекту, тому вони були вирішені задля видимості.
Якщо ви не впевнені, як встановити цей параметр, залиште йому значення за замовчуванням 0
.
прапорці
тип з значенням за замовчуванням 0
. Ця властивість може ввімкнути додаткові можливості онлайн на платформі Steam, і ця властивість визначається нижче:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не обрано | Немає особливих параметрів, за умовчанням |
1 | ІсSteamДек | Представити себе паровою палубою |
Please notice that this property is flags
field, therefore it's possible to choose any combination of available values. Погляньте на json зіставлення якщо ви бажаєте дізнатися більше. Not enabling any of flags results in None
option.
Якщо ви не впевнені, як встановити цей параметр, залиште йому значення за замовчуванням 0
.
параметр типу byte
зі значенням за замовчуванням 1
. Цей параметр вказує стан спільноти Steam, з яким бот буде повідомлений після входу в мережу Steam. В даний час ви можете вибрати один з наступних статусів:
Цінність | Ім'я |
---|---|
0 | Офлайн |
1 | Онлайн |
2 | Зайнятий |
3 | Відійшов |
4 | Повторити |
5 | Пошук торгівлі |
6 | Гра при перегляді |
7 | Невидимий |
Оффлайн
статус є надзвичайно корисним для первинних акаунтів. Як ви повинні знати, фермерство гри насправді показує стан пар як "Відтворюється в грі: XXX", які можуть вводити в оману ваших друзів, плутайте їх, що ви граєте в гру лише під час гри. Використання Оффлайн
вирішує цю проблему - ваш обліковий запис ніколи не буде показано як "внутрішньоігрові" коли ви фармуєте картки steam з ASF. Це можливо завдяки тому, що ASF не мусить заходити у Steam Community для правильної роботи, отже, ми фактично граємо в ці ігри, підключені до мережі Steam, але не оголошуючи нашу присутність взагалі. Майте на увазі, що ігри у яких грають в офлайн статус, та позначте їх як "недавно відтворено" у вашому профілі.
На додаток до цього, ця функція є також важливою, якщо ви хочете отримувати сповіщення та непрочитані повідомлення коли ASF запущено, поки ви не тримаєте клієнта Steam відкритим одночасно. Це тому, що ASF працює як клієнт Steam, а ASF хоче це чи ні, Steam транслює всі ці повідомлення та інші події до нього. Це не проблема, якщо у вас є і ваш власний клієнт Steam, тому що обидва клієнти отримують однакові події. Проте, якщо ASF запущено, мережа Steam може позначити певні події та повідомлення як "виконані", Незважаючи на традиційний клієнт Steam, не отримує його через відсутність наявності. Оффлайн статус також вирішує цю проблему, бо ASF ніколи не розглядається за будь-які події спільноти у такому випадку, всі непрочитані повідомлення та інші події будуть коректно позначені як непрочитані після повернення.
It's important to note that ASF running on Offline
mode will not be able to receive commands in usual Steam chat way, as the chat, as well as entire community presence is in fact, entirely offline. A solution to this issue is using Invisible
mode instead which works in a similar way (not exposing status), but keeps the ability to receive and respond to messages (so also a potential to dismiss notifications and unread messages as stated above). Режим Невидимого
має найбільш сенс в облікових записах соти, які ви не хочете виводити (його статус-мудро), але в змозі надсилати команди.
However, there is one catch with Invisible
mode - it doesn't go well with primary accounts. This is because any Steam session that is currently online exposes the status, even if ASF itself does not. This is caused by the current limitation/bug of the Steam network that isn't possible to be fixed on ASF side, so if you want to use Invisible
mode you will also need to ensure that all other sessions to the same account use Invisible
mode as well. This will be the case on alt accounts where ASF is hopefully the only active session, but on primary accounts you'll almost always prefer to show as Online
to your friends, hiding only ASF activity, and in this case Invisible
mode will be entirely useless for you (we recommend to use Offline
mode instead). Сподіваюся, це обмеження/помилка в майбутньому буде розпочато в майбутньому від Valve, але я б не очікував, що це станеться найближчим часом...
If you're unsure how to set up this property, it's recommended to use a value of 0
(Offline
) for primary accounts, and default 1
(Online
) otherwise.
byte
type with default value of 0
(PlainText
). This property defines the format of SteamPassword
property, and currently supports values specified in the security section. You should follow the instructions specified there, as you'll need to ensure that SteamPassword
property indeed includes password in matching PasswordFormat
. In other words, when you change PasswordFormat
then your SteamPassword
should be already in that format, not just aiming to be. Unless you know what you're doing, you should keep it with default value of 0
.
If you decide to change PasswordFormat
of a bot that has already logged in to Steam network at least once, it's possible that you'll get one-time decrypt error on the next bot's start - this is caused by the fact that PasswordFormat
is also used in regards to automatic encryption/decryption of sensitive properties in Bot.db
database file. Ви можете спокійно ігнорувати цю помилку, тому що ASF зможе самостійно відновитись з цієї ситуації. Якщо це відбувається на постійній основі, наприклад, кожен перезапуск, слід дослідити.
прапорці
тип з значенням за замовчуванням 0
. Цей параметр визначає поведінку ASF при вивільненні ключів cd-keys, і визначається нижче:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не обрано | Немає спеціальних переваг, типові |
1 | Пересилка | Коди відправлення недоступні, щоб обміняти на інших ботів |
2 | Розподілення | Розподілити всі ключі самої та інших ботів |
4 | Неігрові події | Тримайте ключі для (потенціало) відсутні ігри при переадресації, залишивши їх невикористані |
8 | AssumeWalletKeyOnBadActivationCode | Припустимо, що ключі BadActivationCode дорівнюють CannotRedemCodeFromClient і тому спробуйте використати їх як ключі гаманця |
Please notice that this property is flags
field, therefore it's possible to choose any combination of available values. Погляньте на json зіставлення якщо ви бажаєте дізнатися більше. Not enabling any of flags results in None
option.
Forwarding
will cause bot to forward a key that is not possible to redeem, to another connected and logged on bot that is missing that particular game (if possible to check). Найпоширенішою ситуацією є переадресація гри AlreadyPurchyPurched
для іншого бота, якого не вистачає конкретної гри, але ця опція також охоплює інші сценарії, наприклад DoesNotnRequiredApp
, RateLimited
або RestrictedCountry
.
Distributing
will cause bot to distribute all received keys among itself and other bots. Це означає, що кожен бот отримає один ключ з пакета. Зазвичай це використовується тільки коли ви використовуєте багато ключів для тієї ж гри, і ви хочете рівномірно розподілити їх серед ваших ботів, на відміну від використання ключів для різних ігор. This feature makes no sense if you're redeeming only one key in a single redeem
action (as there are no extra keys to be distributed).
KeepMissingGames
змусить бота пропустити Forwarding
коли ми не можемо бути впевнені, чи використовуваний ключ, насправді належить нашому боту, чи ні. This basically means that Forwarding
will apply only to AlreadyPurchased
keys, instead of covering also other cases such as DoesNotOwnRequiredApp
, RateLimited
or RestrictedCountry
. Зазвичай ви хочете використовувати цю опцію на основному обліковому записі, щоб ключі, які були викуплені на ньому, не передаються далі, якщо ваш бот, наприклад, тимчасово отриманий RateLimited
. Ви можете здогадуватися з опису, це поле не має абсолютно ніякого ефекту, якщо Пересилання
не увімкнене.
AssumeWalletKeyOnBadActivationCode
спричинить ключі BadActivationCode
які розглядаються як CannotRedeemCodeFromClient
і тому результатом ASF спробою використати їх як ключі гаманця. Це необхідно, оскільки Steam може анонсувати ключі гаманцяformat@@0 BadActivationCode
(і не CannotRedemCodeFromClient
в міру його використання), виписував результат у ASF, який ніколи не намагається їх використати. However, we recommend against using this preference, as it'll result in ASF trying to redeem every invalid key as a wallet code, resulting in excessive amount of (potentially invalid) requests sent to the Steam service, with all the potential consequences. Instead, we recommend to use ForceAssumeWalletKey
redeem^
mode while knowingly redeeming wallet keys, which will enable the needed workaround only when it's required, on as-needed basis.
Enabling both Forwarding
and Distributing
will add distributing feature on top of forwarding one, which makes ASF trying to redeem one key on all bots firstly (forwarding) before moving to the next one (distributing). Typically you want to use this option only when you want Forwarding
, but with altered behaviour of switching the bot on key being used, instead of always going in-order with every key (which would be Forwarding
alone). This behaviour can be beneficial if you know that majority or even all of your keys are tied to the same game, because in this situation Forwarding
alone would try to redeem everything on one bot firstly (which makes sense if your keys are for unique games), and Forwarding
+ Distributing
will switch the bot on the next key, "distributing" the task of redeeming new key onto another bot than the initial one (which makes sense if keys are for the same game, skipping one pointless attempt per key).
Фактичний порядок ботів для всіх сценаріїв викупу є алфавітом, без врахування ботів, які недоступні (не підключені, зупинений або так само). Please keep in mind that there is per-IP and per-account hourly limit of redeeming tries, and every redeem try that didn't end with OK
contributes to failed tries. ASF буде робити все можливе, щоб мінімізувати кількість AlreadyPurchyPurchased
, наприклад намагаючись уникнути перенаправлення ключа до іншого бота, який вже володіє такою ж грою, але не завжди гарантовано працювати через використання ліцензій Steam. Using redeeming flags such as Forwarding
or Distributing
will always increase your likelyhood to hit RateLimited
.
Також пам'ятайте, що ви не можете поширювати чи розповсюджувати ключі ботам, до яких у вас немає доступу. This should be obvious, but ensure that you're at least Operator
of all the bots you want to include in your redeeming process, for example with status ASF
command.
байт прапорці
тип зі значенням за замовчуванням 3
. Цей параметр визначає поведінку для окремих ботів ASF, коли вона стосується спілкування з віддаленими, сторонніми службами, і визначається як нижче:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не обрано | Немає дозволених сторонніх зв'язків, візуалізація вибраних функцій ASF непридатні для використання |
1 | SteamГруппа | Дозволити комунікацію з ASF групою Steam |
2 | Публічний список | Дозволяє комунікацію з місткою ASF зі списком для того, щоб бути перерахованим, якщо користувач також увімкнув SteamTradeMatcher в TradingPreferences
|
Please notice that this property is flags
field, therefore it's possible to choose any combination of available values. Погляньте на json зіставлення якщо ви бажаєте дізнатися більше. Not enabling any of flags results in None
option.
Цей параметр не включає в себе всі сторонні комунікації, запропоновані ASF, лише ті, які не мають на увазі інших параметрів. Наприклад, якщо ви увімкнули автоматичне оновлення ASF, ASF буде спілкуватися з обох GitHub (для завантажень) та нашим сервером (для перевірки контрольної суми), як у вашій конфігурації. Likewise, enabling MatchActively
in TradingPreferences
implies communication with our server to fetch listed bots, which is required for that functionality.
Further explanation on this subject is available in remote communication section. Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу byte
зі значенням за замовчуванням 0
. This property works very similar to SendOnFarmingFinished
preference in FarmingPreferences
, with one difference - instead of sending trade when farming is done, we can also send it every SendTradePeriod
hours, regardless of how much we have to farm left. This is useful if you want to loot
your alt accounts on usual basis instead of waiting for it to finish farming. Default value of 0
disables this feature, if you want your bot to send you trade e.g. every day, you should put 24
here.
Зазвичай вам потрібно використовувати ASF 2FA разом із цією функцією, хоча це не є обов'язковою вимогою, якщо ви маєте намір своєчасно обробляти запити 2FA вручну. Якщо ви не впевнені, як встановити цей параметр, залиште йому значення за замовчуванням 0
.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає ваш Steam логін - той, який ви використовуєте для входу в пар. На додаток до визначення парових входів тут, ви також можете зберегти значення за замовчуванням null
, якщо ви захочете ввести свій профіль steam при кожному запуску ASF замість того, щоб покласти його до config. Це може бути корисним для вас, якщо ви не бажаєте зберегти конфіденційні дані у файлі конфігурації.
ulong
type з стандартним значенням 0
. Цей параметр визначає Steam ID групи пари, до яких бот повинен автоматично приєднатися, включно з його групою. You can check steamID of your group by navigating to its page, then adding /memberslistxml?xml=1
to the end of the link, so the link will look like this. Then you can get steamID of your group from the result, it's in <groupID64>
tag. Наведеним прикладом це буде 103582791440160998
. На додаток до спроби запуску групи також автоматично прийняти запрошення до групи при запуску, що дає можливість вам запрошувати бота вручну, якщо ваша група має приватну участь. Якщо у вас немає жодної групи, що присвячена вашим ботам, ви повинні зберігати цю властивість за замовчуванням значення 0
.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає твій батьківський код для пари. ASF потребує доступ до ресурсів, захищених паровими батьками, тому, якщо ви використовуєте цю функцію, вам слід надати ASF PIN-код батьківського розблокування, щоб він міг працювати нормально. Значення за замовчуванням null
означає, що для розблокування облікового запису не потрібно steam parental PIN-код, і це, мабуть, те, що ви хочете, якщо ви не використовуєте батьківську функціональність.
In limited circumstances, ASF is also able to generate a valid Steam parental code itself, although that requires excessive amount of OS resources and additional time to complete, not to mention that it's not guaranteed to succeed, therefore we recommend to not rely on that feature and instead put valid SteamParentalCode
in the config for ASF to use. Якщо ASF визначає необхідний PIN-код, і він не зможе створити його самостійно, він запитає вас про вхід.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає ваш пароль steam - той, що ви використовуєте для входу в пар. На додачу до визначення пароля, ви також можете тримати значення за замовчуванням null
, якщо ви бажаєте ввести пароль steam на кожному запуску ASF замість того, щоб покласти його до конфігурації. Це може бути корисним для вас, якщо ви не бажаєте зберегти конфіденційні дані у файлі конфігурації.
параметр типу string
зі значенням за замовчуванням null
. Коли у вас є бот у списку друзів, бот може відразу надіслати вам обмін, не турбуючись про торговий маркер, тому ви можете залишити цю властивість за замовчуванням для значення null
. Якщо ви Однак вирішите не мати свого бота в списку друзів. після цього вам потрібно буде створити і заповнити торговий маркер від користувача, до якого цей бот очікує на відправлення торгів. In other words, this property should be filled with trade token of the account that is defined with Master
permission in SteamUserPermissions
of this bot instance.
In order to find your token, as logged in user with Master
permission, navigate here and take a look at your trade URL. The token we're looking for is made out of 8 characters after &token=
part in your trade URL. Ви повинні скопіювати та додати ці 8 символів, як SteamTradeToken
. Do not include whole trading URL, neither &token=
part, only the token itself (8 characters).
ImmutableDictionary<ulong, byte>
тип з пустим значенням за замовчуванням. This property is a dictionary property which maps given Steam user identified by his 64-bit steam ID, to byte
number that specifies his permission in ASF instance. В даний час дозволи для ботів у ASF визначаються як:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не обрано | Без спеціального дозволу, це в основному орієнтир значення, яке присвоєно steam ID, відсутні в цьому словнику - немає необхідності визначити будь-кого з цим дозволом |
1 | Спільне використання | Надає мінімальний доступ для користувачів спільного використання сімейств. Знову ж таки, це головним чином орієнтиром, оскільки ASF здатний автоматично знаходити ідентифікатори steam, які ми допустили у використанні нашої бібліотеки |
2 | Оператор | Забезпечує базовий доступ до вказаних екземплярів, додавання ліцензій та використання ключів |
3 | Майстер | Забезпечує повний доступ до заданого екземпляра бота |
Коротше кажучи, ця властивість дозволяє вам обробляти дозволи для вказаних користувачів. Дозволи важливі головним чином для доступу до ASF команд, але також для ввімкнення багатьох функцій ASF, таких як прийняття угод. For example you may want to set your own account as Master
, and give Operator
access to 2-3 of your friends so they can easily redeem keys for your bot with ASF, while not being eligible e.g. for stopping it. Завдяки цьому ви можете легко надати дозвіл, щоб задовольнити користувачів і дозволити їм використовувати вашого бота деяким іншим користувачем ступінь.
We recommend to set exactly one user as Master
, and any amount you wish as Operators
and below. While it's technically possible to set multiple Masters
and ASF will work correctly with them, for example by accepting all of their trades sent to the bot, ASF will use only one of them (with lowest steam ID) for every action that requires a single target, for example a loot
request, so also properties like SendOnFarmingFinished
preference in FarmingPreferences
or SendTradePeriod
. If you perfectly understand those limitations, especially the fact that loot
request will always send items to the Master
with lowest steam ID, regardless of the Master
that actually executed the command, then you can define multiple users with Master
permission here, but we still recommend a single master scheme.
It's nice to note that there is one more extra Owner
permission, which is declared as SteamOwnerID
global config property. You can't assign Owner
permission to anybody here, as SteamUserPermissions
property defines only permissions that are related to the bot instance, and not ASF as a process. For bot-related tasks, SteamOwnerID
is treated the same as Master
, so defining your SteamOwnerID
here is not necessary.
параметр типу byte
зі значенням за замовчуванням 60
. Зазвичай ASF обробляє вхідні пропозиції щодо торгівлі відразу після отримання оповіщень про одну, але іноді через помилки Steam не може працювати в той час, і такі пропозиції торгівлі залишаються ігноровані, поки не відбудеться наступне повідомлення про торгівлю або перезапуск бота, який може призвести до скасованих або недоступних товарів в цей час. Якщо цей параметр встановлений у ненульовому значенні, ASF додатково буде перевіряти такі непогашені угоди кожен `` хвилин. Значення за замовчуванням вибирається з балансом між додатковими запитами до серверів пар та втратою вхідних угод. Однак, якщо ви лише використовуєте ASF на фермерську карту, і не плануєте автоматично обробляти вхідні пропозиції, ви можете встановити значення 0
для повного вимкнення цієї функції. On the other hand, if your bot participates in public ASF's STM listing or provides other automated services as a trade bot, you may want to decrease this parameter to `15` minutes or so, to process all trades in a timely manner.
прапорці
тип з значенням за замовчуванням 0
. Цей параметр визначає поведінку ASF коли виконується торгівля, а цей параметр визначається нижче:
Цінність | Ім'я | Опис |
---|---|---|
0 | Не обрано | Немає спеціальних торгівельних налаштувань, за умовчанням |
1 | Прийнятні пожертви | Приймає торгівлю, в якій ми нічого не втрачаємо |
2 | SteamTradeМатчер | Passively participates in STM-like trades. Visit trading for more info |
4 | Вражаючий | Requires SteamTradeMatcher to be set, and in combination with it - also accepts bad trades in addition to good and neutral ones |
8 | DontAcceptBotTrades | Doesn't automatically accept loot trades from other bot instances |
16 | МатчАктивлі | Actively participates in STM-like trades. Відвідайте ItemsMatcherPlugin для отримання додаткової інформації |
Please notice that this property is flags
field, therefore it's possible to choose any combination of available values. Погляньте на json зіставлення якщо ви бажаєте дізнатися більше. Not enabling any of flags results in None
option.
For further explanation of ASF trading logic, and description of every available flag, please visit trading section.
ImmutableHashSet<byte>
type with default value of 1, 3, 5
steam item types. This property defines which Steam item types will be considered for transfering between bots, during transfer
command. ASF буде забезпечувати лише об’єкти з Передача
буде включена до пропозиції на торгівлю, Тому ця властивість дозволяє вибирати те, що ви хочете отримати в торговій пропозиції, надісланій одному з ваших ботів.
Цінність | Ім'я | Опис |
---|---|---|
0 | Не вказано | Кожний тип, що не відповідає жодній з нижче |
1 | Прискорювач | Бустерний пакет що містить 3 випадкові карти |
2 | Смайлик | Смайлик використовувати в Steam Chat |
3 | FoilTradingCard | Foil variant of TradingCard
|
4 | Тло профілю | Фон профілю використовувати у вашому профілі Steam |
5 | TradingCard | Торгівельна карта пару, використовується для створення значків (не фоль) |
6 | SteamGems | Додані парові дорогоцінні камені, які використовуються для створення підсилювачів, включені |
7 | Салемет | Спеціальні товари, що надаються під час продажу у Steam |
8 | Витратний | Спеціальні предмети, що зникають після використання |
9 | Модифікатор профілю | Спеціальні елементи, які можуть змінити зовнішній вигляд профілю Steam |
10 | Наклейка | Спеціальні предмети, які можуть бути використані в чаті Steam |
11 | ChatEffect | Спеціальні предмети, які можуть бути використані в чаті Steam |
12 | Фон MiniProfileBackground | Особливе тло для профілю Steam |
13 | АватарПрофільний фрейм | Спеціальний аватар для профілю Steam |
14 | AnimatedAvatar | Спеціальний анімований аватар для профілю Steam |
15 | Тема клавіатури | Спеціальна шкіра клавіатури для колони Steam |
16 | СтартапВідео | Спеціальне відео для стартапу Steam |
Будь ласка, зверніть увагу, що незалежно від наведених вище налаштувань, ASF буде запитувати лише пунктів Steam (appID
з 753, contextID
із 6), так що всі ігрові предмети, подарунки і так само виключаються з пропозиції торгівлі за визначенням.
Налаштування ASF за замовчуванням базується на найпоширенішому використанні бота, при передачі можливе завантаження пакетів і торгівельних карток (включаючи фони). Властивість тут дозволяє змінити цю поведінку будь-яким способом, що задовольняє вас. Please keep in mind that all types not defined above will show as Unknown
type, which is especially important when Valve releases some new Steam item, that will be marked as Unknown
by ASF as well, until it's added here (in the future release). Саме тому в загальному не рекомендується включити невідомий тип
у тип TransferableТипи
Якщо не знаєте, що ви робите, і ви також розумієте, що ASF відішле весь ваш інвентар у торговій пропозиції, якщо мережа Steam знову зламається і повідомить про всі ваші елементи як невідому
. Моя сильна пропозиція не включає тип невідома
у типу Передача
, навіть якщо ви хочете передати все.
параметр типу bool
зі значенням за замовчуванням true
. Цей параметр визначає, чи ASF має використовувати механізми авторизації для цього облікового запису Steam. Механізм ключів авторизації працює дуже схоже на офіційну опцію клієнта Steam "запам'ятати мене", що дає можливість ASF зберігати і використовувати тимчасовий одноразовий ключ для входу до системи, ефективно пропускаючи потребу в наданні пароля, Steam Guard або код 2FA до тих пір, поки наш ключ входу буде дійсний. Ключ входу зберігається в файлі BotName.db
і оновлюється автоматично. Ось чому вам не потрібно надавати пароль/SteamGuard/2FA після успішного входу до ASF лише раз.
Login keys are used by default for your convenience, so you don't need to input SteamPassword
, SteamGuard or 2FA code (when not using ASF 2FA) on each login. Це також чудово, оскільки ключ входу на сайт може бути використаний тільки для одного разу і не показується ваш оригінальний пароль у будь-який спосіб. Саме той самий метод використовується первинним клієнтом Steam, який зберігає ім'я вашого облікового запису та ключ входу для вашого наступного входу, спробувати, ефективним таким самим, як і використання SteamLogin
за допомогою використувальних ключів
та порожніми SteamPassword
в ASF.
Проте, деякі люди можуть бути стурбовані навіть цією невеликою детальністю, Таким чином, ця опція доступна тут для вас, якщо ви бажаєте переконатися, що ASF не буде зберігати якийсь маркер який дозволить відновити попередню сесію після закриття, що призведе до повного перевірки автентичності під час кожної спроби входу. Вимкнення цієї опції працюватиме точно так само, як без перевірки "запам'ятати мене" в офіційному клієнті Steam. Якщо ви не знаєте, що робите, вам варто залишити її значення за замовчуванням true
.
параметр типу byte
зі значенням за замовчуванням 0
. Цей параметр вказує режим інтерфейсу користувача, який бот буде повідомлений після входу в мережу Steam. Це може вплинути на те, як видно обліковий запис, наприклад, у чаті Steam, якщо ваша присутність дозволяє це через OnlineStatus
. Наразі ви можете вибрати один з нижче режимів:
Цінність | Ім'я | Опис |
---|---|---|
0 |
Інтерфейс | Типовий режим клієнта Steam |
1 |
Tenfoot | Режим великого зображення |
2 |
Мобільний | Мобільний додаток Steam |
3 |
Веб | Сесія веб-браузера |
4 |
ClientUI | |
5 |
MobileChat | Мобільний чат Steam |
6 |
EmbeddedClient |
Не всі режими можуть мати ефект. Також, вам може знадобитися перевірити OnlinePreferences
, тому що деякі додаткові функції увімкнені тут. Якщо ви не впевнені, як встановити цей параметр, залиште йому значення за замовчуванням 0
.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає адресу для http-сервера, яка буде використовуватися для внутрішнього з'єднання http, особливо для таких послуг, як api. teampowered.com
, steamcommunity.com
і store.steampowered.com
. Якщо не вказано, ASF буде використовувати глобальне налаштування WebProxy
замість цього. Проксіювання запитів ASF може бути виключно корисним для обходу різноманітних видів брандмауерів, особливо великого брандмауера в Китаї.
Ця властивість визначена як рядок URI:
URI рядок складається з схеми (підтримується: http/https/socks4/socks4a/socks5), хосту та не обов'язковий порт. Приклад повноцінного рядка uri
"http://contoso.com:8080"
.
Якщо ваш проксі-сервер вимагає аутентифікацію користувача, вам також потрібно встановити WebProxyІм'я
та/або WebProxyPassword
. Якщо такого не потрібно, створити лише цю власність достатньо.
If you require proxying internal Steam network communication (CMs) as well, then you should ensure to configure SteamProtocols
bot's property to a value that allows only websocket transport, i.e. a value of 4
, as only websockets are supported for proxying.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає поле пароля, що використовується в основному, цифровому форматі, NTLM, і автентифікація Kerberos яка підтримується цільовим WebProxy
машиною, що забезпечує функції проксі-серверів. Якщо ваш проксі-сервер не вимагає облікових даних, немає необхідності нічого вводити тут. Використання даної опції має сенс лише в тому випадку, якщо WebProxy
також використовується як у системі, так і в іншому випадку.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
параметр типу string
зі значенням за замовчуванням null
. Цей параметр визначає поле ім'я користувача, що використовується в основному, цифровому форматі, NTLM, і автентифікація Kerberos яка підтримується цільовим WebProxy
машиною, що забезпечує функції проксі-серверів. Якщо ваш проксі-сервер не вимагає облікових даних, немає необхідності нічого вводити тут. Використання даної опції має сенс лише в тому випадку, якщо WebProxy
також використовується як у системі, так і в іншому випадку.
Якщо у вас немає підстав змінювати цей параметр, вам варто залишити йому значення за замовчуванням.
ASF використовує досить просту файлову структуру.
Натомість модифікаціями 📁 config
]. son
──F ASF.db
────Bot1. son
───Bot1.db
─── Bot2. son
───Bot2.db
── ...
────SteamFarm.dll
────log.txt
─────s...
Для того, щоб перемістити ASF на нове місце, наприклад інший ПК, його достатньо для переміщення/копіювання config
лише у каталозі і це рекомендований спосіб створення будь-якої форми резервних копій ASF", так як ви завжди можете завантажити решту (програму) частини на GitHub, а не ризикувати пошкодженням внутрішніх файлів ASF, е. і через якусь несправну копію.
log.txt
файл містить журнал, згенерований вашим останнім запуском ASF. Цей файл не містить будь-якої важливої інформації, і надзвичайно корисний для вирішення проблем збій чи просто інформація про те, що сталося в останньому запуску ASF. Ми дуже часто запитаємо цей файл, якщо ви зіткнетесь з проблемами чи помилками. ASF automatically manages this file for you, but you can further tweak ASF logging module if you're advanced user.
config
directory is the place that holds configuration for ASF, including all of its bots.
ASF.json
є глобальним файлом конфігурації ASF. Цей файл використовується для уточнення того, як ASF поводиться як процес, що впливає на всіх ботів та самої програми. Ви можете знайти глобальні властивості, такі як власник процесу ASF, автоматичне оновлення чи налагодження.
BotName.json
- конфігурація вказаного екземпляра бота. Ця конфігурація використовується для уточнення поведінки заданого боту, Тому ці налаштування властиві лише боту і не поділяються між іншими. Це дозволяє налаштовувати ботів за допомогою різних налаштувань і не обов'язково всі вони працюють однаково. Every bot is named using unique identifier, chosen by you in place of BotName
.
Apart from config files, ASF also uses config
directory for storing databases.
ASF.db
- це глобальний файл бази даних ASF. Це працює як глобальне постійне сховище, яке використовується для збереження різноманітної інформації, пов'язаної з процесом ASF, наприклад IP-адреси локальних серверів Steam. You should not edit this file.
BotName.db
є базою даних даного бота. Цей файл використовується для зберігання вирішальних даних про даний бот в постійному сховищі, таких як ключі авторизації або ASF 2FA. You should not edit this file.
BotName.keys
is a special file that can be used for importing keys into background games redeemer. Він не обов'язковий і не генерований, але визнаний ASF. Цей файл автоматично видаляється, коли ключі успішно імпортуються.
BotName.maFile
- це спеціальний файл, який можна використовувати для імпортування ASF 2FA. Це не є обов'язковим і не згенерований, але у ASF чи вам BotName
ще не використовується ASF 2FA. Цей файл автоматично видаляється після того, як ASF 2FA буде успішно імпортовано.
Кожна властивість конфігурації має свій тип. Тип властивості визначає значення, які є дійсними для нього. Ви можете використовувати значення тільки для заданого типу - якщо ви використовуєте невірне значення потім ASF не зможе обробляти ваші конфігурації.
Ми наполегливо рекомендуємо використовувати ConfigGenerator для генерації конфігурацій - це обробляє більшу частину низькорівневих речей (наприклад, перевірку типів) так що вам потрібно лише ввести правильні значення, а також вам не потрібно розуміти змінні типи зазначені нижче. В основному, цей розділ створюється або редагує конфігурації вручну, щоб вони знали, які значення вони можуть використовувати.
Типи, які використовуються ASF є нативні C# типи, які зазначені нижче:
bool
- Логічний тип приймається лише true
and false
values.
Приклад: "Увімкнено": true
byte
- Unsigned byte type, accepting only integers from 0
to 255
(inclusive).
Приклад: "ConnectionTimeout": 90
ushort
- Unsigned short type, accepting only integers from 0
to 65535
(inclusive).
Приклад: "WebLimiterDelay": 300
uint
- Unsigned integer type, accepting only integers from 0
to 4294967295
(inclusive).
ulong
- Unsigned long integer type, accepting only integers from 0
to 18446744073709551615
(inclusive).
Example: "SteamMasterClanID": 103582791440160998
string
- Тип рядку, прийнявши будь-яку послідовність символів, включаючи порожню послідовність ""
і null
. Порожня послідовність і значення null
вважаються однаковими словами ASF, так що це залежить від вашого налаштування, яке ви хочете використовувати (ми тримаємо за допомогою null
).
Examples: "SteamLogin": null
, "SteamLogin": ""
, "SteamLogin": "MyAccountName"
Посібник?
- Тип Nullable UUID у JSON, закодованому у якості рядка. UUID is made out of 32 hexadecimal characters, in range from 0
to 9
and a
to f
. ASF приймає різні дійсні формати - нижчі регістри, верхній регістр, без дефісів. На додачу до дійсного UUID, оскільки ця властивість nullable, спеціальне значення null
прийнято, щоб вказувати відсутність UID для продовження.
Приклади: "LicenseID": null
, "LicenseID": "f6a0529813f74d119982eb4fe43a9a24"
ImmutableList<valueType>
- Незмінна колекція (список) значень у вказаному значенні
. В JSON, він визначається як масив елементів в даному значенні типу
. ASF uses List
to indicate that given property supports multiple values and that their order might be relevant.
Example for ImmutableList<byte>
: "FarmingOrders": [15, 11, 7]
ImmutableHashSet<valueType>
- Незмінна колекція (встановити) унікальних значень у заданому значенні
. В JSON, він визначається як масив елементів в даному значенні типу
. ASF використовує HashSet
щоб показати, що даний параметр має сенс лише для унікальних значень і що їх порядок не має значення, Тому це буде навмисно ігнорувати будь-які потенційні дублікати під час їх аналізу (якщо ви все ж таки придбали їх).
Example for ImmutableHashSet<uint>
: "Blacklist": [267420, 303700, 335590]
ImmutableDictionary<keyType, valueType>
- Незмінний словник (мапа), який мапає унікальний ключ, вказаний в його keyType
, для значення, вказаного в своєму значенні
. В JSON, це визначається як об'єкт з парами ключового значення. Майте на увазі, що keyType
завжди цитований у цьому випадку, навіть якщо це тип значення, наприклад ulong
. Зараз і на карті є сувора потреба у стилю ключа, яка є унікальною на карті, проте цього разу застосовується і JSON.
Example for ImmutableDictionary<ulong, byte>
: "SteamUserPermissions": { "76561198174813138": 3, "76561198174813137": 1 }
прапори
- Атрибут поєднує декілька різних властивостей в одне остаточне значення шляхом застосування бітрейтів. Тут ви можете вибрати будь-які можливі комбінації різних дозволених значень одночасно. Остаточне значення створюється як сума значень усіх активованих варіантів.
Наприклад, дані наступні значення:
Цінність | Ім'я |
---|---|
0 | Не обрано |
1 | Ля |
2 | Сі |
4 | До |
Using B + C
would result in value of 6
, using A + C
would result in value of 5
, using C
would result in value of 4
and so on. Це дозволяє створити будь-яку можливу комбінацію включених значень - якщо ви вирішили включити всі з них, створюючи None + A + B + C
, ви отримаєте значення 7
. Also notice that flag with value of 0
is enabled by definition in all other available combinations, therefore very often it's a flag that doesn't enable anything specifically (such as None
).
So as you can see, in above example we have 3 available flags to switch on/off (A
, B
, C
), and 8
possible values overall:
Нічого -> 0
A -> 1
B -> 2
A + B -> 3
C -> 4
A + C -> 5
B + C -> 6
A + B + C -> 7
Example: "SteamProtocols": 7
Due to JavaScript limitations of being unable to properly serialize simple ulong
fields in JSON when using web-based ConfigGenerator, ulong
fields will be rendered as strings with s_
prefix in the resulting config. This includes for example "SteamOwnerID": 76561198006963719
that will be written by our ConfigGenerator as "s_SteamOwnerID": "76561198006963719"
. ASF includes proper logic for handling this string mapping automatically, so s_
entries in your configs are actually valid and correctly generated. If you're generating configs yourself, we recommend to stick with original ulong
fields if possible, but if you're unable to do so, you can also follow this scheme and encode them as strings with s_
prefix added to their names. Сподіваємося врегулювати це обмеження JavaScript.
Це вищий пріоритет для ASF залишається сумісним з більш старими конфігураціями. As you should already know, missing config properties are treated the same as they would be defined with their default values. Therefore, if new config property gets introduced in new version of ASF, all your configs will remain compatible with new version, and ASF will treat that new config property as it'd be defined with its default value. Ви завжди можете додавати, видаляти або редагувати параметри конфігурації відповідно до ваших потреб.
Ми рекомендуємо обмежити налаштування параметрів конфігурації лише для тих, які ви бажаєте змінити, з цього моменту ви автоматично успадковуєте значення за замовчуванням для всіх інших, збереження конфігурацій не тільки чисте, але й розширення сумісності, у випадку, якщо ми вирішимо змінити стандартне значення для властивості, яку ви не бажаєте чітко встановити (наприклад . WebLimiterDelay
).
Через вище, ASF буде автоматично мігрувати/оптимізувати ваші конфігурації, переформатувавши їх та видаливши поля, які мають значення за замовчуванням. You can disable this behaviour with --no-config-migrate
command-line argument if you have a specific reason, for example you're providing read-only config files and you don't want ASF to modify them.
ASF знає конфігурації, що модифікуються "на польоті" - дякуючи цьому, ASF буде автоматично:
- Створіть (і почніть спочатку, наприклад, нового бота при створенні конфігурації
- Зупинити (якщо необхідно) та видалити старого бота, якщо ви видалите його конфігурацію
- Зупиніть (і почніте), якщо потрібний бот, при редагуванні своєї конфігурації
- Перезапуск (якщо необхідно) бота під новим іменем, коли ви перейменуєте його конфігурацію
Все вище прозорі і буде зроблено автоматично без необхідності перезапуску програми, або вбивства інших (непостраждалих) ботів.
На додаток до цього, ASF також перезавантажиться (якщо Автоперезапуск
дозволів), якщо ви змінюєте базовий ASF ASF.json
config. Так само програма припиниться, якщо ви видалите або перейменуватимете її.
You can disable this behaviour with --no-config-watch
command-line argument if you have a specific reason, for example you don't want from ASF to react to file changes in config
folder.
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
- 🏡 Головна
- 🔧 Конфігурація
- 💬 ЧаПи
- ⚙️ Налаштування (почніть тут)
- 👥 Активація ігор у фоновому режимі
- 📢 Команди
- 🛠️ Сумісність
- 🧩Плагін співставлення предметів
- 📋 Управління
- ⏱️ Продуктивність
- 📡 Дистанційне спілкування
- 👪 Спільний доступ до бібліотеки Steam
- 🔄 Обміни
- ⌨️ Аргументи командного рядка
- 🚧 Застарівання
- 🐳 Docker
- 🤔 Розширені ЧаПи
- 🚀 Налаштування високої продуктивності
- 🔗 IPC
- 🌐 Локалізація
- 📝 Ведення журналу
- 💾 Налаштування з низьким споживанням пам'яті
- 🕵🏼♂️ Плагін моніторингу
- 🔌 Плаґіни
- 🔐 Безпека
- 🧩 SteamTokenDumperPlugin
- 📦 Сторонні розробки
- 📵 Двофакторна аутентифікація