0%
+7 916 093-77-88
Разбор проекта · iGaming

Игровая платформа: где нельзя ошибиться ни на копейку

Проект, в котором интерфейс — самая простая часть. Основная работа ушла в транзакционную целостность кошелька, поведение при отказе провайдера и нагрузку, которая в пике отличается от средней в разы.

Отрасль
iGaming, лицензированный оператор
Состав
Ядро платформы, агрегация провайдеров, бэк-офис
Срок запуска
от 6 месяцев до первого релиза
Стек
Go, Node.js, PostgreSQL, Redis, Kafka, Kubernetes

Задача бизнеса

Оператору нужна была собственная платформа вместо аренды готового решения у стороннего вендора. Аренда означала зависимость от чужих условий, невозможность менять бонусную механику под свою аудиторию и отсутствие контроля над данными игроков.

Инженерные задачи

Что оказалось сложным на самом деле

Список отсортирован по количеству потраченного времени, а не по заметности для игрока

Целостность кошелька

Двойное списание или потерянная ставка в iGaming — это не баг, а прямые финансовые потери и репутационный удар.

Идемпотентность на всех денежных операциях: повтор запроса при обрыве связи не создаёт вторую транзакцию. Каждая операция имеет уникальный ключ, повторное обращение возвращает результат первой, а не выполняет её заново.

Баланс не хранится как одно изменяемое число — он выводится из журнала операций. Любое изменение прослеживается до источника, и расхождение можно найти, а не только констатировать.

Отказ провайдера роняет всё

Игровых провайдеров подключено много, и каждый — потенциальная точка отказа. Наивная реализация укладывает платформу целиком, если один из них перестал отвечать.

Изоляция сбоев: каждый провайдер работает через отдельный контур с таймаутами и автоматическим отключением при деградации. Недоступный провайдер просто исчезает из каталога, а остальная платформа продолжает работать.

Отдельный сценарий — сессия, оборванная на середине игры. Здесь нужен корректный разбор состояния со стороны провайдера, а не просто списание или возврат ставки наугад.

Нагрузка неравномерна

Вечерние часы, выходные и турниры дают всплески в разы выше среднего. Платформа, спроектированная под среднее, ляжет в момент максимальной выручки.

Горизонтальное масштабирование под фактическую нагрузку, очереди для тяжёлых операций, кеширование каталога и справочников, отделение операций чтения от записи.

Перед запуском — нагрузочное тестирование на сценариях, приближенных к реальным: не «сколько запросов в секунду выдержит сервер», а «что происходит, когда десять тысяч человек одновременно заходят на турнир».

Бонусы правились кодом

Каждая новая акция требовала участия разработчиков — маркетинг не мог запустить механику без релиза.

Конструктор правил в бэк-офисе: приветственные пакеты, фриспины, кешбэк, вейджер и условия отыгрыша настраиваются без правки кода.

Обязательная часть — симуляция: перед запуском акции видно, во сколько она обойдётся при разных сценариях поведения игроков. Бонусная механика без такой проверки регулярно оказывается убыточной.

Бонус-абьюз и мультиаккаунты

Щедрая акция без защиты превращается в способ вывода денег с платформы.

Антифрод и KYC: верификация личности, скоринг подозрительной активности, выявление связанных аккаунтов, лимиты и правила блокировок.

Выплаты идут через очередь с автоматическим одобрением по правилам и ручной модерацией для операций, попавших в зону риска. Полностью автоматизировать вывод средств нельзя — цена ошибки слишком высока.

Требования регулятора

Отчётность, лимиты и журналирование нельзя добавить перед проверкой — они пронизывают всю модель данных.

Заложены в архитектуру с первого дня: возрастные ограничения, лимиты на депозиты и время игры, механизмы самоисключения и пауз, полный журнал действий и выгрузка отчётности в требуемом формате.

Инструменты ответственной игры входят в базовый состав платформы. Мы не рассматриваем их как опцию, которую можно исключить ради экономии бюджета.

Собственные игры или провайдеры

Основной каталог собирается из игр внешних провайдеров: быстрее, дешевле и снимает вопросы сертификации контента. Собственная разработка оправдана только там, где игра становится отличием платформы.

В этом проекте своей сделали рулетку с provably fair — механизмом, позволяющим игроку самостоятельно проверить, что результат раунда был определён до его ставки и не подменён. Для оператора это аргумент доверия, который нельзя купить рекламой.

Всё остальное — провайдерский контент. Мы отговорили заказчика от разработки собственных слотов: расходы несопоставимы с эффектом, а конкурировать с профильными студиями на их поле бессмысленно.

Состав платформы

  • Ядро: кошелёк, сессии, история ставок, учёт баланса
  • Агрегация провайдеров с единым каталогом и фильтрами
  • Собственная рулетка с provably fair
  • Платежи: депозиты, очередь выплат, сверка транзакций
  • Бонусный движок с конструктором правил и симуляцией
  • Антифрод и KYC с ручной модерацией зоны риска
  • Бэк-офис: игроки, транзакции, GGR и NGR, отчётность
  • Партнёрская программа с трекингом и кабинетом партнёра
  • Клиенты: веб и PWA там, где публикация в сторах невозможна
Наблюдаемость

Мониторинг по деньгам, а не по серверам

Нагрузка на процессор ничего не говорит о том, что у платформы проблемы

Падение ставок в минуту

Самый быстрый индикатор проблемы. Реагирует раньше, чем серверные метрики покажут что-либо аномальное.

Конверсия депозитов

Резкий спад означает, что сломался конкретный платёжный провайдер, а не платформа целиком.

Очередь выплат

Рост времени вывода бьёт по репутации сильнее, чем короткий простой сайта.

Расхождения при сверке

Ежедневная сверка с провайдерами и платёжными системами. Любое расхождение — инцидент, а не статистика.

Про цифры результата. Операторы в этой отрасли практически никогда не разрешают публиковать показатели — это чувствительная коммерческая информация. Мы это уважаем и не публикуем метрики без разрешения. Техническую конкретику по архитектуре готовы разобрать на созвоне под NDA.
Выводы

Что мы вынесли из проекта

Интерфейс — не главное

Игрок судит о платформе по скорости и по тому, приходят ли выплаты. Оба фактора живут в серверной части, а не в дизайне.

Своя игра — не всегда актив

Одна фирменная механика с проверяемой честностью даёт больше, чем десяток собственных слотов, которые проигрывают провайдерским.

Комплаенс — это архитектура

Лимиты, самоисключение и отчётность, добавленные в конце, ломают модель данных. Их закладывают на старте или переписывают платформу.

Планируете свою платформу?

Опишите юрисдикцию, целевые нагрузки и модель монетизации — вернёмся с архитектурным предложением.

18+. Азартные игры могут вызывать зависимость. Мы оказываем услуги разработки программного обеспечения юридическим лицам и не принимаем ставки.

KatanaCode

Обычно отвечаем за 5 минут

Привет! 👋 Расскажите про задачу — подскажем, какое решение подойдёт и сколько это будет стоить.

Заявка отправлена!

Скоро перезвоним