Онлайн-покер меняется, и не всегда в лучшую сторону. Пока вы бьётесь против регуляров и любителей, за вашими столами тихо сидит третий тип оппонентов — покерные боты. В этой статье тренер W34z3l, автор подкаста Red Chip Poker, проанализировал присутствие ботов в современном покере и рассказал, как можно защитить от них свой винрейт — а, может, даже увеличить его, находя и эксплуатируя таких роботизированных оппонентов.
Прочитав этот материал, вы узнаете:
- Как распознать подозрительные аккаунты, которые играют не как живой человек;
- Что делать, если вы разоблачили сеть ботов;
- Когда лучше избегать ботов, когда — репортить, а когда — эксплойтить;
- Как «сегментирование» стратегии делает ботов уязвимыми;
- Примеры из практики, как эксплойты помогают печатать деньги против ботов.
Если вы когда-нибудь подозревали, что ваш оппонент играет слишком последовательно, слишком настырно или слишком хорошо для человека, то эта статья обязательно вам пригодится.
Введение
Боты существуют больше 20 лет — почти так же давно, как и сам онлайн-покер. И они присутствуют не только в одном-двух румах или в «серых» приложениях, а во всех сетях сразу. Если где-то в онлайне идёт игра, в какой-то момент боты обязательно попытаются к ней присоединиться.
Несмотря на то, что запуск ботов противоречит правилам любого рума, одни операторы активнее борются с ними, чем другие. Некоторые румы могут похвастаться более экспертной и эффективной службой безопасности, которая благодаря системному подходу быстрее обнаруживает ботов и удаляет их из игры. Но есть и сайты, которые настолько плохо борются с ботами, что их даже подозревают в наличии корыстного интереса (например, боты помогают румам «разогнать» трафик).
Типы ботов и чем они отличаются друг от друга
- Бот-классификатор (profile bot), принимая решение, учитывает префлоп-статы оппонентов — иными словами, он их классифицирует. Он знает наши показатели VPIP, PFR, Fold to 3-Bet, Fold to 4-Bet и т.п. Если он видит, что их значения слишком высокие, то начинает применять соответствующие эксплойты.
- Бот, эксплуатирующий поле (pool exploit bot), запрограммирован так, чтобы на постоянной основе эксплойтить распространённые тенденции игроков на данном лимите. Например, если в каком-то споте поле оверфолдит, такой бот будет применять статичную стратегию, направленную на то, чтобы эксплойтить эту усреднённую уязвимость.
- Сеть ботов (bot ring) работает сообща и использует общую информацию о соперниках. За счёт этого они накапливают гораздо больше статистики на нас, чем у нас есть на каждого из ботов в отдельности. Например, у 10 ботов, промышляющих на каком-то лимите, будет более крупная выборка сыгранных раздач, с помощью которой они смогут принимать лучшие решения против нас. (По крайней мере, до тех пор, пока мы не раскроем связь между этими аккаунтами и не объединим их раздачи в своей базе.) Боты, входящие в сеть и играющие за одним столом, также сообщают друг другу вышедшие из колоды карты, что повышает точность некоторых решений. Это читерство в чистом виде.
- RTA-бот или GTO-бот — это бот, в который встроен подсказчик в реальном времени, принимающий решения на основе расчётов GTO-солвера. Такой подход может показаться перспективным, но RTA-боты не обязательно выигрывают максимум денег и по винрейту запросто могут уступать боту-классификатору или боту, эксплуатирующему поле, которые играют по эксплойту. С другой стороны, два последних типа ботов могут быть уязвимы для встречного эксплойта, тогда как RTA-бот — не настолько (хотя его тоже можно эксплуатировать).
- Наконец, хаусбот (house bot) запускается самим покер-румом, хотя сами они это не признают. Целью такого бота может быть как выигрыш денег у реальных игроков, так и создание видимости более высокого трафика. Хаусботы вызывают особенную тревогу у покерного сообщества, ведь если они существуют, значит, есть вероятность того, что у них есть доступ к карманным картам игроков, и обыграть их попросту невозможно.
По каким признакам можно выявить бота
Но как понять, что наш оппонент — бот? Опытные игроки могут определить это весьма быстро, в то время как неопытные, как правило, не понимают, что играют против бота. Вот характерные признаки того, что ваш противник — не человек:
- Он регулярно играет по нескольку часов подряд и на нескольких столах. Например, вы часто замечаете за своими столами определённые скриннеймы, независимо от времени суток, и даже после того, как вы три месяца не играли в этом руме, эти аккаунты снова мелькают у вас перед глазами. Это ещё ничего не доказывает (многие игроки гриндят), но вероятность того, что это боты, выше среднего.
- Нетипичные тайминги. Люди, как правило, тратят разное время на принятие решений, но у ботов могут быть очень специфические тайминги. В ряде случаев, когда мошенник запускает слишком много ботов в среде виртуальной машины, они могут «думать» слишком долго из-за нехватки вычислительных ресурсов. Это тоже не доказательство, поскольку живые люди также могут долго думать при мультитейблинге, но это признак необычной активности.
- Необычные действия в лобби. В одной из бот-сетей, которую я обнаружил, боты были запрограммированы играть только на столах 5-max и 6-max. Как только число игроков за столом сокращалось до четырёх — например, любитель уходил, оставляя меня наедине с тремя ботами, — то каждый из них мгновенно уходил в ситаут. Это довольно очевидный признак того, что против вас запрограммированный бот, а не человек.
Кроме того, боты могут выбирать столы для игры в зависимости от наличия других ботов на этих столах. Вы можете обнаружить, что два разных аккаунта на вашем лимите никогда не играют друг с другом или софтплеят, сидя за одним столом — это тоже попадает в категорию необычных действий в лобби. Вполне логично, что боты, входящие в сеть, могут использовать скрипт для посадки за столы.
Другие признаки ботов — это общие игровые тенденции у разных аккаунтов, особенно если они нетипичные. Это тем более верно, когда все они играют под флагом одной страны или стран одного региона (например, Восточной Европы или Азии). Конечно, для скрытия реального местоположения операторы ботов могут использовать VPN, но это нарушает правила многих румов и прибавляет мошенникам работы.
Представьте, что у нас есть группа аккаунтов с похожими статами. Само по себе это не доказательство — например, хорошие регуляры часто имеют схожие показатели VPIP и PFR. Нас больше интересуют нетипичные черты, присущие каждому аккаунту в этой группе. Например, наш оппонент переставляет чужие контбеты на флопе с частотой 25%, хотя в целом среди игроков нашего лимита этот показатель составляет 10%. Вскоре мы замечаем 5–6 других игроков, которые играют такое же число столов и наигрывают такой же объём раздач, и все из них рейзят чужие контбеты с частотой 25%. Более вероятно, что это не простое совпадение, и эти аккаунты связаны между собой. Присмотревшись, мы замечаем у них и другие схожие черты, например, одинаковую частоту 3-бетов. Это позволяет практически гарантированно утверждать, что они входят в бот-сеть.
Что делать с обнаруженными ботами? Не спешите репортить!
Итак, мы обнаружили сеть ботов. Как им противостоять? Этот процесс состоит из двух шагов:
- Наблюдение. Обнаружив ботов, не стоит моментально реагировать в духе: «Я больше никогда не буду играть в этом руме!» или строчить репорт в службу безопасности. Просто понаблюдайте, что делают эти боты, и попытайтесь определить, к какому типу они относятся. Это боты-классификаторы, или они эксплуатируют тенденции поля? А, может, это RTA-боты, играющие оптимально? Какую стратегию они используют, можно ли её эксплуатировать, и вообще насколько они хороши? Это поможет нам понять, стоит ли репортить на этих ботов в службу безопасности, или же будет прибыльнее подстроиться под них и выиграть у них деньги.
- Выбор между репортом, избеганием ботов или игрой против них. Проанализировав доступную информацию, мы принимаем решение о том, как нам реагировать на ботов. Если EV от удаления ботов из пула превышает EV игры против них, мы жалуемся на них в службу безопасности. Избегание ботов — временный шаг после репорта, поскольку покер-руму обычно требуется много времени, чтобы установить связь между аккаунтами, входящими в одну бот-сеть, и применить против них какие-то санкции. В ряде случаев рум попросту не найдёт доказательств и никак их не накажет. В случае с особенно крупными бот-сетями нам иногда придётся полностью отказаться от игры в каком-то руме на определённое время.
Если мы решаем, что ботов потенциально можно обыграть, нет смысла на них репортить. Это может выглядеть несколько неэтичным, но, с другой стороны, эксплуатируя ботов, нарушающих правила, мы ничего незаконного не делаем. К сожалению, боты — это часть игры, и ожидать, что скоро они уйдут из покера, не приходится. В любом случае, ответственность за поддержание честной игры лежит на службе безопасности, а не на честных игроках, и не все румы серьёзно об этом заботятся.
Подстройка против ботов: основные принципы
Хотя в целом боты — это очень плохо для покера, они могут быть отличным источником прибыли, если мы поймём, как обыгрывать бот-сеть. Если мы найдём какой-нибудь эксплойт или баг в «прошивке» ботов, мы сможем выигрывать у них кучу денег.
Многих ботов можно эксплуатировать тем же способом, что и обычных игроков. Если боты играют по статичной стратегии, например, эксплуатируют тенденции поля, то они могут оверфолдить или переблефовывать в некоторых спотах. К примеру, если сеть ботов эксплуатирует оверфолды поля на ривере, то сами боты в таких ситуациях переблефовывают, и мы можем вскрывать их очень широко.
Но предположим, против нас играют чуть более продвинутые боты, а именно, боты-классификаторы или RTA-боты. Ключевой изъян любого бота вытекает из того, что он использует сегментирование (bucketing). Это значит, что его стратегия не имеет плавных переходов, а разбивается на чёткие сегменты. Например, когда бот сталкивается с чужим контбетом на флопе, против ставки размером до 25% банка он защищается с одним диапазоном рук, а против контбета размером 25–50% — с другим диапазоном и т.д. Его стратегия разбивается на конечное число сегментов.
Как это можно эксплуатировать? С точки зрения теории, на наш контбет размером 10% и 20% банка бот должен реагировать по-разному, но в обоих случаях его диапазон защиты один и тот же. Изъяны в его стратегии сильнее всего проявляются на границе таких сегментов. Например, представьте, что на ривере у бота один диапазон защиты против ставок размером до 100% банка и другой диапазон — против ставок размером от 100% до 175% банка. Если мы поставим сайзингом 101%, то получим от него такое же фолд-эквити, что и в случае со ставкой 175%, и это можно выгодно эксплуатировать.
Даже у RTA-ботов может быть аналогичный изъян, потому что у них могут быть предварительно просчитанные деревья решений, «заточенные» под определённые сайзинги оппонента. И если мы используем сайзинг, не просчитанный в их дереве, им приходится защищаться по стратегии, рассчитанной для наиболее похожего сайзинга. В результате такой бот играет не оптимально, и его можно эксплуатировать.
Пример. Допустим, вы нашли у бота эксплойт — у него одинаковый диапазон защиты против 3-бетов и 4-бетов независимо от их сайзинга. В этом случае ваши минимальные 3-беты и 4-беты будут необоснованно эффективными, потому что, с точки зрения бота, они входят в один и тот же стратегический сегмент, и вы получите от него тонну фолдов.
Обнаружив у бота такой эксплойт, на короткой дистанции вы должны использовать его по полной программе. Это принципиально отличается от игры против человека, когда, обнаружив эксплойт, мы используем его постепенно и на длительном промежутке времени. Дело в том, что операторы, как правило, обновляют программный код своих ботов, если находят в нём очевидные стратегические лики. Они расследуют случаи, когда определённые игроки выигрывают у ботов большие суммы денег, и корректируют стратегию. У некоторых ботов есть опция «аварийного выключения» — они не дают экшен конкретным оппонентам, которые используют идеальную контрстратегию, и если такой игрок присутствует за столом, боты часто фолдят префлоп или даже массово уходят в ситаут.
Некоторые из эксплойтов могут быть очень прибыльными, позволяя потенциально обыгрывать бот-сеть с винрейтом 50 ББ/100 или даже выше, в зависимости от масштаба ликов, которые вы у них найдёте. Обнаружив такие эксплойты, будьте готовы отыграть марафонскую сессию длиной 12–24 часов, а если сможете, то ещё больше. Конечно, такие длинные сессии не стоит играть на постоянной основе, чтобы не загубить своё здоровье, но идея в том, чтобы выиграть у бот-сети как можно больше денег, пока ботоводы не внесут вас в чёрный список оппонентов или не скорректируют свою стратегию — например, добавят дополнительные сегменты или удалят линию розыгрыша, в которой бот много проигрывает. После этого вы можете отправить репорт в службу безопасности. Если же вы нашли у бота не настолько явный и прибыльный эксплойт, то вы можете использовать его на длинной дистанции.
Однако у RTA-ботов вы с меньшей вероятностью сможете найти какие-то масштабные эксплойты — скорее, это будут относительно небольшие изъяны. RTA-бот не играет в идеальный GTO-покер, но близок к этому. Поэтому есть вероятность, что вы не сможете обыграть RTA-бота после уплаты рейка. В этом случае возникает ситуация «гарантированного взаимного уничтожения» — вы оба будете играть в минус из-за рейка. Вот почему стадия анализа бота очень важна — она позволяет понять, каких ботов мы можем обыграть, а каких лучше избегать и сразу репортить.
Не забывайте, что, с точки зрения теории игр, покерные солверы выдают лишь «ультраслабое» решение игры — оно не идеально, и такую стратегию можно побить.
К сожалению, в ближайшем будущем проблема наличия ботов в онлайн-покере никуда не исчезнет. Хорошая новость в том, что благодаря этой статье вы научились нескольким способам эксплуатации ботов и борьбы с ними!
