# Brass Birmingham Linux Native Backend v1 Usable 这是一个基于现有客户端协议反推出来的 Linux 原生后端,用来替代原始 Windows 服务端。 ## 版本定位 `v1-usable` 是当前可用的基线版本,重点覆盖: - 登录 / 注册 - 当前用户信息 - 房间列表 / 创建 / 加入 / 离开 - 事件读写 - `lastSeenRevision` 更新 ## 目录 ```text linux-native-backend-v1-usable/ app/ server.py data/ users.json games.json run.sh docker-compose.yml ``` ## 快速启动 ### Docker Compose ```bash docker compose up -d --build ``` 默认监听 `8765` 端口。 ### 本机运行 ```bash chmod +x run.sh ./run.sh ``` 也可以手动指定: ```bash HOST=0.0.0.0 PORT=8765 ./run.sh ``` ## Docker 镜像 Docker Hub 仓库: ```text docker.io/sigema/brass-birmingham-backend ``` ## 数据持久化 用户和房间数据保存在 `data/`: - `data/users.json` - `data/games.json` 容器方式运行时,建议把该目录挂载出去,避免重建后数据丢失。 ## 认证 支持以下方式: - `Authorization: Bearer fake-token-` - `access_token: fake-token-` - `X-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//players` - `DELETE /1.0.0/games//players` - `GET /1.0.0/games//events` - `POST /1.0.0/games//events` - `DELETE /1.0.0/games//events` - `GET /1.0.0/games//events-and-metadata` - `POST /1.0.0/games//events-and-metadata` - `POST /1.0.0/games//metadata/lastSeenRevision` - `POST /1.0.0/devices` - `GET /debug/games` ## 测试 ```bash python test_local.py python test_turn_progression.py ``` ## 说明 - 这是逆向恢复版实现,不保证覆盖所有隐藏边缘逻辑。 - 当前版本以“可用”为目标,后续可以继续对齐真实客户端返回结构。