# \[ASF] Archi Steam Farm

<figure><img src="https://3935622216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPc0YXzJ8LbTFk6z5tVBi%2Fuploads%2FrlSqCMRTEpPTrzQNCdK0%2F9.1.png?alt=media&#x26;token=ce94c3df-f3a8-40e0-b615-185f10fb049c" alt=""><figcaption></figcaption></figure>

<p align="center">Простое и мощное решение для автоматизации Steam</p>

**ASF** — это программа, которая позволяет автоматизировать практически любые процессы в Steam. Она идеально подходит для работы с большим количеством аккаунтов, фарма, управления инвентарями и разными действиями, которые вручную выполнялись бы часами.

Встроенный функционал огромный, и если его окажется мало — можно подключить плагины, которые расширяют возможности во много раз.

Полезные функции ASF, которые пригодятся в фарме:

* смена никнеймов
* рандомизация аватарок
* автоматический сбор дропа CS2 и других игр
* авто-принятие трейдов на хранилке
* фарм карточек после покупки прайма
* настройка приватности профиля
* плюс любой дополнительный функционал через плагины

<h2 align="center">📥Где скачать ASF и основной плагин</h2>

Официальный ASF:\
<https://github.com/JustArchiNET/ArchiSteamFarm> (скачиваем ASF-win-x64.zip)

Рекомендую плагин ASFEnhance (много дополнительных рофланов):\
<https://github.com/chr233/ASFEnhance/tree/master> (скачиваем ASFEnhance.zip)

***

<h2 align="center">🧩 Добавление аккаунтов в ASF</h2>

#### **1) Через встроенный конфигуратор ASF  по одному**&#x20;

<figure><img src="https://3935622216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPc0YXzJ8LbTFk6z5tVBi%2Fuploads%2FWnITjrvT0y6nAovYcBGF%2F9.1.1.jpg?alt=media&#x26;token=83191e24-3bd0-4d6c-9205-d11a518f3ade" alt="" width="563"><figcaption></figcaption></figure>

Запускаем ASF → открываем ConfigGenerator(в браузере) → добавляем аккаунт вручную.\
Подходит для небольшого количества аккаунтов и если вы знаете что и куда нужно вводить и выбирать.

Чтобы ASF сразу мог с ними работать и дополнительных действий не нужно было проводить, нужно закинуть туда сразу мафайлы — каждый должен быть назван логином бота.

