查看“︁工程参考/配置文件/Server/MachineInfo.ini”︁的源代码
来自天龙知识库
←
工程参考/配置文件/Server/MachineInfo.ini
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:<span style="font-size:24px;line-height:1.4;overflow-wrap:anywhere;">工程参考/配置文件/Server/MachineInfo.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;"> [[首页|首页]] · [[工程参考/配置文件索引|配置文件索引]] · [[工程参考/配置文件修改约定|修改约定]] 这份文件登记服务端使用的逻辑机器编号。它不保存 IP、端口、网卡 MAC 或 Windows 电脑名称;ServerInfo.ini 通过 MachineID 引用这里的记录。 [[#文件位置与生效|位置与生效]] · [[#字段详解|字段详解]] · [[#常用修改实例|修改实例]] · [[#验证与排查|验证与排查]] == 文件位置与生效 == {| 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;">Server/Config/MachineInfo.ini</code>,以程序实际工作目录为准;源码 resources 中的文件是样本。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 主要使用者 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 公共配置初始化读取;Server 的机器管理逻辑查询 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 生效方法 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 这六份文件通过公共初始化流程读取,主要使用者在本页标明;不需要把它们复制到玩家客户端。重新加载配置的入口没有重读本页字段。修改后按正常流程保存并停服,再重启使用这份配置的程序;服务共用同一 Config 目录时,相关进程须使用一致配置。 |- | 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。 |} [System] 中的 MachineNumber 指定后续 [Machine0]、[Machine1] 等组的数量,每组填写一个 MachineID。 == 文件格式 == 使用 [节名] 与 Key=Value。节名和键名按源码拼写保留;本读取器按大小写精确匹配,节标题从行首开始。推荐沿用原有 CRLF 换行,在单独一行用分号写注释,不向值里插入制表符,也不依赖引号转义。详细读取边界见修改约定。 == 字段详解 == 表中“必填”表示读取代码要求存在,并不表示程序已校验业务取值合法。序号字段中的 [n] 表示按数量展开,不能原样写成带 [n] 的键。 === [System] === {| 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;">MachineNumber</code><br>正整数,机器记录数量 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 读取连续 [Machine0] 到 [MachineN-1]。不是玩家电脑数,也不是服务进程数;一台机器可以运行多个服务。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。 |} === [Machine[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;">MachineID</code><br>整数,机器编号 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 与 ServerInfo.ini 的 MachineID 对应。所有引用应存在,编号应保持唯一;组名的 n 只是读取顺序,不要求等于 MachineID。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。 |} == 常用修改实例 == 以下均是局部教学片段,修改原文件对应位置,不能覆盖整份文件。IP、编号、周期均为教学值。 === 为已经规划的第二台服务机器登记编号 === 修改前的教学片段: <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">[System] MachineNumber=1 [Machine0] MachineID=0</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;">[System] MachineNumber=2 [Machine0] MachineID=0 [Machine1] MachineID=1</pre> 保留原 [Machine0],把数量改为 2 并新增 [Machine1]。只有计划放在第二台机器上的服务记录才在 ServerInfo.ini 引用 MachineID=1。此操作只登记机器关系,不会迁移进程、建立网络或配置共享存储;多机部署的其他关联仍须单独核对。 == 验证与排查 == 检查各 Server 记录的 MachineID 都能在本文件找到。正常重启后确认服务之间连接正确;多机共享存储与场景切换仍需实测。 仅把单机服务器开放给局域网或公网玩家时,通常不需要增加机器记录。朋友电脑上的客户端不属于这份机器清单。 == 关联与依据 == [[工程参考/配置文件/Server/ServerInfo.ini|ServerInfo.ini]] [[工程参考/服务端外网设置|服务端外网设置]] · [[工程参考/登录器配置|登录器配置]] · [[Lua接口/服务端函数索引|Lua 接口索引]] * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/Config.cpp</code>:加载位置、字段读取与重新加载范围 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/Config.h</code>:初始化值与配置结构 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/Ini.cpp</code>:INI 实际解析规则 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/Ini.h</code>:读取失败与返回方式 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/ServerBase/FileDef.h</code>:运行时相对路径 * <code style="white-space:normal;overflow-wrap:anywhere;">Common/GameDefine2.h</code>:程序类型与共享内存类型枚举 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server_2026_Project.props</code>:当前 Windows 工程的条件编译定义 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/GameServer/Server/Main/MachineManager.cpp</code>:字段使用、连接或数据处理分支 核对范围为当前维护源码与配置样本;未启动游戏、服务端或数据库。配置解析测试与游戏业务测试分开记录;文中运行效果仍需要实测。 </div> [[Category:工程参考]]
返回
工程参考/配置文件/Server/MachineInfo.ini
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息