Files
metin2-client/tools/server/ring-warp/README.md
T

54 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 移动戒指(203 服务端)
物品 70058 通过 special_item_group 10031 的 `sig_use` 触发 `ring_warp`。
戒指不限等级、次数,不消耗物品,也没有自身冷却。传送仍遵守服务端的 `pc.can_warp()` 检查。
百店老板娘的商城出售此物品(`../npc-shops/item-mall`,1 金币)。
2026-09-30 补齐 203 的 `newcibn/map/index` 全部 **65 张地图**,包括活动、战争和测试地图。
目录及坐标来自实际服务器的 `index`、`Setting.txt`、`Town.txt`、`npc.txt`,保存在 `maps.json`。
部分地图名称采用中文描述,目录名和地图编号用于唯一对应。
| 分类 | 数量 | 操作 |
| --- | ---: | --- |
| 各国村庄 | 6 | 传送至各国一村、二村 |
| 野外地图 | 13 | 传送至地图出生点 |
| 洞穴与副本 | 15 | 普通洞穴传送;受限副本传送至原有入口 |
| 公会地图 | 6 | 公会领地及公会村庄 |
| 活动与战争 | 20 | 列出地图及原有入场方式,保留报名、婚礼及战争流程 |
| 测试地图 | 5 | 所有人可查看;仅 GM 可传送 |
每页最多 5 个地点,包含上一页、下一页、返回分类;选择传送后再确认。
受限副本编号为 66、71、72、73、208、216、217、351。蜘蛛洞三层先经一层守卫进入二层;
流放二层和蓝龙巢穴先经流放洞窟入口进入,戒指不绕过通行证、血石、组队及副本入场条件。
活动地图只显示入场说明,避免进入尚未开放或未分配给玩家的场景。
资源活动地图 101 的服务器 Town.txt 坐标在地图边界外,目录记录保留原值,未用于传送。
## 修改与验证
修改 `maps.json` 后执行:
```sh
python3 tools/server/ring-warp/generate.py
python3 tools/server/ring-warp/tests/test_ring.py SERVER_LIBLUA_DIRECTORY LIVE_MAP_INDEX
```
测试使用 40250 服务端的 Lua 5.0 源码构建临时解释器,执行生成的真实任务函数。
检查地图覆盖、坐标边界、GBK 编码、全部 65 个地点的选择,以及翻页、取消、传送限制和 GM 权限。
可增加第三个参数 `COMPILED_OBJECT_ROOT`,直接验证服务器 qc 生成的两个任务对象。
## 安装
从此目录在服务器执行:
```sh
sh install.sh --quest-only # 仅更新任务;每个 game core 重载任务或重启 game
sh install.sh # 同时安装物品名、移除等级限制;首次安装需重启 db/game
```
安装前备份任务源码、两个任务对象、物品表至 `/root/backup-ringwarp/<时间>`。
先在隔离目录编译并检查结果,再替换 ring_warp 的两个对象;不会清空其他任务对象。
`--quest-only` 不更改物品表或数据库,不需要重启 db/auth。
任务转换成 GBK;拒绝包含反斜杠字节的编码,避免 qc 解析异常。
203 已于本次部署仅重启四个 game core,db/auth 保持运行。此次是服务端任务更新,已有客户端重登后即可使用。