工程参考/配置文件/Server/CopyScene.ini

来自天龙知识库
雪舞留言 | 贡献2026年9月11日 (五) 20:40的版本 (维护配置文件知识库:完整字段、读取范围、手工修改实例与核对状态)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航跳到搜索


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

CopyScene.ini 是一份只有两个小节、五个键的副本数量样本。当前维护源码里检索不到任何读取它的代码:既没有 FileDef.h 宏指向它,也没有 TableInit 或 Config 的加载函数按这个名字打开它,copyscenecountmaxscenecount 这两个键名在全树检索里同样没有命中读取点。请不要把它当作调整副本数量或副本场景上限的配置。

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

文件位置与生效

项目 说明
运行文件 ./Config/CopyScene.ini,只作为样本存在于 Server/Config 目录。请按实际运行的 Server 工作目录核对是否存在同名文件;即使存在,当前检索也没有代码读取它。
读取程序 无。当前源码里没有任何一处按这个文件名或按 copyscenecount / maxscenecount 打开或读取它
生效方法 当前启动不加载本文件。改它并重启不会改变任何副本行为,除非同时改动源码。副本场景在 Server/SceneInfo.ini 里以 type=1 标记,副本实例由运行时创建,与这个文件无关。
样本格式 GB18030-compatibleCRLF。保留原编码;源码读取器不会自动把中文转为 UTF-8。

文件结构很简单:[sys] 给出副本数量,随后每个副本一个 [copy<n>] 节,节内是副本号与该副本可配置的场景数量上限。样本两个副本(copy0、copy1),maxscenecount 都是 56。

检查项 结论
本文件名出现在源码里的次数 0 次。检索 CopyScene.ini 只命中样本目录与配置索引,没有读取代码。
copyscenecount / maxscenecount 的读取点 0 处。两个键名都没有出现在任何 C++ 源文件里。
启动是否读取 不读取。
改本文件能否生效 不能,除非同时改动源码。
副本实际由谁决定 SceneInfo.ini 里 type=1 的场景节,以及运行时的副本实例创建逻辑。

文件格式

使用 [节名] 与 Key=Value,节名和键名区分大小写,保持节标题位于行首。用单独一行分号写注释,保留原编码及 CRLF 换行;重复节或键取先匹配项,不依赖后写覆盖。缺项、空值与 0 分别按下表处理。

字段详解

模板 [n] 表示从 0 开始的序号,写入时应展开为实际数字;不是字面键名。

[sys]

字段与类型 含义与修改要点 缺项或特殊值
copyscenecount
整数,副本数量
样本里写的是副本总数,后面跟着同样数量的 [copy<n>] 节。当前没有任何代码读取它。 样本保留项;当前检索范围未发现此键的加载依据。

[copy[n]]

字段与类型 含义与修改要点 缺项或特殊值
id
整数,副本号
副本的编号,样本与节序号一致(copy0 的 id 是 0)。 样本保留项;当前检索范围未发现此键的加载依据。
maxscenecount
整数,场景数量上限
样本注释写的是「此副本可以配置的场景数量最大值」,两个节都是 56。 样本保留项;当前检索范围未发现此键的加载依据。

常用修改实例

示例为局部教学片段,先备份原运行文件,再修改对应行并保留其余配置。教学值不是程序默认值。

不建议修改:本文件当前没有任何读取方

修改前:

[sys]
copyscenecount=2

修改后:

[sys]
copyscenecount=2

这一条刻意不给“修改示例”:把 copyscenecount 改成别的值不会带来任何可观察的变化,因为当前没有代码读取它。真正需要调整副本时,去 Server/SceneInfo.ini 核对 type=1 的场景节,以及创建副本实例的运行时逻辑。

如果确实要在本文件里记录副本数量,请保留 [sys] 与 [copy<n>] 的结构一致性,并先确认目标版本是否新增了读取方。

验证与排查

因为当前没有读取方,也就不存在可用的验证路径。判断依据是全树检索:CopyScene.ini、copyscenecount、maxscenecount 三个词都只命中样本文件本身与配置索引,没有命中任何 C++ 源文件。若将来某个版本新增了加载函数,需要重新核对本节与字段表。

不要把“文件里有这个键”当成“程序会用它”

本文件是典型的遗留样本:结构与注释都完整,但读取代码已经不在当前源码里。修改前先用文件名与键名各检索一次,确认有加载方再动手。

与副本相关的实际配置在别处

副本场景在 Server/SceneInfo.ini 中以 type=1 标记;副本实例的创建与销毁由运行时的副本管理逻辑负责。要调副本,从那里入手。

如果确实需要这份配置

只有在自行新增读取代码之后它才会生效。新增时要自己定义路径与节名解析,本页字段表描述的是样本现状,不是已实现的行为。

关联与依据

Server/SceneInfo.ini

其他配置及整理状态 · 服务端外网设置 · Lua 接口索引

  • Common/ServerBase/Ini.cpp:实际加载、解析、字段使用或示例关联依据
  • Common/ServerBase/Ini.h:实际加载、解析、字段使用或示例关联依据
  • Common/ServerBase/Config.cpp:实际加载、解析、字段使用或示例关联依据
  • Common/ServerBase/Config.h:实际加载、解析、字段使用或示例关联依据
  • Common/ServerBase/FileDef.h:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Main/GameTable.cpp:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Main/GameTable.h:实际加载、解析、字段使用或示例关联依据
  • Server/Server/GameServer/Server/Scene/CopySceneManager.cpp:实际加载、解析、字段使用或示例关联依据
  • resources/Server/Config/CopyScene.ini:实际加载、解析、字段使用或示例关联依据

本页结论来自全树文本检索:CopyScene.ini、copyscenecount、maxscenecount 三个词在源码范围内均只命中样本文件本身,没有命中任何 C++ 源文件;同时核对了 FileDef.h 的宏清单与 TableInit / Config 的加载函数清单。未启动服务端与游戏,也不排除其它版本或外部工具读取它的可能。