Skip to content

botka4aet/steam-dropler

 
 

Repository files navigation

Steam-dropler: Бот для фарма предметов

Основаная идея основана на https://github.com/kokole/SteamItemDropIdler
Основаня реализация осуществленна с помощью https://github.com/SteamRE/SteamKit

На данный момент работатет только для аккаунтов с файлами от https://github.com/Jessecar96/SteamDesktopAuthenticator, т.е .maFile

Настройка

Для начала ставим .net runtime (https://dotnet.microsoft.com/download/dotnet-core/2.1) или более позднию версию

В директории бота *\Configs\Accounts создаем файлы конфигурации для ботов:

  • Имя файла должно быть именем аккаунта steam
  • Тело бота следующее:
{
 "Password":"пароль_от_акка",
 "IdleEnable":true, //флаг того что аккаунт должен идлиться, false - бот не будет запускать дроп для этого аккаунта
 "DropConfig":[
   {"Item1":id_игры, "Item2":id_дропа}, 
   {"Item1":id_игры, "Item2":id_дропа}
 ]
}

В директории бота *\Configs редактируем MainConfig.json:

{
 "maFileFolder": "путь до файлов sda\maFiles",
 "dropHistoryFolder": "D:\\директория для склада истории дропа", 
 "parallelCount": 100 // количество одновремено запущенных аккаунтов
}

Как работает

  1. Бот каждые 30 секунд проверяет возможность запустить на идлинг новый аккаунт
  2. Если количество работающих аккаунтов меньше числа parallelCount, то выбирается кандидат в соответсвии с его расписанием. На данный момент расписание самое простое (1 час идлинга на каждые 12 часов)
  3. В итоге кандидат выбирается так:
    1. Если флаг IdleEnable выставлен в True
    2. И если аккаунт не идлился последнии 12 часов

По итогу за неделю каждый аккаунт наигрывает для каждой игры по 14 часов

Фишки

  • Все игры на аккаунте запускаются одновременно (до 32 штук)
  • Дроп проверяется перед началом фарма и каждые пол часа во время фарма (что бы уменьшит количество запросов к серверу).
  • изменен подход к подключению к серверам Steam
    • в версии kokole использовался steam.dll и подключение осуществлялось случайно
    • в текущей версии напрямую выбирается сервера из ~200 серверов
    • на каждый сервер подключаются до 12 (возможно увеличить) аккаунтов
    • так что одновременное количество ботов может быть 2400 (не проверялось)

Фишки уже существующие, осталось впилить

  • Настройка семейного доступа
  • Получение списка игр для аккаунта (из сети, а не из конфига)
  • Получение кода авторизации через почту
  • Ввод кода вручную (нужно впилить GUI)

Фишки, которые надо продумать

  • Настройка расписания для каджой игры, с возможностью редактирования (в связи с эвентами KF2 например)
  • Расчет по конфигам расписания оптимального запуска ботов
  • GUI для отслеживания состояния ботов (истории, ошибок) и взаимодействия с пользователем
  • Покупка игры, принятие кода, покупка игры в падарок
  • Перенос функционала ArchiSteamFarm для передачи шмоток
  • Дроп TF2

если будет желание поблагодарить

yandex:410011375178916 bitcoin:3M2m8hLu9w7Z4fonBESafL8SZPfq5SRYBC

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%