文档:图集包改为从归档获取(不再随仓库分发)
README 新增「资源包从哪来」小节:给出归档 URL、sha256 与解包命令;后续小节编号顺延。 HANDOVER 同步说明归档位置(nginx → /var/www/d2assets/),并记录 Gitea Release 附件在本实例 不可用(1KB..59.5MB 全部 HTTP 500),因此走 /diablo2/assets/。 samples/d2/MANIFEST.md 同样加了说明,但该文件在被忽略的 samples/d2/ 下,不入 Git。
This commit is contained in:
parent
afa5597168
commit
a1af1d7304
|
|
@ -41,7 +41,10 @@ npm run net-server # 等价于 node scripts/net-server.ts 8787
|
|||
资源包(离线解包,页面默认路径):
|
||||
|
||||
```bash
|
||||
npm run pack:data # scripts/pack-act-assets.ts → samples/d2-packs(62 个地图块 / 35 关,约 46.8 MB)
|
||||
npm run pack:data # scripts/pack-act-assets.ts → samples/d2-packs(62 个地图块 / 35 关,约 67 MB)
|
||||
# 图集包不在 Git 里(每次重烘会让仓库再长 ~60 MB,PNG 无法 delta 压缩)。发布归档:
|
||||
# https://www.laiseek.xyz/diablo2/assets/d2-packs-<日期>.tar.xz (nginx → /var/www/d2assets/)
|
||||
# Gitea 的 Release 附件在本实例(124.221.104.39)是坏的:1KB..59.5MB 全部 HTTP 500
|
||||
npm run verify:packs # 与现读现解逐项比对:绘制序/坐标、碰撞栅格逐字节、每帧像素 FNV 哈希(992/992)
|
||||
npm run verify:listfile # 用社区 1.13c listfile 逐归档判定"这个成员到底存不存在"
|
||||
npm run verify:deploy # 线上 /diablo2/ 页面 + 资源包 + Range 206 + 旧入口 410(17/17)
|
||||
|
|
|
|||
29
README.md
29
README.md
|
|
@ -41,9 +41,23 @@ scripts/ 资源包烘焙、格式/数据/部署校验、无头浏览器检
|
|||
|
||||
把你自己合法拥有的**经典版暗黑破坏神 II(1.13c)** 数据放进 `samples/d2/`,至少需要
|
||||
`d2data.mpq`、`d2char.mpq`、`d2exp.mpq`、`Patch_D2.mpq`。资源包模式(页面默认)只需要
|
||||
`samples/d2-packs/`——本仓库已附带 62 个地图块,所以**没有原版数据也能看地图**。
|
||||
`samples/d2-packs/`——它不在 Git 里(63 MB 的索引 PNG 每次重烘都会让仓库再长一份),
|
||||
按下面的「资源包从哪来」下载解包后,**没有原版数据也能看地图**。
|
||||
|
||||
### 2. 本地跑起来
|
||||
### 2. 资源包从哪来(不在 Git 里)
|
||||
|
||||
图集包(62 个地图块 / 35 关,索引色 PNG + `scene.json`)以归档形式发布,**不入 Git**:
|
||||
|
||||
```bash
|
||||
curl -O https://www.laiseek.xyz/diablo2/assets/d2-packs-2026-09-14.tar.xz
|
||||
sha256sum d2-packs-2026-09-14.tar.xz # 应为 9cdfd0c19ac68de842c6725070b65d056e25f5bcc77f36d6d9a29cd9f1b431e8
|
||||
tar xJf d2-packs-2026-09-14.tar.xz # 解出 samples/d2-packs/
|
||||
```
|
||||
|
||||
同目录还有 `d2-packs-2026-09-14.sha256`。仓库里只保留 `.gitignore` 规则与本文档;
|
||||
要自己生成包就照第 3 步 `npm run pack:data` 从原版 MPQ 烘焙。
|
||||
|
||||
### 3. 本地跑起来
|
||||
|
||||
```bash
|
||||
npm install # 仅 vite / typescript / @types/node
|
||||
|
|
@ -53,10 +67,10 @@ npm run pack:data # 从 samples/d2/ 烘焙 62
|
|||
npm run dev # http://127.0.0.1:5173/acts.html
|
||||
```
|
||||
|
||||
`pack:data` 需要原版 MPQ(约 2 分钟);只用仓库自带的 `samples/d2-packs/` 可以跳过它,
|
||||
`pack:data` 需要原版 MPQ(约 2 分钟);只用上面下载来的 `samples/d2-packs/` 可以跳过它,
|
||||
代价是 `?live=1` 与重新烘焙不可用。
|
||||
|
||||
### 3. 页面与操作
|
||||
### 4. 页面与操作
|
||||
|
||||
| 页面 | 用途 |
|
||||
| --- | --- |
|
||||
|
|
@ -78,7 +92,7 @@ npm run dev # http://127.0.0.1:5173/act
|
|||
|
||||
操作:**WASD / 方向键**移动(按屏幕方向),**滚轮 或 `+` / `-`** 缩放,`0` 复位;画布随窗口自适应并铺满视口。
|
||||
|
||||
### 4. 部署到服务器
|
||||
### 5. 部署到服务器
|
||||
|
||||
```bash
|
||||
npm run build:game # → dist-game/(base=/diablo2/)
|
||||
|
|
@ -111,7 +125,7 @@ location ~ ^/diablo2/data/(?<d2file>[A-Za-z0-9_.-]+\.mpq)$ { # 只暴露 .mpq
|
|||
要点:归档必须支持 **Range**(否则页面会退化成整文件下载);`/root` 是 0700,所以用硬链接暴露给 nginx。
|
||||
部署后跑 `npm run verify:deploy` 自检。
|
||||
|
||||
### 5. 自检命令
|
||||
### 6. 自检命令
|
||||
|
||||
```bash
|
||||
npm run verify:deploy # 线上:页面 / 资源包索引 / 图集 / Range 206 / 旧入口 410
|
||||
|
|
@ -129,6 +143,7 @@ npm run typecheck # tsc --noEmit
|
|||
|
||||
- 仓库**不含**暴雪美术:原版 MPQ、`reference/` 下的第三方参考源码都不入库(规则写在 `.gitignore` 与
|
||||
[`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md));`samples/fixtures/`(本项目自产)与
|
||||
`samples/d2-packs/`(本仓库内的派生数据)仅在本私有仓库内流通。
|
||||
`samples/d2-packs/`(派生数据)只作为 `/diablo2/assets/` 下的归档发布,不进 Git 历史。
|
||||
图集包每次重烘都会让 Git 仓库再长 ~60 MB(PNG 无法 delta 压缩),所以不再入库。
|
||||
- 使用本引擎需要你自己合法拥有的游戏数据。将来落地的生成类关卡(迷宫 / 野外)会在页面与文档中标注为
|
||||
**"按官方参数表复现,非引擎原版布局"**(生成逻辑移植自 D2MOO)。
|
||||
|
|
|
|||
Loading…
Reference in New Issue