查看“︁工程参考/配置文件/Server/SystemInfo.ini”︁的源代码
来自天龙知识库
←
工程参考/配置文件/Server/SystemInfo.ini
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:<span style="font-size:24px;line-height:1.4;overflow-wrap:anywhere;">工程参考/配置文件/Server/SystemInfo.ini</span>}} __NOTOC__ <div class="config-file-reference" style="max-width:1200px;margin:0 auto;line-height:1.8;color:#29343a;font-family:Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;overflow-wrap:anywhere;"> [[首页|首页]] · [[工程参考/配置文件索引|配置文件索引]] · [[工程参考/配置文件修改约定|修改约定]] 当前 World 使用这份文件循环发送系统广播。样本还带有 [huodongn] 活动字段,但当前活动调度使用 Public/Config/ActivityNotice.txt 的另一组数据;修改本 INI 的活动字段不能据此认为已更改活动日程。 [[#文件位置与生效|位置与生效]] · [[#文件格式|文件格式]] · [[#字段详解|字段详解]] · [[#常用修改实例|修改实例]] == 文件位置与生效 == {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="width:24%;text-align:left;background:#edf3f2;padding:8px;" | 项目 ! scope="col" style="width:76%;text-align:left;background:#edf3f2;padding:8px;" | 说明 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 运行文件 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">./Config/SystemInfo.ini</code>,相对于读取程序的工作目录。源码 resources/Server/Config 是样本位置,实际部署可能另有副本。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 读取程序 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | World |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 生效方法 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 正常保存并停服后,重启读取此文件的 World。多份运行目录分别核对。当前检索未发现单独重载本文件的可用入口;不需要把本文件复制到玩家客户端。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 样本格式 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">GB18030-compatible</code>,<code style="white-space:normal;overflow-wrap:anywhere;">CRLF</code>。保留原编码;源码读取器不会自动把中文转为 UTF-8。 |} [info] 的 broadcount 决定读取多少个 [broadn];每个广播组的正文键确实拼作 contex,不是 context。活动节的保留字段在下表单独标明。 == 文件格式 == 使用 [节名] 与 Key=Value,节名和键名区分大小写,保持节标题位于行首。用单独一行分号写注释,保留原编码及 CRLF 换行;重复节或键取先匹配项,不依赖后写覆盖。缺项、空值与 0 分别按下表处理。 == 字段详解 == 模板 [n] 表示从 0 开始的序号,写入时应展开为实际数字;不是字面键名。 === [info] === {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="width:34%;text-align:left;background:#edf3f2;padding:8px;" | 字段与类型 ! scope="col" style="width:42%;text-align:left;background:#edf3f2;padding:8px;" | 含义与修改要点 ! scope="col" style="width:24%;text-align:left;background:#edf3f2;padding:8px;" | 缺项或特殊值 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">broadcount</code><br>非负整数,广播条数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 读取连续 [broad0] 到 [broadN-1]。0 关闭本文件的循环广播,并让此加载函数直接返回,后面的 INI 活动字段也不会读取。没有核对到适合作为推荐值的硬上限,按实际公告数量填写。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失为 0;不要使用负数,后续初始化检查非负。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">broadtime</code><br>正整数,毫秒 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 相邻两条广播的间隔。60000 为一分钟;有 N 条时同一条通常隔 N 个间隔再次发送,实际受心跳执行时刻影响。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失为 0;0 或负数会使有广播时每次心跳都尝试发送,不能用来停播。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">huodongcount</code><br>整数,0 到 256 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 只决定读取本 INI 的 [huodongn] 旧数据。当前活动定时器取 ActivityNotice.txt 的条数,与此值分开。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失为 0;非正数不读活动组,超过 256 会截到容量并触发断言。 |} === [broad[n]] === {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="width:34%;text-align:left;background:#edf3f2;padding:8px;" | 字段与类型 ! scope="col" style="width:42%;text-align:left;background:#edf3f2;padding:8px;" | 含义与修改要点 ! scope="col" style="width:24%;text-align:left;background:#edf3f2;padding:8px;" | 缺项或特殊值 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">contex</code><br>字符串,广播正文 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 从 n=0 到 broadcount-1 顺序循环发送。保存缓冲为 256 字节;正文用原文件编码,控制在 255 字节以内,还受聊天消息长度限制,中文不能按字符数当字节数。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 启用的每组必填;缺项会触发断言。空值不能用来关闭整轮广播。 |} === [huodong[n]] === {| class="wikitable" style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;" ! scope="col" style="width:34%;text-align:left;background:#edf3f2;padding:8px;" | 字段与类型 ! scope="col" style="width:42%;text-align:left;background:#edf3f2;padding:8px;" | 含义与修改要点 ! scope="col" style="width:24%;text-align:left;background:#edf3f2;padding:8px;" | 缺项或特殊值 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">opt_type</code><br>操作类型整数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">time_type</code><br>时间模式整数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">time_start</code><br>起始时间编码整数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">time_end</code><br>结束时间编码整数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">scene</code><br>场景 ID 整数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">scriptid</code><br>脚本 ID 整数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 当 n 在 huodongcount 范围内时读取并保存到旧 INI 活动数据。当前定时调度没有使用这一组;保留原值,不套用 ActivityNotice.txt 的枚举或时间编码教程。scene 是场景标识,scriptid 是脚本索引,都不是行号。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 启用序号范围内必填;缺项会触发读取错误,不使用教学值作为默认值。 本组不存在可承诺的调度效果;不同运行程序是否仍使用旧数据需要实测。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">param0</code><br>样本整数项 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 当前 Init_SystemInfo 未读取此键。不能把它当作第一个会传给活动脚本的参数。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 样本保留项;当前检索范围未发现此键加载依据。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">param1</code><br>整数,旧活动参数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 可选,缺失保留原结构值;首次构造为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">param2</code><br>整数,旧活动参数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 可选,缺失保留原结构值;首次构造为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">param3</code><br>整数,旧活动参数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 可选,缺失保留原结构值;首次构造为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">param4</code><br>整数,旧活动参数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 可选,缺失保留原结构值;首次构造为 0。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">param5</code><br>整数,旧活动参数 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 仅保存到旧 INI 活动记录。当前活动调度取自另一张表;本页不把此值解释为已生效的脚本参数。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 可选,缺失保留原结构值;首次构造为 0。 |} == 常用修改实例 == 示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。 === 调整现有广播的发送间隔 === 修改前: <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">[info] broadcount=2 broadtime=60000 [broad0] contex=Welcome to the test server. [broad1] contex=Scheduled maintenance is announced here.</pre> 修改后: <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">[info] broadcount=2 broadtime=300000 [broad0] contex=Welcome to the test server. [broad1] contex=Scheduled maintenance is announced here.</pre> 本例有两条教学广播,把相邻发送间隔由一分钟改为五分钟,同一条大约每十分钟出现一次。实际操作保留原 broadcount、全部正文和活动字段,只改 broadtime。英文正文用于提供无编码歧义的示例文件,不是必须替换的公告内容;广播效果需要登录游戏观察。 == 验证与排查 == 重启 World 后观察系统频道的发送顺序、间隔和中文显示。保存旧正文与时间;失败时正常停服后恢复。活动是否开始不用于验证本例,因为活动调度数据源不同。 停止循环广播应把 broadcount 改为 0,不是把 broadtime 改成 0。若要调整活动,先在配置索引中定位 Public/ActivityNotice.txt,待其读取规则与业务效果核对后再修改。不要把 INI 中存在一个键理解为当前程序一定拿它执行对应功能。 == 关联与依据 == [[工程参考/配置文件索引|其他配置及整理状态]] · [[工程参考/服务端外网设置|服务端外网设置]] · [[Lua接口/服务端函数索引|Lua 接口索引]] * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/Ini.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/Ini.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/WorldServer/World/Main/WorldTable.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/WorldServer/World/Main/WorldTable.h</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/WorldServer/World/WorldData/SystemInfo.cpp</code>:实际加载、解析、字段使用或示例关联依据 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/TimeManager.cpp</code>:实际加载、解析、字段使用或示例关联依据 本页核对源码读取、字段使用与样本格式,未启动游戏、服务端或数据库。解析验证不等于游戏实测;广播、权限、客户端交互等运行结果需要实测。 </div> [[Category:工程参考]]
返回
工程参考/配置文件/Server/SystemInfo.ini
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息