工程参考/配置文件/Server/MergeConfig.txt

来自天龙知识库
跳到导航跳到搜索


首页 · 配置文件索引 · 修改约定

MergeConfig.txt 为七类业务保存关闭与重新开放时间。只有对应代码或脚本检查了该开关,才会受影响;不能把它当成关闭整个帮会、商店或交易系统的总开关。

位置与生效 · 文件格式 · 字段详解 · 修改实例

文件位置与生效

项目 说明
运行文件 ./Config/MergeConfig.txt,相对于读取程序的工作目录。源码 resources/Server/Config 是样本位置,实际部署可能另有副本。
读取程序 Server 游戏进程,相关 Lua 脚本读取关闭状态
生效方法 正常重启 Server,或由 access=0 的管理员通过现有 GM 命令入口发送 reloadtab name=MergeConfig。命令查找等号后的完整内容,MergeConfig 大小写精确匹配且不要附带尾随空格;每个 Server 分别执行。此命令不是 Lua 函数。重载不清空未读到的尾部记录,因此保留完整七行,不通过删行、注释某一行来停用。
样本格式 GB18030-compatibleCRLF。保留原编码;源码读取器不会自动把中文转为 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。菜单隐藏不等于对所有请求路径统一封禁,其他入口需要实测。

关联与依据

Server/GMList.ini

其他配置及整理状态 · 服务端外网设置 · 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:实际加载、解析、字段使用或示例关联依据

本页核对源码读取、字段使用与样本格式,未启动游戏、服务端或数据库。解析验证不等于游戏实测;广播、权限、客户端交互等运行结果需要实测。