このプロジェクトについて

Croupierは、ゲーム運営向けの汎用GMバックエンドシステムであり、単一のゲーム会社内部における複数ゲーム、複数環境のシナリオにサービスを提供します。システムは、Webコンソール → Server(コントロールプレーン、高可用性をサポート) → Agent(ゲームVPCにデプロイ) → ゲームサーバー/SDK という3層アーキテクチャを採用しています。AgentとServer間はTCPセッション(デフォルトでTLS有効)を使用し、SDKとAgent間はTCPセッション(デフォルトでTLS無効)を使用します。これら2つのリンクは同一のセッション転送基盤を共有し、ハンドシェイクメッセージとビジネスセマンティクスにおいてのみサブプロトコルで区別されます。ビジネススコープはgameId(ゲーム識別子)とenv(dev/staging/prodなどの環境識別子)によって定義され、物理的なデプロイ場所とは分離されています。コア機能には、統一関数登録スケジューリングモデル、軽量セッション転送(単一接続による双方向リクエスト、再接続、バックプレッシャー、ストリーム削除)、JSONビジネスデータ + Protobufエンベロープのメッセージ形式、JSON Schema能力契約駆動のAnt Design Proコンソールが含まれます。データベースはSQLite(開発・テスト)、MySQL(本番推奨)、PostgreSQL、SQL Serverをサポートしています。また、Go、C#、Java、C++、Python、JS/TSなどの公式SDKを提供しており、ドキュメントにはアーキテクチャ設計、スコープモデル、転送プロトコル、およびSDK使用ガイドが網羅されています。