Brass Birmingham Linux Native Backend v1 Usable

这是一个基于现有客户端协议反推出来的 Linux 原生后端,用来替代原始 Windows 服务端。

版本定位

v1-usable 是当前可用的基线版本,重点覆盖:

  • 登录 / 注册
  • 当前用户信息
  • 房间列表 / 创建 / 加入 / 离开
  • 事件读写
  • lastSeenRevision 更新

目录

linux-native-backend-v1-usable/
  app/
    server.py
  data/
    users.json
    games.json
  run.sh
  build-image.sh
  docker-compose.yml

快速启动

Docker Compose

docker compose up -d --build

默认监听 8765 端口。

本机运行

chmod +x run.sh
./run.sh

也可以手动指定:

HOST=0.0.0.0 PORT=8765 ./run.sh

Docker 镜像

chmod +x build-image.sh
./build-image.sh

可用环境变量自定义镜像名:

IMAGE_NAME=myrepo/brass-backend IMAGE_TAG=v1 ./build-image.sh

推送到 Docker Hub

先登录:

docker login -u sigema

给本地镜像打 tag

docker tag brass-birmingham-backend:latest docker.io/sigema/brass-birmingham-backend:latest
docker tag brass-birmingham-backend:latest docker.io/sigema/brass-birmingham-backend:v1-usable

推送镜像:

docker push docker.io/sigema/brass-birmingham-backend:latest
docker push docker.io/sigema/brass-birmingham-backend:v1-usable

如果仓库还不存在,先在 Docker Hub 创建:

  • 仓库名:sigema/brass-birmingham-backend
  • 地址:https://hub.docker.com/

数据持久化

用户和房间数据保存在 data/

  • data/users.json
  • data/games.json

容器方式运行时,建议把该目录挂载出去,避免重建后数据丢失。

认证

支持以下方式:

  • Authorization: Bearer fake-token-<user_id>
  • access_token: fake-token-<user_id>
  • X-User-Id: <user_id>

API

  • POST /login
  • POST /login/with/e-mail
  • POST /register
  • GET /me
  • POST /logout
  • POST /password/email
  • GET /1.0.0/games
  • POST /1.0.0/games
  • PUT /1.0.0/games/<game_id>/players
  • DELETE /1.0.0/games/<game_id>/players
  • GET /1.0.0/games/<game_id>/events
  • POST /1.0.0/games/<game_id>/events
  • DELETE /1.0.0/games/<game_id>/events
  • GET /1.0.0/games/<game_id>/events-and-metadata
  • POST /1.0.0/games/<game_id>/events-and-metadata
  • POST /1.0.0/games/<game_id>/metadata/lastSeenRevision
  • POST /1.0.0/devices
  • GET /debug/games

测试

python test_local.py
python test_turn_progression.py

说明

  • 这是逆向恢复版实现,不保证覆盖所有隐藏边缘逻辑。
  • 当前版本以“可用”为目标,后续可以继续对齐真实客户端返回结构。
S
Description
brass birimingham 自建后端
Readme
111 KiB
Languages
Python 98.7%
Shell 0.9%
Dockerfile 0.4%