查看“︁工程参考/配置文件/Server/BillingInfo.ini”︁的源代码
来自天龙知识库
←
工程参考/配置文件/Server/BillingInfo.ini
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:<span style="font-size:24px;line-height:1.4;overflow-wrap:anywhere;">工程参考/配置文件/Server/BillingInfo.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;"> [[首页|首页]] · [[工程参考/配置文件索引|配置文件索引]] · [[工程参考/配置文件修改约定|修改约定]] 这份文件配置 Billing 的账号数据库、允许哪些服务连接 Billing,以及登录人数限制。它不提供玩家登录入口,Billing 的监听端口取自 ServerInfo.ini 的 [Billing] Port0。 [[#文件位置与生效|位置与生效]] · [[#字段详解|字段详解]] · [[#常用修改实例|修改实例]] · [[#验证与排查|验证与排查]] == 文件位置与生效 == {| 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/BillingInfo.ini</code>,以程序实际工作目录为准;源码 resources 中的文件是样本。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 主要使用者 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | Billing 读取数据库及限制;访问名单由 Billing 监听管理器读取 |- | 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;">ASCII</code>,换行为 <code style="white-space:normal;overflow-wrap:anywhere;">CRLF</code>;保留原编码、节名、键名与换行,不自动改成 UTF-8。 |} [System] 配数据库和自动注册;[Access] 配内部来源 IP;[Limit] 配登录数量限制。三组互不替代。 == 文件格式 == 使用 [节名] 与 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;">DBIP</code><br>字符串,地址 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 保存配置中的数据库主机地址。当前核对的 ODBC 连接代码没有把它传入 SQLConnect;实际主机由 DBName 指定的数据源配置决定。修改它不能代替修改 ODBC 数据源。 | 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;">DBPort</code><br>整数,端口 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 保存配置中的数据库端口。当前连接调用不使用此值建立连接;实际端口在对应 ODBC 数据源中设置。不能填游戏或登录端口。 | 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;">DBName</code><br>字符串,ODBC 数据源名 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 作为 SQLConnect 的数据源名称传入。它要对应服务器电脑上已配置的 ODBC DSN;不一定等于数据库中的库名。数据源内部还需选对实际数据库。 | 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;">DBUser</code><br>字符串 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 连接数据库使用的用户,不是玩家账号或 Wiki 账号。应具有目标数据库所需权限。 | 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;">DBPassword</code><br>字符串 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 数据库用户的密码;当前 Billing 连接直接传入此字符串,没有读取 CryptPwd 的分支。不要在本文件凭空添加 CryptPwd 期待解密。 | 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;">AutoRegister</code><br>整数,0/非0 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺少账号时是否允许认证流程自动创建账号。0 关闭,非 0 开启;需要正确数据库结构和客户端请求,不能替代完整注册与权限管理。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失时 FALSE,即关闭。 |} === [Access] === {| 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;">AllowIPCount</code><br>整数,0 到 16 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 允许连接 Billing 的来源地址数量。0 或缺失时本名单不限制来源;正数时读取连续 AllowIP0 到 AllowIP[n-1]。负数或超过 16 会使初始化失败。 | 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;">AllowIP[n]</code><br>IPv4 字符串,精确匹配 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 填写 Login 等服务连接 Billing 时实际呈现的来源 IP。源码使用字符串相等判断,不支持 CIDR、星号或 IP 段。名单启用时缺少条目、空条目或长度超限都会使启动失败。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | n 从 0 到 AllowIPCount-1。 |} === [Limit] === {| 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;">MaxClientCount</code><br>整数,登录数量 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 正数限制 Billing 记录的总登录数量;显式填写 0 或负数时转换为 0,表示不启用此项限制。它不是 TCP 连接池大小。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失时默认 500。 |- | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | <code style="white-space:normal;overflow-wrap:anywhere;">PcMaxClientCount</code><br>整数,同机器标识登录数量 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 按客户端上报的 MAC 标识统计同机器登录数量;不是按公网 IP 统计,也不能保证识别物理电脑。正数启用,0 或负数转换为 0 表示不启用。 | style="padding:8px;vertical-align:top;overflow-wrap:anywhere;" | 缺失时默认 3。 |} == 常用修改实例 == 以下均是局部教学片段,修改原文件对应位置,不能覆盖整份文件。IP、编号、周期均为教学值。 === 单机部署中只允许本机服务连接 Billing === 修改前的教学片段: <pre style="white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;padding:12px;background:#f5f7f8;border:1px solid #dbe3e6;">[Access] AllowIPCount=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;">[Access] AllowIPCount=1 AllowIP0=127.0.0.1</pre> 先确认 Login 到 Billing 的连接使用 127.0.0.1;若实际来源是局域网地址,就填写那个实际来源。保留其他组。这里填写的是服务来源,不是朋友的客户端 IP,名单生效后核对 Login 仍能连接 Billing。 == 验证与排查 == 重启相关服务,检查 Billing 日志中的数据源连接结果、名单数量和登录限制;确认 Login 连接成功,再测试已存在账号。自动注册或数量限制修改需要分别实测,不只看端口打开。 当前 Windows 工程为 Billing 设置专用编译条件,使用 BillingInfo.ini 数据库分支。Login 等进程读取 ServerInfo.ini 的 [Billing] 地址列表;不要把二者混淆。DBName 是 ODBC 数据源名,数据库地址须在对应位数的数据源中核对。 == 关联与依据 == [[工程参考/配置文件/Server/ServerInfo.ini|ServerInfo.ini]] · [[工程参考/配置文件/Server/LoginInfo.ini|LoginInfo.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/BillingServer/Billing/Main/ServerManager.cpp</code>:字段使用、连接或数据处理分支 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/BillingServer/Billing/Main/ServerManager.h</code>:字段使用、连接或数据处理分支 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/BillingServer/Billing/Main/UserDBManager.cpp</code>:字段使用、连接或数据处理分支 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/BillingServer/Billing/Main/DBManager.cpp</code>:字段使用、连接或数据处理分支 * <code style="white-space:normal;overflow-wrap:anywhere;">Server/Server/BillingServer/Billing/Main/ODBCInterface.cpp</code>:字段使用、连接或数据处理分支 核对范围为当前维护源码与配置样本;未启动游戏、服务端或数据库。配置解析测试与游戏业务测试分开记录;文中运行效果仍需要实测。 </div> [[Category:工程参考]]
返回
工程参考/配置文件/Server/BillingInfo.ini
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息