# evo_tk_opc **Repository Path**: devgsj/evo_tk_opc ## Basic Information - **Project Name**: evo_tk_opc - **Description**: 进化三国游戏一人公司(数字员工版)成本35+15/月+token用量 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-11 - **Last Updated**: 2026-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # evo_tk_opc — 新三国OL(网页版) 三国题材网页策略游戏重制项目(hxsg_remake / sgjm)。本仓库为 monorepo,包含 C 语言游戏后端、原生 HTML/JS 网页客户端、Playwright 端到端测试与官网落地页。 ## 仓库结构 | 目录 | 说明 | | --- | --- | | `gameserver/` | C 语言游戏后端:mongoose HTTP 服务 + SQLite 存储,监听 `:8813` | | `client/html_version/` | 原生 HTML + jQuery + Bootstrap 客户端,`proxy_serve.py` 本地服务于 `:8089` 并反代 `/hop/api/*` | | `test/` | Playwright 端到端测试(后端 API、登录注册 UI 流程、console 错误巡检) | | `scripts/` | 纯 stdlib 运维脚本:`playtest/api_smoke.py`(L1 端到端冒烟)、`playtest/console_triage.py`(console 报错归并/工单导出)、`playtest/ui_audit_triage.py` + `playtest/ui_audit_run.sh`(UI 控件巡检归并/工单/一键入口)、`playtest/worktree_audit.py`(worktree 分支未合入审计)、`gen_changelog.py`(刷新 `client/html_version/changelog.json` 静态兜底)、`ops/daily_metrics.py`(玩家行为日报)+ `ops/ops_calendar.py`(运营日历执行器,口径见 `doc/ops/README.md`) | | `website/` | 官网落地页(纯静态) | | `doc/` | 设计与规划文档(`Future.md` 远期架构、`today.md` 当日计划、`PLAN.md` 项目结构、`vps.md` 部署信息、`playtest-smoke.md` 冒烟说明、`console-bug-workflow.md`/`ui-audit-workflow.md`/`worktree-audit-workflow.md` 巡检与修 bug 闭环;`growth/` 增长方案、`security/` 安全规划、`ops/` 行为日报与运营日历产物,及按日期归档的 `review-*`/`ops-doctor-*`/`failure-review-*` 运维记录) | ## 快速开始 ### 1. 编译并启动后端(gameserver) ```bash cd gameserver # 首次编译先运行 bash setup.sh --deps-only 补齐 vendored 依赖(mongoose.c/.h、sqlite3.c/.h,见 gameserver/README.md) make # 生成 model/model.a 并链接出 hop ./hop # 必须在 gameserver/ 目录下启动(数据库使用 ./data/*.db 相对路径) ``` 后端监听 `http://0.0.0.0:8813`,提供 `/hop/api/user_mgr`、`/hop/api/msg_mgr`、`/hop/api/orders_mgr` 三个接口,详见 `gameserver/README.md`。 ### 2. 启动客户端(client) ```bash cd client/html_version python3 proxy_serve.py # Windows 可运行 serve.bat # 浏览器打开 http://localhost:8089/index.html ``` 客户端 `js/common.js` 的 `UrlBase` 为 `"/"`(同源),请求由 `proxy_serve.py` 反代至 `:8813`;也可改为 `http://localhost:8813/` 直连后端(后端已返回 `Access-Control-Allow-Origin: *`)。 ### 3. 运行测试 ```bash cd test npm install npx playwright test ``` 前提:后端 `hop` 运行于 `:8813`、客户端静态服务运行于 `:8089`,且系统已安装 Chrome(`channel: 'chrome'`,无需下载浏览器)。注册测试账号使用的注册码见 `client/html_version/js/index.js`。各 spec 说明见 `test/README.md`。 ### 4. 其他校验(按需) ```bash # C 单元测试(无需 vendored 依赖,链接系统 sqlite3 + 自带 shim) bash gameserver/test/test_model/build.sh bash gameserver/test/test_controller/build.sh # L1 端到端冒烟:POST 打穿真实游玩路径(需 hop 或 proxy_serve 已启动) make -C gameserver smoke # 等价 python3 scripts/playtest/api_smoke.py # 离线自检(无需任何服务运行) python3 client/html_version/proxy_serve.py --selftest # 反代/health/client_log python3 scripts/playtest/console_triage.py --selftest # 报错归并输出格式 python3 scripts/playtest/ui_audit_triage.py --selftest # UI 审计归并/工单输出 python3 scripts/playtest/worktree_audit.py --selftest # worktree 审计输出 # 周期巡检与运营(按需;闭环见 doc/*-workflow.md 与 doc/ops/README.md) bash scripts/playtest/ui_audit_run.sh # UI 控件巡检一键入口(需 8813/8089) python3 scripts/playtest/worktree_audit.py # worktree 未合入分支审计(只读 git) python3 scripts/ops/daily_metrics.py --date today # 玩家行为日报 → doc/ops/daily-*.md python3 scripts/ops/ops_calendar.py --dry-run # 运营日历演练(零写入) ``` ## 部署 `gameserver/deploy.sh` 通过 rsync 将源码同步至 VPS(连接信息见 `doc/vps.md`)、远端 `rebuild.sh` 重编译并以 `hup.sh` 重启;Windows 下可用 `gameserver/deploy.bat` 调起同一脚本。