You've already forked CC-Framework.BriskGameServer
Brisk Game Service
Brisk 游戏服务端工程。
当前已实现模块:
- 平台授时
time - 客户端初始化
bootstrap - 登录换票
auth - 玩家信息
player - 动态配置
config - 公告
announcements - 排行榜
ranks - 云存档
archives - 玩家空间
spaces - 管理后台认证、项目、配置、公告、排行榜、存档、玩家、空间、审计
- Worker 清理任务与基础限流
当前核心模型
- 项目唯一标识只有
game_key - 项目级
channel / platform已移除 - 初始化和动态配置只依赖
game_key,配置筛选只看client_version - 平台授时接口不依赖
game_key,可直接匿名获取 UTC 服务器时间 - 登录模块单独处理第三方身份:
login_provider:如taplogin_user_id:该登录平台返回的稳定唯一用户 ID
- 服务端登录成功后返回内部:
player_idproject_account_idaccess_token
- 空间、排行榜后台筛选等模块支持直接使用
login_provider + login_user_id - 内部仍优先解析到
player_id再执行业务查询,便于性能和统一索引
本地运行
推荐使用 Docker Compose:
copy .env.example .env
docker compose up --build
默认接口:
GET /healthGET /api/pingGET /api/client/timeGET /openapi.yaml
开发环境默认账号:
- 后台用户名:
admin - 后台密码:
admin123456 - 后台操作员:
operator - 操作员密码:
operator123456
接入说明
- 平台授时:
- 匿名接口
GET /api/client/time - 无需传
game_key - 返回
server_time、server_unix、server_unix_ms
- 匿名接口
- 客户端初始化:
- 必填
game_key - 可选
client_version device_id仅作透传与诊断辅助
- 必填
- 客户端登录:
- 必填
game_key - 必填
login_provider login_user_id与code二选一- 可选透传
nickname、avatar_url、profile_json
- 必填
- 云存档:
- 支持二进制文件上传/下载,适合直接存游戏存档 bytes
- 玩家空间:
- 主信息接口返回空间元数据
- 自定义空间内容通过独立二进制接口上传/下载
- 支持任意 bytes,兼容二进制、文本、JSON、protobuf、msgpack 等格式
- 空间点赞按
Asia/Shanghai自然日计周期,同一玩家对同一空间每天最多记一次点赞 - 空间点赞相关接口返回累计点赞数
like_count、当日点赞数today_like_count、当日是否已点赞liked_by_me - 最近访问列表支持可选
limit参数,默认50条,最大100条
测试脚本
Windows PowerShell:
.\scripts\smoke-test.ps1
.\scripts\acceptance.ps1 -Tasks all -ManageStack
.\\scripts\\acceptance.ps1 -Tasks space -ManageStack
迁移
数据库迁移目录:
- 0001_init.sql
- 0008_identity_and_config_simplification.sql
- 0009_space_binary_content.sql
- 0010_space_like_daily_cycle.sql
服务启动时会自动执行未应用迁移。
根目录文档
目录说明
cmd/:启动入口internal/:内部实现deployments/:部署配置docs/:历史设计文档与补充资料scripts/:脚本