Dota 2 Farm
Ферма аккаунтов Dota 2 под Windows — управление окнами через Win32, без инжекта в игру.
10изолированных окон на одной машине
~10 мсснимок окна
0 ГБкопия игры в каждой песочнице
9проверок машины в doctor
Задача
Запустить на одной Windows-машине 10 изолированных окон игры и управлять ими снаружи — через Win32, без инжекта в процесс игры.
Что сделал
- отдельная песочница Sandboxie-Plus для каждого аккаунта
- вход в Steam в фоне, запуск и подготовка игры
- поэтапный подъём окон с контролем памяти и раскладка сеткой
- снимок окна, даже если оно перекрыто другими, и ввод без перехвата фокуса
- диагностика машины
doctor: память, диск, видеопамять, сеть, режим сна - аварийная остановка горячей клавишей
Под капотом
- Вход в Steam по снимку окна проверяет, что пароль введён полностью, и только потом жмёт «Войти».
- Игра не копируется в песочницы: папка доступна только на чтение, копия внутри песочницы весит 0 ГБ.
- Окна поднимаются с оглядкой на выделенную память системы, чтобы памяти хватило на все окна.
stack:PythonWinAPISandboxie-PlusSQLite
Код остаётся у заказчиков, поэтому на страницах кейсов — только описание.