Как работает покер-бот
Конвейер бота простыми словами: захват экрана, распознавание стола, поиск и оценка решения, человекоподобные тайминги, локальное логирование.
Бот – это цикл, который выполняется несколько раз в секунду: посмотреть на стол, определить состояние игры, решить, действовать, записать. Каждый шаг описан ниже.
1. Захват
Бот делает скриншот окна стола – окна эмулятора для клубных приложений или собственного клиента рума на десктопе. Он не читает память и не перехватывает сетевой трафик; всё, что он знает, приходит из пикселей.
2. Распознавание
Калибровочный профиль для каждого рума говорит боту, где находятся карты, стеки, банк и кнопки. Карты сопоставляются с шаблонами; числа читаются через OCR и проверяются на правдоподобие относительно предыдущего состояния. Если уверенность распознавания падает – анимация, всплывающее окно, изменившийся макет после обновления приложения, – бот ставит игру на паузу, а не гадает.
3. Решение
На префлопе бот ищет действие в таблице диапазонов по позиции, эффективному стеку и предыдущим действиям. На постфлопе типичные ситуации тоже берутся из таблиц; остальные проходят через быстрый оценщик, который считает эквити против предполагаемого диапазона и выбирает вариант с лучшим ожиданием в рамках упрощённой стратегии. При одинаковом входе решения детерминированы, плюс случайный элемент с фиксированным зерном для смешанных стратегий.
4. Действие
Выбранное действие выполняется через эмуляцию ввода в эмуляторе или клиенте с задержкой из настраиваемого распределения, чтобы тайминги не были одинаковыми. Размеры ставок округляются до сумм, которые использовал бы человек.
5. Лог
Состояние, решение, уверенность и тайминг дописываются в локальный лог. Именно его вы просматриваете после сессии и присылаете нам, когда что-то выглядит неправильно.
Что означает такая архитектура
Чтение экрана делает бота независимым от внутренностей рума, но чувствительным к изменениям макета: обновление приложения может сломать профиль, пока мы не выпустим новый. Это также значит, что бота можно обнаружить теми же средствами, что и любую автоматизацию на стороне клиента. Этот компромисс обсуждается на странице об обнаружении.
По теме
Функции покер-бота (бета-сборка)
Что покер-бот умеет сегодня: префлоп и постфлоп на основе солвера, мультитейблинг, лимиты сессии, логирование, ручной перехват и пробелы.
Поддерживаемые румы и клубные приложения
Какие румы и клубные приложения бот поддерживает в бете: PPPoker, PokerBros, ClubGG, Upoker, X-Poker через эмулятор и статус крупных румов.
Требования: ОС, эмулятор, железо
Что нужно для запуска беты покер-бота: Windows или macOS, поддерживаемый Android-эмулятор, скромные CPU и RAM и стабильное соединение.