Основаная идея основана на 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 // количество одновремено запущенных аккаунтов
}
- Бот каждые 30 секунд проверяет возможность запустить на идлинг новый аккаунт
- Если количество работающих аккаунтов меньше числа parallelCount, то выбирается кандидат в соответсвии с его расписанием. На данный момент расписание самое простое (1 час идлинга на каждые 12 часов)
- В итоге кандидат выбирается так:
- Если флаг IdleEnable выставлен в True
- И если аккаунт не идлился последнии 12 часов
По итогу за неделю каждый аккаунт наигрывает для каждой игры по 14 часов
- Все игры на аккаунте запускаются одновременно (до 32 штук)
- Дроп проверяется перед началом фарма и каждые пол часа во время фарма (что бы уменьшит количество запросов к серверу).
- изменен подход к подключению к серверам Steam
- в версии kokole использовался steam.dll и подключение осуществлялось случайно
- в текущей версии напрямую выбирается сервера из ~200 серверов
- на каждый сервер подключаются до 12 (возможно увеличить) аккаунтов
- так что одновременное количество ботов может быть 2400 (не проверялось)
- Настройка семейного доступа
- Получение списка игр для аккаунта (из сети, а не из конфига)
- Получение кода авторизации через почту
- Ввод кода вручную (нужно впилить GUI)
- Настройка расписания для каджой игры, с возможностью редактирования (в связи с эвентами KF2 например)
- Расчет по конфигам расписания оптимального запуска ботов
- GUI для отслеживания состояния ботов (истории, ошибок) и взаимодействия с пользователем
- Покупка игры, принятие кода, покупка игры в падарок
- Перенос функционала ArchiSteamFarm для передачи шмоток
- Дроп TF2
yandex:410011375178916 bitcoin:3M2m8hLu9w7Z4fonBESafL8SZPfq5SRYBC