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

来自天龙知识库
跳到导航跳到搜索


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

这份文件控制 Login 自己的服务编号、数据库连接凭据和登录检查。它不包含玩家应该连接的 IP0;登录地址在 ServerInfo.ini,玩家区服列表在客户端 LoginServer.txt。

位置与生效 · 字段详解 · 修改实例 · 验证与排查

文件位置与生效

项目 说明
服务器运行路径 Server/Config/LoginInfo.ini,以程序实际工作目录为准;源码 resources 中的文件是样本。
主要使用者 主要使用者为 Login,公共初始化同时读取
生效方法 这六份文件通过公共初始化流程读取,主要使用者在本页标明;不需要把它们复制到玩家客户端。重新加载配置的入口没有重读本页字段。修改后按正常流程保存并停服,再重启使用这份配置的程序;服务共用同一 Config 目录时,相关进程须使用一致配置。
样本格式 UTF-8,换行为 CRLF;保留原编码、节名、键名与换行,不自动改成 UTF-8。

项目集中在 [System]。先核对 LoginID 对应的服务记录,再处理数据库或登录检查,不要同时改动无关项目。

文件格式

使用 [节名] 与 Key=Value。节名和键名按源码拼写保留;本读取器按大小写精确匹配,节标题从行首开始。推荐沿用原有 CRLF 换行,在单独一行用分号写注释,不向值里插入制表符,也不依赖引号转义。详细读取边界见修改约定。

字段详解

表中“必填”表示读取代码要求存在,并不表示程序已校验业务取值合法。序号字段中的 [n] 表示按数量展开,不能原样写成带 [n] 的键。

[System]

项目与类型 含义与修改要点 缺项或特殊值
LoginID
整数,服务编号
引用 ServerInfo.ini 中 Type=1 的 ServerID;样本中 LoginID=2 对应 [Server1] 的 ServerID=2。不是 [Servern] 的 n。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。
DBIP
字符串,地址
保存配置中的数据库主机地址。当前核对的 ODBC 连接代码没有把它传入 SQLConnect;实际主机由 DBName 指定的数据源配置决定。修改它不能代替修改 ODBC 数据源。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。
DBPort
整数,端口
保存配置中的数据库端口。当前连接调用不使用此值建立连接;实际端口在对应 ODBC 数据源中设置。不能填游戏或登录端口。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。
DBName
字符串,ODBC 数据源名
作为 SQLConnect 的数据源名称传入。它要对应服务器电脑上已配置的 ODBC DSN;不一定等于数据库中的库名。数据源内部还需选对实际数据库。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。
DBUser
字符串
连接数据库使用的用户,不是玩家账号或 Wiki 账号。应具有目标数据库所需权限。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。
DBPassword
字符串
DBUser 对应的数据库凭据。填写自己的值,不照抄示例;格式还受本程序的 CryptPwd 处理影响。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。
CryptPwd
整数,建议使用明确的 0 或 1
大于 0 时用 Seraph::string2pwd 解码配置中的数据库密码;小于等于 0 时直接使用字符串。它不是玩家登录密码的加密开关,也不能把任意密文填写进来。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。
ProxyConnect
整数,模式
1:拒绝识别为代理来源的连接,返回默认入口;2:只允许直连或 EDU 代理来源;其他值:按线路选择返回地址。来源识别还依赖 ServerInfo.ini 的 [Proxy],运行拓扑需要实测。 原配置必填;读取失败会进入断言/错误路径,不把缺项视为采用默认值。
EnableLicense
整数,0/正数
Billing 返回“没有新许可”结果时,大于 0 向客户端返回相应许可错误,小于等于 0 在该分支返回登录成功。不是启动许可文件路径;是否收到这一结果取决于账号服务,许可业务需要实测。 缺失时默认 0;样本未列出。
ReLoginLimit
整数,0/正数
参与重复登录检查的总入口条件。它与 ReLoginStop 同时小于等于 0 时才直接跳过 IsAccCanReLogin;只改它为 0 不能保证跳过全部重复登录检查。 缺失时默认 1。
ReLoginStop
整数,0/正数
大于 0 时参与密码检查结果记录及暂停登录处理,受账号状态、IP 和重试记录影响;不是封号时长。 缺失时默认 1。
ReLoginStopTime
整数,毫秒
重复登录暂停状态的持续时间,600000 表示 10 分钟。不是所有登录之间的固定等待时间。使用正值;非正值的实际流程需要实测。 缺失时默认 600000。
NotifySafeSign
整数,0/正数
大于 0 时相关认证分支等待客户端安全标识通知,须与客户端协议匹配;不是密码或验证码开关。 缺失时默认 1。
ClientVersion
样本遗留项
当前服务端加载及使用检索未找到这个键的读取。保留原值;不能据此认为能修改客户端版本检查、数据库连接数或每轮玩家数量。 未发现读取;名称不作为效果依据。
DBConnectCount
样本遗留项
当前服务端加载及使用检索未找到这个键的读取。保留原值;不能据此认为能修改客户端版本检查、数据库连接数或每轮玩家数量。 未发现读取;名称不作为效果依据。
TurnPlayerCount
样本遗留项
当前服务端加载及使用检索未找到这个键的读取。保留原值;不能据此认为能修改客户端版本检查、数据库连接数或每轮玩家数量。 未发现读取;名称不作为效果依据。

