工程参考/配置文件/Server/MergeConfig.txt
MergeConfig.txt 为七类业务保存关闭与重新开放时间。只有对应代码或脚本检查了该开关,才会受影响;不能把它当成关闭整个帮会、商店或交易系统的总开关。
文件位置与生效
| 项目 | 说明 |
|---|---|
| 运行文件 | ./Config/MergeConfig.txt,相对于读取程序的工作目录。源码 resources/Server/Config 是样本位置,实际部署可能另有副本。
|
| 读取程序 | Server 游戏进程,相关 Lua 脚本读取关闭状态 |
| 生效方法 | 正常重启 Server,或由 access=0 的管理员通过现有 GM 命令入口发送 reloadtab name=MergeConfig。命令查找等号后的完整内容,MergeConfig 大小写精确匹配且不要附带尾随空格;每个 Server 分别执行。此命令不是 Lua 函数。重载不清空未读到的尾部记录,因此保留完整七行,不通过删行、注释某一行来停用。 |
| 样本格式 | GB18030-compatible,CRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。
|
数据行必须依次为 Procreate、Guild、City、PShop、Commision、YBCash、YBUse,KEY 区分大小写,Commision 保留原拼写。程序按数据行位置核对 KEY,改变第一列索引不能改变规定顺序。
文件格式
首行是类型行:INT STRING STRING INT INT;第二行是列名行,程序跳过其内容;从第三行开始读取数据。各列用真实 Tab 分隔,保留首列、空列及行尾,不用空格代替。数据行行首 # 表示注释,分号不是此表的注释规则。首列为空的行被跳过;不足的尾列补为空值,多余列不参与本页字段读取。空整数和非数字经 atoi 可能成为 0,空字符串仍为空,不把解析成功当作业务合法。第一列须唯一,重复会触发读取器错误。
字段详解
列号从 1 开始,源码列下标从 0 开始。
| 字段与类型 | 含义与修改要点 | 缺项或特殊值 |
|---|---|---|
第 1 列INT:索引 |
第一列为 DBC 唯一索引,保留 0..6 的样本惯例。业务类型由数据行位置决定,不按此值寻找 KEY。 | 须非空且唯一;重复索引触发解析错误。 |
第 2 列STRING:KEY |
七行固定顺序:0 Procreate 珍兽繁殖入口;1 Guild 创建帮会入口;2 City 申请城市入口;3 PShop 开店入口;4 Commision 元宝寄售入口;5 YBCash 元宝票 NPC 兑换预留项;6 YBUse 使用元宝票。详细影响以本页说明的消费处为准。 | 必填且精确匹配。最多七行,缺行不保证清除旧内存值。 |
第 3 列STRING:描述 |
人工阅读用说明列,加载器没有拿这一列决定业务类型。保留列位置和 Tab,即使不用说明也要保留空列。 | 可为空字符串;不填在时间列中。 |
第 4 列INT:打烊时间(YYMMDDHH) |
关闭时间下界,按服务器当前本地日期小时比较,包含该小时。26091002 表示 2026-09-10 02 时;不是 Unix 秒、毫秒或 YYYYMMDDHH。没有分钟精度。 | 构造时初值 0;正常配置明确填写。0 不单独表示关闭功能,必须与结束值一起判断。 |
第 5 列INT:再次营业时间(YYMMDDHH) |
重新开放时间上界,不包含该小时。仅当 关闭时间 <= 当前值 < 重新开放时间,状态才为关闭。26091005 表示到 2026-09-10 05 时恢复。 | 两列同为 0 不关闭;相等或结束早于开始都没有满足条件的区间。不存在自动跨日修正。 |
常用修改实例
示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。 以下代码块保留真实 Tab;本地示例文件为 ASCII/CRLF,列名用英文便于核对分隔符。
安排一次三小时的繁殖入口关闭窗口
修改前:
INT STRING STRING INT INT Index KEY Description CloseTime ReopenTime 0 Procreate Procreate 0 0 1 Guild Guild 0 0 2 City City 0 0 3 PShop PShop 0 0 4 Commision Commision 0 0 5 YBCash YBCash 0 0 6 YBUse YBUse 0 0
修改后:
INT STRING STRING INT INT Index KEY Description CloseTime ReopenTime 0 Procreate Procreate 26091002 26091005 1 Guild Guild 0 0 2 City City 0 0 3 PShop PShop 0 0 4 Commision Commision 0 0 5 YBCash YBCash 0 0 6 YBUse YBUse 0 0
全部七行保留,只把 Procreate 的时间由 0/0 改为 26091002/26091005。按服务器本地时间,在 2026-09-10 02:00 到 05:00 之间返回关闭状态,其他行保持原值;这些日期是教学值,实际应换成计划日期。源码样本不一定原为 0/0,操作时只改目标行的两列,不替换其他业务的现有安排。表格式本身不验证真实日历日期,务必检查月份、日和小时。
验证与排查
在独立测试环境检查服务器时区、当前日期与目标七行,重载后查看 LoadMergeConfigTable Done 日志。用正常脚本回调中的 IsShutout(sceneId,selfId,opType) 显式比较:1 为关闭、0 为未关闭,失败可能为 -1;不要用 Lua 的 if result 判断,因为 0 也为真。边界应分别验证开始前、开始小时、结束小时。失败时恢复完整七行并重载或重启;恢复配置不回滚期间已经完成的业务操作。
已核对的脚本消费效果:Procreate 隐藏“珍兽繁殖”选项;Guild 隐藏“创建帮会”;City 隐藏“申请城市”;PShop 把“建立自己的商店”分支换成“注销我的店铺”,其他商店管理入口仍在;Commision 隐藏“我想寄售元宝”,还受 IsCloseYuanBaoSell 开关约束。YBCash 的样本脚本调用已注释,当前检索范围未发现活跃消费,不能承诺其业务效果。YBUse 在服务端使用物品编号 30501036 时检查,关闭期间不执行 UseYuanBaoTicket。菜单隐藏不等于对所有请求路径统一封禁,其他入口需要实测。
关联与依据
其他配置及整理状态 · 服务端外网设置 · Lua 接口索引
Common/DataBase/TLBB_DBC.cpp:实际加载、解析、字段使用或示例关联依据Common/DataBase/TLBB_DBC.h:实际加载、解析、字段使用或示例关联依据Common/ServerBase/TimeManager.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Other/MergeServerManagerG.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Other/MergeServerManagerG.h:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Main/Server.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Packets/CGCommandHandler.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Packets/CGUseItemHandler.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Script/LuaFnRegister.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Script/LuaFnTbl_Attr.h:实际加载、解析、字段使用或示例关联依据Server/Server/GameServer/Server/Script/LuaFnMacro.h:实际加载、解析、字段使用或示例关联依据resources/Public/Data/Script/ScriptGlobal.lua:实际加载、解析、字段使用或示例关联依据resources/Public/Data/Script/event/petprocreate/PetProcreateRegister.lua:实际加载、解析、字段使用或示例关联依据resources/Public/Data/Script/event/misc/commisionshop.lua:实际加载、解析、字段使用或示例关联依据resources/Public/Data/Script/obj/luoyang/oluoyang_fanchunren.lua:实际加载、解析、字段使用或示例关联依据resources/Public/Data/Script/obj/luoyang/oluoyang_qiaofusheng.lua:实际加载、解析、字段使用或示例关联依据resources/Public/Data/Script/obj/qianzhuang/oqianzhuang_suishenyuanbao.lua:实际加载、解析、字段使用或示例关联依据
本页核对源码读取、字段使用与样本格式,未启动游戏、服务端或数据库。解析验证不等于游戏实测;广播、权限、客户端交互等运行结果需要实测。