05 — RGS

Что сюда кладём

Общая архитектура и паттерны Remote Game Server:

  • Что такое RGS, какие у него функции.
  • Round lifecycle: bet → RNG → settlement → audit.
  • Wallet integration: debit/credit, idempotency, dedup, rollback.
  • Session management: auth, jurisdiction flags, currency.
  • Game config: версионирование, jurisdiction-overrides, bet limits.
  • Idempotency keys: стратегии, окна dedup.
  • Resume / reconnect: как клиент возвращается в незавершённый раунд.
  • Cancel / rollback: семантика, кто может инициировать.
  • Audit log / event sourcing: что писать, retention.
  • Reporting: как агрегировать GGR / NGR / RTP.
  • API-стили: REST vs gRPC, protobuf-схемы.
  • Multi-jurisdiction: feature toggles, RTP-варианты, max bet.

Что НЕ сюда

  • RNG-теория → kb/04-rng/.
  • RGS-интеграция конкретной нашей игры → games/<slug>/rgs.md.
  • Cert-проверки RGS → kb/08-certification/.
  • Конкретные инструменты (open-rgs-go, Stake Engine) → kb/11-tools/.

Страницы

  • Time-critical events — latency/fairness подход для real-time взаимодействий.
  • State recovery — interruption handling, restore/void policies, event retention.
  • Stake Engine wallet API flow — operational контракт authenticate → play → event → end-round и zero-payout auto-complete семантика.

Стартовые источники

  • open-rgs-go — референсный open-source RGS на Go (gRPC/REST, identity / ledger / wagering / events / reporting / config).
  • Stake Engine RGS docs — пример структуры (wallet authenticate, balance, play request, bet modes, sessionID, jurisdiction config, active/last round).
  • UKGC RTS — требования к critical systems и audit.

Будущие страницы (TODO)

  • Архитектура типичного RGS (компоненты).
  • Round lifecycle с диаграммой.
  • Wallet integration: debit/credit, idempotency, dedup.
  • Resume и rollback: семантика и edge cases.
  • Audit log: схема событий, retention.
  • Game config: версионирование и jurisdiction overrides.
  • REST vs gRPC: когда что выбирать.
  • Multi-jurisdiction: feature toggles и RTP-варианты.

в этой папке 3 элемента