常用修改实例

以下均是局部教学片段,修改原文件对应位置,不能覆盖整份文件。IP、编号、周期均为教学值。

让 LoginID 与现有登录服务记录对应

修改前的教学片段:

[System]
LoginID=1

修改后:

[System]
LoginID=2

仅当 ServerInfo.ini 已有 Type=1、ServerID=2 的登录记录时使用此改动;1 和 2 均为教学值,不表示你的旧配置一定是 1。保留数据库与登录检查项,不修改 ServerID 来凑序号。

验证与排查

重启后检查 Login 能找到自己的服务编号、数据库连接成功,再用匹配客户端登录并进入角色列表。修改重试策略后,需分别测试正常登录、短时间重复登录及错误密码;当前文档没有执行这些游戏测试。

数据库通过 ODBC DSN 连接。修改数据库地址时,在服务器上打开与 Login.exe 位数匹配的 ODBC 数据源管理器,修改 DBName 所指数据源并测试连接;64 位 Windows 中 System32 的 odbcad32.exe 管理 64 位数据源,SysWOW64 中的管理 32 位数据源。不要把任意文本加引号当作 INI 转义。

关联与依据

ServerInfo.ini · BillingInfo.ini · ShareMemInfo.ini

服务端外网设置 · 登录器配置 · Lua 接口索引

  • Common/ServerBase/Config.cpp:加载位置、字段读取与重新加载范围
  • Common/ServerBase/Config.h:初始化值与配置结构
  • Common/ServerBase/Ini.cpp:INI 实际解析规则
  • Common/ServerBase/Ini.h:读取失败与返回方式
  • Common/ServerBase/FileDef.h:运行时相对路径
  • Common/GameDefine2.h:程序类型与共享内存类型枚举
  • Server/Server_2026_Project.props:当前 Windows 工程的条件编译定义
  • Server/Server/LoginServer/Login/DB/LoginDBManager.cpp:字段使用、连接或数据处理分支
  • Server/Server/LoginServer/Login/DB/DBThread.cpp:字段使用、连接或数据处理分支
  • Server/Server/LoginServer/Login/Main/ReLogin.cpp:字段使用、连接或数据处理分支
  • Server/Server/LoginServer/Login/Packets/BLRetAccCheckHandler.cpp:字段使用、连接或数据处理分支
  • Server/Server/LoginServer/Login/Packets/BLRetAuthHandler.cpp:字段使用、连接或数据处理分支
  • Server/Server/LoginServer/Login/Packets/CLConnectHandler.cpp:字段使用、连接或数据处理分支
  • Common/DBSystem/DataBase/ODBCInterface.cpp:ODBC DSN 连接调用
  • Common/ServerBase/TimeManager.cpp:计时单位

核对范围为当前维护源码与配置样本;未启动游戏、服务端或数据库。配置解析测试与游戏业务测试分开记录;文中运行效果仍需要实测。