工程参考/配置文件/Server/SystemInfo.ini
当前 World 使用这份文件循环发送系统广播。样本还带有 [huodongn] 活动字段,但当前活动调度使用 Public/Config/ActivityNotice.txt 的另一组数据;修改本 INI 的活动字段不能据此认为已更改活动日程。
文件位置与生效
| 项目 | 说明 |
|---|---|
| 运行文件 | ./Config/SystemInfo.ini,相对于读取程序的工作目录。源码 resources/Server/Config 是样本位置,实际部署可能另有副本。
|
| 读取程序 | World |
| 生效方法 | 正常保存并停服后,重启读取此文件的 World。多份运行目录分别核对。当前检索未发现单独重载本文件的可用入口;不需要把本文件复制到玩家客户端。 |
| 样本格式 | GB18030-compatible,CRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。
|
[info] 的 broadcount 决定读取多少个 [broadn];每个广播组的正文键确实拼作 contex,不是 context。活动节的保留字段在下表单独标明。
文件格式
使用 [节名] 与 Key=Value,节名和键名区分大小写,保持节标题位于行首。用单独一行分号写注释,保留原编码及 CRLF 换行;重复节或键取先匹配项,不依赖后写覆盖。缺项、空值与 0 分别按下表处理。
字段详解
模板 [n] 表示从 0 开始的序号,写入时应展开为实际数字;不是字面键名。
[info]
| 字段与类型 | 含义与修改要点 | 缺项或特殊值 |
|---|---|---|
broadcount非负整数,广播条数 |
读取连续 [broad0] 到 [broadN-1]。0 关闭本文件的循环广播,并让此加载函数直接返回,后面的 INI 活动字段也不会读取。没有核对到适合作为推荐值的硬上限,按实际公告数量填写。 | 缺失为 0;不要使用负数,后续初始化检查非负。 |
broadtime正整数,毫秒 |
相邻两条广播的间隔。60000 为一分钟;有 N 条时同一条通常隔 N 个间隔再次发送,实际受心跳执行时刻影响。 | 缺失为 0;0 或负数会使有广播时每次心跳都尝试发送,不能用来停播。 |
huodongcount整数,0 到 256 |
只决定读取本 INI 的 [huodongn] 旧数据。当前活动定时器取 ActivityNotice.txt 的条数,与此值分开。 | 缺失为 0;非正数不读活动组,超过 256 会截到容量并触发断言。 |
[broad[n]]
| 字段与类型 | 含义与修改要点 | 缺项或特殊值 |
|---|---|---|
contex字符串,广播正文 |
从 n=0 到 broadcount-1 顺序循环发送。保存缓冲为 256 字节;正文用原文件编码,控制在 255 字节以内,还受聊天消息长度限制,中文不能按字符数当字节数。 | 启用的每组必填;缺项会触发断言。空值不能用来关闭整轮广播。 |
[huodong[n]]
| 字段与类型 | 含义与修改要点 | 缺项或特殊值 |
|---|---|---|
opt_type操作类型整数 |
当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |
time_type时间模式整数 |
当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |
time_start起始时间编码整数 |
当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |
time_end结束时间编码整数 |
当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |
scene场景 ID 整数 |
当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |
scriptid脚本 ID 整数 |
当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |
param0样本整数项 |
当前 Init_SystemInfo 未读取此键。不能把它当作第一个会传给活动脚本的参数。 | 样本保留项;当前检索范围未发现此键加载依据。 |
param1整数,旧活动参数 |
仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | 可选,缺失保留原结构值;首次构造为 0。 |
param2整数,旧活动参数 |
仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | 可选,缺失保留原结构值;首次构造为 0。 |
param3整数,旧活动参数 |
仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | 可选,缺失保留原结构值;首次构造为 0。 |
param4整数,旧活动参数 |
仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | 可选,缺失保留原结构值;首次构造为 0。 |
param5整数,旧活动参数 |
仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | 可选,缺失保留原结构值;首次构造为 0。 |
常用修改实例
示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。
调整现有广播的发送间隔
修改前:
[info] broadcount=2 broadtime=60000 [broad0] contex=Welcome to the test server. [broad1] contex=Scheduled maintenance is announced here.
修改后:
[info] broadcount=2 broadtime=300000 [broad0] contex=Welcome to the test server. [broad1] contex=Scheduled maintenance is announced here.
本例有两条教学广播,把相邻发送间隔由一分钟改为五分钟,同一条大约每十分钟出现一次。实际操作保留原 broadcount、全部正文和活动字段,只改 broadtime。英文正文用于提供无编码歧义的示例文件,不是必须替换的公告内容;广播效果需要登录游戏观察。
验证与排查
重启 World 后观察系统频道的发送顺序、间隔和中文显示。保存旧正文与时间;失败时正常停服后恢复。活动是否开始不用于验证本例,因为活动调度数据源不同。
停止循环广播应把 broadcount 改为 0,不是把 broadtime 改成 0。若要调整活动,先在配置索引中定位 Public/ActivityNotice.txt,待其读取规则与业务效果核对后再修改。不要把 INI 中存在一个键理解为当前程序一定拿它执行对应功能。
关联与依据
其他配置及整理状态 · 服务端外网设置 · Lua 接口索引
Common/ServerBase/Ini.cpp:实际加载、解析、字段使用或示例关联依据Common/ServerBase/Ini.h:实际加载、解析、字段使用或示例关联依据Server/Server/WorldServer/World/Main/WorldTable.cpp:实际加载、解析、字段使用或示例关联依据Server/Server/WorldServer/World/Main/WorldTable.h:实际加载、解析、字段使用或示例关联依据Server/Server/WorldServer/World/WorldData/SystemInfo.cpp:实际加载、解析、字段使用或示例关联依据Common/ServerBase/TimeManager.cpp:实际加载、解析、字段使用或示例关联依据
本页核对源码读取、字段使用与样本格式,未启动游戏、服务端或数据库。解析验证不等于游戏实测;广播、权限、客户端交互等运行结果需要实测。