移动戒指(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 后执行:
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 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 保持运行。此次是服务端任务更新,已有客户端重登后即可使用。