Для удобного переименования мафайлов используем ➙ [MaFileRenamer](https://rtvac.gitbook.io/rukovodostvo-dlya-fermerov/poleznye-progi-dlya-fermerov/mafile-renamer)

***

#### **2) Через готовый пример (просто подставить свои данные)**

Что-то между первым и третьим способом, для тех кто не знает что лучше выбрать в конфигураторе и одновременно лень запариваться с третьим вариантом (хотя на самом деле там за 2 минуты можно сделать)

Используем такой шаблон (подставить ЛОГИН, ПАРОЛЬ **бота** и SteamID **хранилки**):

```
 {
  "AcceptGifts": true,
  "AutoSteamSaleEvent": true,
  "Enabled": true,
  "OnlineStatus": 7,
  "RedeemingPreferences": 7,
  "SteamLogin": "ЛОГИН",
  "SteamPassword": "ПАРОЛЬ",
  "SteamUserPermissions": {
    "СТИМ_АЙДИ_ХРАНИЛКИ": 3
  }
}
```

**Что делаем:**

1. Подставляем данные аккаунта.
2. Сохраняем этот текстовый документ под названием **логин.json** (пример: `rtvacbot.json`).
3. Кладём его в папку **config** ASF.

Чтобы ASF сразу мог с ними работать и дополнительных действий не нужно было проводить, можно закинуть туда сразу мафайлы — каждый должен быть назван логином бота.

Для удобного переименования мафайлов используем ➙ [MaFileRenamer](https://rtvac.gitbook.io/rukovodostvo-dlya-fermerov/poleznye-progi-dlya-fermerov/mafile-renamer)

***

#### 3) ⚡ Массовая генерация json в автоматическом режиме

**Кратко:** создаётся папка с исходными файлами, в неё кладутся `acc.txt` и `example.json`, затем запускается `main.py`, который генерирует папку `json_accounts` с готовыми json (json-конфигами) для ASF.

🔹 **Файлы, которые нужно создать в рабочей папке (её называете как хотите):**

* `acc.txt` — список аккаунтов в формате `login:password` (по одному аккаунту на строку).
* `example.json` — шаблон конфига с нужными полями (ниже пример).
* `main.py` — скрипт, который генерирует JSON-файлы на основе `example.json` и `acc.txt`.

📁 **Формат `acc.txt`:**

```
login1:password1
login2:password2
...
```

📄 **Пример `example.json`** (подставить стим ID своей  хранилки):

```
{
  "AcceptGifts": true,
  "AutoSteamSaleEvent": true,
  "Enabled": true,
  "OnlineStatus": 7,
  "RedeemingPreferences": 7,
  "SteamLogin": "login",
  "SteamPassword": "password",
  "SteamUserPermissions": {
    "СТИМ_АЙДИ_ХРАНИЛКИ": 3
  }
}
```

🛠 **Код `main.py`** — вставлять как есть в файл `main.py`:

```
import json
import os


CONST_NEW_FOLDER_NAME = 'json_accounts'


if __name__=='__main__':

    CONST_ACCOUNT_JSON_TYPE_NAME = input \
        ('Do you want to save account by login or every account will have the same name but different number?(Press 1 or 2)\n')
    if (CONST_ACCOUNT_JSON_TYPE_NAME == '2'):
        CONST_NEW_ACCOUNT_NAME = input("Print new account's name for example 'asf_account-'\n")
        CONST_NEW_ACCOUNT_STARTING_NUMBER = int(input("Print new account's starting number\n"))



    file1 = open('acс.txt', 'r')
    Lines = file1.readlines()

    new_account_json_file = open('example.json', 'r')
    new_account_json = json.load(new_account_json_file)
    new_account_json_file.close()

    if not os.path.exists(CONST_NEW_FOLDER_NAME):
        os.makedirs(CONST_NEW_FOLDER_NAME, exist_ok=True)

    count = 0
    for line in Lines:
        count += 1
        parse_array = line.strip().split(':')
        new_account_data = json.dumps(new_account_json)
        data = json.loads(new_account_data)
        data['SteamLogin'] = parse_array[0]
        data['SteamPassword'] = parse_array[1]
        new_account_data = json.dumps(data)
        print(new_account_data)

        if(CONST_ACCOUNT_JSON_TYPE_NAME == '1'):
            with open(os.path.join(CONST_NEW_FOLDER_NAME, f"{parse_array[0]}.json"), "w") as file:
                file.write(new_account_data)
        elif(CONST_ACCOUNT_JSON_TYPE_NAME == '2'):
            with open(os.path.join(CONST_NEW_FOLDER_NAME,
                                   f"{CONST_NEW_ACCOUNT_NAME}{CONST_NEW_ACCOUNT_STARTING_NUMBER + count - 1}.json"),
                      "w") as file:
                file.write(new_account_data)
        else:(print('ERROR! Restart and choose "1" or "2" option'))

    new_account_json_file.close()
```

**Пошагово:**

1. Создать рабочую папку с любым названием.
2. Положить в неё `acc.txt`, `example.json` и `main.py`.
3. Убедиться, что в `example.json` подставлен стим айди хранилки.
4. Запустить `main.py` (через любую удобную программу которая может прочитать Python).
5. При запросе выбрать `1` — файлы будут названы по логинам (рекомендуется), или `2` для кастомного префикса.
6. После успешного выполнения в папке появится `json_accounts` с готовыми **json** файлами— их можно закинуть в `config` ASF.

Чтобы ASF сразу мог с ними работать и дополнительных действий не нужно было проводить, нужно закинуть туда сразу мафайлы — каждый должен быть назван логином бота.

Для удобного переименования мафайлов используем ➙ [MaFileRenamer](https://rtvac.gitbook.io/rukovodostvo-dlya-fermerov/poleznye-progi-dlya-fermerov/mafile-renamer)

***

<h2 align="center"><strong>🔨 Основные команды ASF</strong></h2>

<figure><img src="https://3935622216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPc0YXzJ8LbTFk6z5tVBi%2Fuploads%2Fauk6iJU8dMdHuvsUBpnK%2F9.1.2.jpg?alt=media&#x26;token=71783280-09c1-4b2c-96f4-526a016f2b6b" alt="" width="563"><figcaption></figcaption></figure>

!loot asf 730 2 — собрать весь дроп из CS2\
!loot asf 753 6 — собрать карточки и общий Steam-дроп\
!explorer asf — просмотреть рекомендации (актуально если зимой или летом будут раздавать карточки на распродажах за просмотр рекомендаций)\
CLEARNOTIFICATION ASF — очистить уведомления\
REPLAYPRIVACY ASF 2 — приватность «только друзья»\
ABF логинХранилки ASF — добавить всех в друзья\
DELETEALLFRIEND логинХранилки — удалить всех друзей (иногда нужно прописать пару раз)\
!addlicense asf appID — добавить бесплатную игру (нужно подставить ID игры)\
BALANCE ASF — показать баланс всех ботов\
POINTS ASF — показать баланс очков всех ботов\
\
P.S.  `asf / ASF` — команда выполняется на **всех** ботах.\
Если написать вместо ASF логин — выполнится только на одном аккаунте.

***

<h2 align="center"><strong>📚 Полезные ссылки</strong></h2>

Полный список команд ASF:\
<https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Commands-ru-RU>

Команды ASFEnhance:\
<https://github.com/chr233/ASFEnhance/blob/master/README.ru.md>

***

{% content-ref url="soderzhanie-bystrye-perekhody" %}
[soderzhanie-bystrye-perekhody](https://rtvac.gitbook.io/rukovodostvo-dlya-fermerov/poleznye-progi-dlya-fermerov/soderzhanie-bystrye-perekhody)
{% endcontent-ref %}
