7 июля 2018 г.

Автоматизация фарминга в Steam во время летней распродажи

Сначала я хотел написать короткую заметку про то, как облагородить эмулятор консоли в Windows 10, но потом понял, что контекст будет намного интереснее.
Как вы знаете, совсем недавно в сервисе Steam отгремела традиционная летняя распродажа. Во время каждой такой распродажи корпорация выпускает простенькую (я бы сказал примитивную) игру в которой можно получить значки, предметы инвентаря и даже выиграть бесплатно некоторые игрушки. Не сказать, что меня прям сильно привлёк призрачный шанс получить нахаляву дешёвую игру, но меня захватил процесс автоматизации. Оказывается, корпорация Valve никак не наказывает игроков, которые используют скрипты автоматизации для игр, а даже поощряет! Код игры (в этот раз это была стрелялка про "Стимопланетян") открыт, имеется доступ к API - садись и пиши своего бота на здоровье на твоём любимом языке программирования.
Boss battle
И энтузиасты, конечно же, написали ботов в первый день запуска, собрались в специальной теме на Reddit, обсудили наиболее эффективную стратегию, запустили сторонние сервисы трекинга "свободных планет", рассчитали шанс на выпадение бесплатной игры (он крайне мал и есть большое подозрение, что читерам с ботами немного обломится)... В общем, это было крайне интересно.
Работа скрипта на Javascript в консоли. Скрипт от Meepen.
Один из наиболее популярных и продвинутых скриптов был написан на PHP и портирован на Python (им я и пользовался большую часть времени). Второй по популярности скрипт был написан на Javascript и мог работать либо через браузер Chrome, либо посредство установленной в системе Node.js (так как я в свободное время пытаюсь изучать этот "язык программирования будущего", то node.js у меня была установлена, так же как и Python).
Работает 4 скрипта Salien-Cheat
Меня поразило, что работающие скрипты крайне мало использовали процессорные ресурсы, так что некоторые умельцы запускали скрипт на Python даже на собственных телефонах на Android и крутили круглосуточно без всяких проблем! Батарейка теряла лишь несколько процентов заряда, а расход интернет-трафика был так мал, что можно было им пренебречь. Интересная штука получается: можно носить у себя в кармане мини-сервер на Python, который будет круглосуточно выполнять какую-то работу для вас. Многие люди запускали скрипт для нескольких своих Steam-аккаунтов (зачем им столько?). Один энтузиаст запустил скрипт на своём мини-сервере на Raspberry Pi. Само собой для работы скриптов не требовался никакой запущенный клиент Steam или браузер - Steam узнавал пользователя через специальный секретный токен. Особо ушлые товарищи пытались использовать для запуска фармящих скриптов бесплатные облачные хостинги  типа Heroku, но владельцам этих хостингов это ожидаемо не понравилось и таких "фермеров" всех забанили.
Работа всех скриптов проходила в консоли и мне нравится, что к 2018 году Microsoft поняла, что неплохо бы её облагородить. К сожалению, до крутости терминалов Linux командной строке Windows довольно далеко, но зато она худо бедно поддерживает вывод цвета, полупрозрачность из коробки, смену кодовой страницы и прочие вещи. Если кому-то стандартной функциональности мало, то имеются бесплатные эмуляторы консоли типа ConEmu или Cmder, которые расширяют эти возможности и делают работу ещё более удобной, почти как в Linux.
По завершению распродажи я получил прокаченного до 6 ранга и 20 уровня "инопланетянина" (максимальный был 25 уровень и сами понимаете, без скриптов его выкачать до такого уровня человеку невозможно), кучу карточек из которых слепил значок 7 уровня (лишние продал и даже заработал) и массу новых знаний и положительных эмоций. Через год будет  новая распродажа, новая игра и новые скрипты, а умение программировать ещё не раз вам пригодится в жизни: например один парень написал простого бота для мониторинга билетов на чемпионат мира по футболу в своём городе.

Комментариев нет :

Отправить комментарий