工程参考/其他功能配置
这七张表分属不同子系统,共同点是都在启动时加载、结构改动会直接导致服务起不来。除便捷购买表外都找到了明确读取方。
FeatureOpen.ini(功能开关,23 行)
由 GameServer 启动时读取(调用点 Server.cpp 的 FeatureGate::ServerState().Load("./Config/FeatureOpen.ini"),解析实现位于 Common/FeatureGateConfig.h)。只读一次,不支持热更新,改完要重启该区全部 GameServer。
- 只有一个节
[FeatureOpen],注释用;或#。 - 五个键必须全部出现且只出现一次:
Cultivation(修炼)、Wuhun(武魂)、HappyDDZ(欢乐斗地主)、Longwen(龙纹)、Diaowen(雕纹),值只能 0 或 1。 - 未知键、重复键、缺键都会让解析失败→GameServer 启动失败。
- 可选节
[HappyDDZReward]一旦出现,Type、AmountPerScore、MaxPerWin三个键必须齐全。 - Lua 侧用
LuaFnIsFeatureOpen查询;龙纹与雕纹关闭后保留物品与已有属性,只停止入口和新操作。
KFSConfigTable.ini(武魂重洗权重,15 行)
武魂表加载时附带读取(实现位于 Server/GameServer/Server/Main/GameTable.cpp 的 InitWuhunTables)。
- 节
[KFSQuality],12 个键:LowKFS_GorwRate0..5(低级重洗)与HighKFS_GorwRate0..5(高级重洗)。 - 每键为非负整数;低级组与高级组各自相加必须正好等于 1000,否则武魂表整体加载失败。
- 样本:低级 738/200/50/9/2/1,高级 0/875/100/18/6/1。
CombatLimits.ini(战斗上限,63 行)
启动时由 TLBBCombat::LoadLimits(调用点 Common/ServerBase/Config.cpp)读取,客户端 Data/Config 下有同名副本需同步。
- 七个键必须齐全且各出现一次,键名区分大小写,值为十进制正整数:
RawAttribute(宽属性容量,样本 100 亿)、ItemAttribute(单条物品属性,样本 32767)、SingleSettlement(单次结算,样本 2147483647)、CriticalDisplay(会心显示,样本 9999)、HitFormula(命中公式,样本 100000)、Resistance(抗性,样本 4096)、EffectiveResistance(有效抗性,样本 100)。 - 不要加节名、不要把注释写在数值后面;文件保持 UTF-8 无 BOM、每行少于 255 字节。
- 调低上限前先核对已有存档:超限字段会拒绝装载,不会自动缩小旧数据。
SuperWeaponUp.txt(神器升级,20 列 154 行)
由 ItemTable::InitSuperWeaponUp 加载,必须正好 20 列且至少一行。列为 神器ID、材料种类、神兵符、数量、辅助材料1/数量、辅助材料2/数量、十一个门派目标、花费。约束:
- 神器 ID 必须在蓝装表(
GetBlueItemTB)里存在;材料种类 1..3。 - 用了几个材料位就要几个:对应材料的数量 >0 且不超过背包上限,材料本身必须是普通物品;没用到的材料位必须填 -1/-1;同种材料不能重复。
- 十一个门派目标列(少林、明教、丐帮、武当、峨眉、星宿、天龙、天山、逍遥、无门派、曼陀)每一列都必须是蓝装表里存在的物品。
- 花费 ≥0。神器 ID 重复即失败。
TransportDefine.txt(传送定义,16 列 308 行)
由 TableInit::InitTransportDefine 加载,必须正好 16 列。列为 编号、来源场景名、来源场景号、来源点名、来源 X、来源 Z、三个整数、目标场景号、两个整数、等级下限、目标场景名、目标 X、目标 Z、一个整数。约束:
- 来源与目标场景号都必须 0..MAX_SCENE-1,且不能相同。
- 等级下限与四个坐标都必须 ≥0。
- 编号不重复;只接受静态场景号,参考表里的动态帮会占位号会被拒。
- 任一记录不合法都会 Assert 并中断启动。
StrFilter.txt(敏感词过滤,2663 行)
由 LoginServer 启动时加载(调用点 Server/LoginServer/Login/Main/Login.cpp),读失败 LoginServer 起不来。
- 文件必须是合法 UTF-8、无 BOM、无内嵌零字节。
- 前两行必须逐字等于
INT\tSTRING\tINT\tINT\tINT\tINT(两行表头)。 - 每个数据行 6 个制表符分隔字段:第 1 列必须是纯数字,第 2 列是词根本身(不能为空),第 3–6 列是标记(其中含「按子串匹配」标志)。
- 空行跳过;行格式不对直接拒绝加载。
ConvenientBuyShopTable.txt(便捷购买,9 列 5 行)
八列整数加一列文本,样本是「更换脸型 / 更换发型 / 更换头像 / 更换发色 / 幻世武器」五条便捷购买入口。当前检索未发现读取它的代码(服务端与 Lua 均无),客户端 Data/Config 有同名副本。改它不会改变运行行为,除非后续版本接入。
修改清单
- 关一个系统玩法:改 FeatureOpen.ini 对应键为 0 并重启该区全部 GameServer;不要删键。
- 调武魂重洗分布:改 KFSConfigTable.ini,保持两组各自合计 1000。
- 提高属性上限:改 CombatLimits.ini 并同步客户端副本,重启两端。
- 这三类都是启动硬校验,改前备份并在本地先起一次服务。