Что такое RGS и его роль в экосистеме
Полный текст статьи
1) Определение и место в ландшафте
RGS (Remote Game Server) — удалённый сервер игровых движков студии. Он:- хранит математику игр (RNG-логика, таблицы выплат, состояния раундов);
- генерирует исходы (win/lose, множители, фриспины, бонус-раунды);
- отдает ассеты клиента (иногда через CDN) и обслуживает сессии;
- общается с платформой/агрегатором по серии API/вебхуков для списания ставки, зачисления выигрыша, применения ограничений, участия в джекпотах, миссиях и т. п.
Если платформа — «банк и учёт», то RGS — «игровой завод»: именно он производит результаты.
2) Какие типы контента обслуживает RGS
RNG-слоты (классика, Megaways/Cluster/Lines, Bonus Buy, Hold&Win и т. д.).
Instant games (краш, минёр, колеса, скретч, dice) — при необходимости с «provably fair» модулями.
Table RNG (блэкджек/рулетка без лайв-видео).
Джекпоты (часто отдельный под-сервер Jackpot/RJP, но в связке с RGS).
3) Главные обязанности RGS
1. Математика и честность: реализация сертифицированных правил, валидные RNG и сид-менеджмент.
2. Управление раундами: начало/прогресс/завершение, бонусные состояния (фриспины, мульти-этапы).
3. Финансовые вызовы: идемпотентные операции списания/зачисления (через платформу или прямой кошелёк).
4. Ограничения и RG: макс-ставка/лимит выигрыша, блокировки по юрисдикции, турнирные/бонусные вкладки.
5. Джекпоты и промо: взносы, триггеры, миссии/ачивки, квесты.
6. Телеметрия и отчётность: события для BI и регуляторов, аудит-логи, антикор/антифрод-сигналы.
7. Контент-доставка: версии ассетов, языки/валюты, fallback и миграции.
4) Как RGS говорит с платформой: API-паттерн
Чаще всего — server-to-server обмен + клиентский фронт (WebGL/HTML5) у игрока.
4.1 Базовые эндпоинты (условная схема)
`POST /session/create` — выдача токена с учётом гео/валюты/игры.
`POST /bet/authorize` — запрос списания ставки (с `idempotency_key`).
`POST /bet/settle` — возврат исхода раунда и запрос зачисления выигрыша.
`POST /bonus/state` — выдача/сгорание фриспинов, прогресс вейджера.
4.2 Коллбеки платформы (webhooks RGS→платформа)
Ключевые требования: идемпотентность, подписи запросов (HMAC/EdDSA), короткие SLA ответов (p95 < 300–500 мс на критичных путях), чёткие коды ошибок и повторов.
5) Деньги: где «истина» и как избежать дублей
Источник истины по балансу — кошелёк платформы. RGS не хранит деньги, он хранит состояние раунда.
Все денежные операции с `Idempotency-Key` и строгим уникальным `bet_id`/`round_id`.
Саги/компенсации: если после исхода связь с платформой упала — RGS держит результат и переотправляет до успешного `wallet.credit`.
Rollback-контур: платформенный коллбек может инициировать откат по `bet_id` (строго по правилам).
6) Джекпоты и промо-механики
Джекпот-кошелёк (локальный/сетевой) берёт микровзнос со ставки; триггер — по сид-логике или вероятностный.
Промо-слой: миссии, множители дня, сезонные события, «турнирные» билеты — реализуется на RGS или в отдельном Promo-Service, подписанном на события игры.
Участие в промо должно не менять RTP математического ядра игры (иначе требуется новая сертификация).
7) Сертификация и комплаенс (общее)
RNG/математика: аудит игровых таблиц, диапазона RTP, дисперсии, случайности.
Сбор событий для регулятора (логи ставок/исходов, версии клиента, контроль честности).
Гео-профили: включение/выключение фич, лимиты, валюты, единицы ставок/выигрышей.
Версионирование: любое изменение математики — новая версия и повторная сертификация.
8) Архитектура RGS: внутри сервера
Слои:1. API-шлюз (mTLS/WAF/лимитирование, подписи).
2. Session & Auth (JWT/opaque tokens, device/geo checks).
3. Game Engine (ядро математики, состояния раундов).
4. Promo/Jackpot Connector (не вмешивается в math, только события).
5. Integration (кошелёк/платформа/агрегатор, ретраи, дедупликация).
6. Telemetry & Audit (события в шину, отчёты, WORM-лог крит-действий).
7. Assets/CDN (версии, языки, тестовые/боевые каналы).
Данные:- OLTP для сессий/раундов (p95 < 150 мс);
- Кэш (Redis) для горячих состояний и лимитов;
- Асинхронный стрим событий (Kafka/аналог) → DWH/BI;
- Изоляция PII и ключей по регионам (data residency).
9) Производительность и надёжность
Латентность: цель p95 < 150–200 мс на `bet/settle` (без платежного hops).
Горизонтальное масштабирование: стейт игры минимален, sticky-сессии по `session_id` или полностью stateless + внешнее хранилище.
Back-pressure: очереди на выдаче исходов, защита от «штормов ставок».
Хаос-практики: эмуляция падений платформы/агрегатора, проверка саг/ретраев.
DR-план: актив-актив по регионам, RPO ≤ 5 мин, RTO ≤ 30 мин.
10) Безопасность «по умолчанию»
mTLS + HMAC/EdDSA на уровне интеграций, короткоживущие токены.
RBAC/ABAC в админке студии, «четыре глаза» на изменение математики/лимитов.
Секреты в Vault/HSM; шифрование at-rest/in-transit; токенизация чувствительных полей.
Антибот/антиабьюз: velocity-правила, логи частоты входов/ставок, device-fingerprinting.
WORM-аудит критичных действий и версий билдов.
11) Роль агрегатора и варианты подключения
Агрегатор даёт единый интерфейс десяткам RGS: каталог игр, унифицированный API, маршрутизацию, отчётность, маркет-доступ (быстрые ревью/марки).
Подключение напрямую к платформе даёт меньше «хопов» и контроль, но дороже в интеграциях и сертификации по каждому рынку.
Компромисс: через агрегатор для широкого распространения и прямые интеграции для стратегических операторов.
12) Особые кейсы
Crash/Provably fair: публикация скрытого сида/соли, проверяемый клиентом хэш; синхронизация исходов с серверным сидом.
Bonus Buy/Feature Drop: финансы — атомарно; лимиты юрисдикций (не везде разрешено).
Adaptive RTP/пулы (если разрешены): переключение профилей только в рамках сертифицированного диапазона; лог перемен.
Free rounds (operator-driven): тикеты фриспинов валидируются RGS-ом, но кошелёк — у платформы.
13) Что важно студии при построении собственного RGS
Чек-лист:- Ядро игры отделено от сетевых слоёв (тестируем десктопно/CI).
- Идемпотентность `bet/settle/rollback`, уникальные ключи раундов.
- Саги, ретраи с backoff, дедупликация на уровне брокера/БД.
- Версионирование math/ассетов; миграции состояний без даунтайма.
- Шина событий и каталоги данных, поля для BI/регулятора.
- RG-хуки и гео-политики; «kill-switch» на фичи.
- Наблюдаемость: метрики p95/p99, error-rate, settle-lag, bets/min, jackpot-latency.
- DR/хаос-учения, нагрузочные тесты и песочницы интеграций.
- Безопасность: Vault/HSM, ключевая ротация, подписи, WAF, лимиты, антибот.
- Документация API (спеки + примеры) и SDK для платформ/агрегаторов.
14) Что критично для платформы/оператора при выборе RGS
Честность и стабильность math (история сертификации, диапазоны RTP, отказоустойчивость).
SLA/телеметрия (реальные дашборды, алерты, время реакции поддержки).
Региональные профили (валюты, тексты, резидентность данных, соответствие локальным правилам).
Совместимость с бонусами/турнирами (вклад по типам игр, max bet, анти-абьюз).
Джекпот-интеграция (прозрачные кошельки, отчёты).
Исключения и инциденты (rollback-протоколы, рота, паблик-постмортемы по крупным сбоям).
15) Мини-глоссарий
RGS — сервер игр студии, генерирует исходы RNG-игр.
PAM — платформа управления игроками (аккаунты/сессии).
Ledger/Wallet — денежный учёт у оператора (истина по балансу).
Aggregator — посредник, объединяющий множество RGS под единым API.
RTP/Volatility/Hit-Rate — параметры математики слота.
Saga/Outbox/CDC — паттерны согласованности и доставки событий.
Provably Fair — проверяемая игроком честность (краш/инстанты).
WORM-лог — неизменяемый журнал для аудита.
RGS — это производственный цех iGaming. Он воплощает математику игры, обеспечивает честность и скорость раундов, подключает джекпоты и промо, а через надёжные API связывает контент студии с платформами и агрегаторами по всему миру. Сильный RGS строится на идемпотентности, событийности, строгой безопасности и сертификации. Такой фундамент позволяет выпускать игры быстрее, масштабировать трафик без потерь денег и соответствовать требованиям любой зрелой юрисдикции.
