From 904f8a45d040271802dd41d8fb248f3cb77295f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=B5=E5=AE=9D=E4=BB=99=E5=B0=8A?= Date: Thu, 5 Nov 2026 16:17:10 +0800 Subject: [PATCH] =?UTF-8?q?README=EF=BC=9A=E6=9E=B6=E6=9E=84=E7=AB=A0?= =?UTF-8?q?=E8=8A=82=E6=94=B9=E7=94=A8=E8=A1=A8=E6=A0=BC=EF=BC=8C=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E4=B8=AD=E6=96=87=E5=AE=BD=E5=BA=A6=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84=20ASCII=20=E5=9B=BE=E9=94=99=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 3b245cd..4c3e725 100644 --- a/README.md +++ b/README.md @@ -13,32 +13,19 @@ ## 一、它由哪几块组成 -``` -┌──────────────────────────────────────────────────────────────┐ -│ DNF90启动器.exe (launcher/, Python + pywebview) │ -│ 127.0.0.1:19527 · 单文件 PyInstaller · 六页单窗口 │ -│ ├─ 开始:拉起 / 停止本地服务端,显示连接状态 │ -│ ├─ GM工具:角色 / 道具 / 邮件 / 背包 / 拍卖行 / 任务 / 副本 │ -│ ├─ 一键换装:装备方案套用(Admin API) │ -│ ├─ 游戏设置:活动 / 频道开关 │ -│ ├─ 游戏更新:当前更新 + 历史更新(仓库 Release 合并本地日志) │ -│ └─ 关于我们:赞助码 / QQ群 / 公众号 │ -└───────────────┬──────────────────────────┬───────────────────┘ - │ Native API │ 启动 GM 页服务 - │ 127.0.0.1:18111 │ python gmweb/serve.py - ▼ ▼ -┌───────────────────────────┐ ┌────────────────────────────────┐ -│ DNF90Server.exe (server/) │ │ GM 控制台网页 (gmweb/) │ -│ Go · Admin / GM 接口 │◄──┤ 127.0.0.1:18112 → 代理 18111 │ -│ SQLite: runtime/data/*.db │ │ 游戏内嵌窗口 800×720 │ -└───────────────────────────┘ └────────────────────────────────┘ - ▲ - │ 客户端内嵌调用(DLL 指纹校验) -┌───────────────┴──────────────────────────────────────────────┐ -│ 90CN.dll (client-patch/, C++) 被 90CN_web.ini 控制 │ -│ 接管游戏自带面板 → 弹自己的 WebView2 窗口指向 18112 │ -└──────────────────────────────────────────────────────────────┘ -``` +| 进程 / 组件 | 位置 | 监听 | 职责 | +|------------|------|------|------| +| `DNF90启动器.exe` | `launcher/` | `127.0.0.1:19527` | 拉起与停止服务端、内置 GM 工具、换装、游戏设置、更新日志、关于页 | +| `DNF90Server.exe` | `server/` | `127.0.0.1:18111`(Admin) | 游戏逻辑、账号角色、背包拍卖行任务副本、SQLite 落库 | +| GM 控制台网页 | `gmweb/` | `127.0.0.1:18112` | 游戏内嵌页面,`/api/*` 反代 18111 并注入 admin token | +| `90CN.dll` | `client-patch/` | — | 客户端补丁,接管游戏自带面板,弹 WebView2 窗口指向 18112 | + +调用关系(从玩家视角): + +1. 玩家双击启动器 → 启动器拉起 `DNF90Server.exe`,并顺带起 `gmweb/serve.py` +2. 登录进游戏 → 客户端加载 `90CN.dll`,连本地服务端 `18111`(DLL 指纹不匹配就断开) +3. 点小井盖 → 补丁弹自己的窗口,打开 `http://127.0.0.1:18112/` 的 GM 控制台 +4. 控制台里的所有操作,经 `serve.py` 反代到服务端 Admin 接口执行 ## 二、目录结构