
Croupier
分布式游戏管理系统 - 统一的游戏运营控制面
🔐 零信任安全
gRPC+mTLS、细粒度 RBAC/ABAC、操作审批与审计日志,确保游戏运营安全。
🎮 函数注册驱动
游戏服务器通过 Agent 注册函数,控制面统一调用、可视化进度与日志。
📊 Schema 驱动 UI
X-Render + JSON Schema 自动生成表单、风控提示、参数校验。
🔄 可观测性解耦
控制面与遥测面分离,Analytics Worker 通过 Redis Streams / ClickHouse 处理实时事件。
📦 多语言 SDK
Go / C++ / Java / JS / Python 设有独立仓库与 Nightly 构建。
🚀 协议优先开发
所有 API 通过 Protocol Buffers 定义,使用 Buf 工具链管理。
项目结构
croupier/
├── cmd/ # 程序入口
├── proto/ # Protobuf 定义(子模块)
├── internal/ # 内部实现
│ ├── server/ # 服务端核心逻辑
│ ├── agent/ # 代理实现
│ ├── edge/ # 边缘代理实现
│ ├── auth/ # 认证授权
│ ├── function/ # 函数管理
│ ├── jobs/ # 作业系统
│ └── loadbalancer/ # 负载均衡
├── sdks/ # 多语言 SDK(子模块)
│ ├── go/
│ ├── cpp/
│ ├── java/
│ ├── js/
│ └── python/
├── dashboard/ # Web 管理界面(子模块)
├── configs/ # 配置文件示例
├── examples/ # 示例代码
├── packs/ # 函数包示例
└── docs/ # 项目文档
快速开始
1. 克隆仓库
git clone --recursive https://github.com/cuihairu/croupier.git
cd croupier
2. 安装依赖并构建
# 安装 Go 依赖
go mod download
# 生成协议代码
make proto
# 构建所有组件
make build
3. 运行服务
# 启动 Server
./bin/croupier-server --config configs/server.example.yaml
# 启动 Agent
./bin/croupier-agent --config configs/agent.example.yaml
系统架构
核心文档
入门指南
核心概念
架构设计
API 参考
SDK 文档
- C++ SDK - C++ 客户端开发
- Go SDK - Go 客户端开发
- Java SDK - Java 客户端开发
- JavaScript SDK - JS/TS 客户端开发
- Python SDK - Python 客户端开发
分析系统
核心特性
| 特性 | 说明 |
|---|---|
| 零信任安全 | gRPC+mTLS、细粒度 RBAC/ABAC、操作审批与审计日志 |
| 函数注册驱动 | 游戏服务器通过 Agent 注册函数,控制面统一管理 |
| Schema 驱动 UI | X-Render + JSON Schema 自动生成表单和界面 |
| 可观测性解耦 | 控制面与遥测面分离,支持实时事件处理 |
| 多语言 SDK | Go / C++ / Java / JS / Python 全覆盖 |
| 协议优先 | 所有 API 通过 Protocol Buffers 定义 |
相关仓库
| 组件 | 仓库 | 说明 |
|---|---|---|
| Server / Agent / Edge | cuihairu/croupier | 主仓库 |
| Dashboard | cuihairu/croupier-dashboard | Web 管理界面 |
| Proto 定义 | cuihairu/croupier-proto | gRPC/HTTP IDL |
| Go SDK | cuihairu/croupier-sdk-go | Go 客户端 |
| C++ SDK | cuihairu/croupier-sdk-cpp | C++ 客户端 |
| Java SDK | cuihairu/croupier-sdk-java | Java 客户端 |
| JS/TS SDK | cuihairu/croupier-sdk-js | JavaScript/TypeScript |
| Python SDK | cuihairu/croupier-sdk-python | Python 客户端 |
许可证
Apache License 2.0