Skip to content

BNetD / PvPGN 配置 ​

配置文件:runtime/pvpgn-<profile>/conf/bnetd.conf。BNetD 负责账号、登录、频道、聊天命令、国度列表和客户端文件服务。路径必须指向当前 profile,修改后通常重启 BNetD。

存储与文件 ​

参数中文说明
storage_path账号存储驱动及连接串。file: 指定账号/战队目录,sql: 指定数据库、用户、密码和表前缀。两个版本不得指向同一账号目录。
filedir向客户端提供的下载文件目录,例如广告 SMK/BNI;缺失资源会导致旧客户端等待超时。
scriptdirLua 脚本目录。
reportdir游戏报告输出目录。
chanlogdir频道聊天日志目录。
userlogdir用户日志目录。
i18ndir多语言资源根目录。
issuefile登录问题/公告文本文件。
channelfile预定义频道配置文件。
adfile客户端广告配置,当前使用 JSON。
topicfile频道主题配置文件。
ipbanfileIP 封禁列表文件。
mpqfile客户端自动更新/MPQ 配置文件。
logfileBNetD 主日志路径。生产通常关闭诊断级别,仅按需临时开启。
realmfile国度列表文件;每行定义国度标识、显示名和 D2CS 地址。
maildir战网邮件数据目录。
versioncheck_file客户端版本与校验规则文件。
mapsfile地图规则文件。
xplevelfile战网等级表文件。
xpcalcfile战网经验计算文件。
ladderdir天梯文件目录。
command_groups_file聊天命令分组与权限文件。
tournament_file锦标赛配置文件。
statusdirXML/状态输出目录。
aliasfile命令或账号别名文件。
anongame_infos_file匿名游戏信息配置。
DBlayoutfileSQL 存储字段布局定义。
supportfile支持信息文件。
transfile地址转换规则文件。公网 D2GS 直连时通常保持空规则。
customicons_file自定义账号/用户图标映射。
iconfileDiablo/通用客户端图标包文件名。
war3_iconfileWarcraft III 图标包文件名。
star_iconfileStarCraft 图标包文件名。

本地化与日志 ​

参数中文说明
localizefile通用本地化 XML 文件名。
motdfile登录欢迎消息文件。
motdw3fileWarcraft III 欢迎消息文件。
newsfile新闻文本文件。
helpfile客户端帮助文本文件。
tosfile服务条款文本文件。
localize_by_country是否按用户国家而不是客户端语言选择本地化资源。
loglevels日志级别列表:none/trace/debug/info/warn/error/fatal。生产默认 none。
chanlog是否记录频道消息。
log_commands是否记录聊天命令。
log_command_list仅记录的命令白名单。
log_command_groups仅记录指定权限组执行的命令。
log_notice是否记录 notice 级运营消息。

D2CS 与客户端验证 ​

参数中文说明
d2cs_version允许连接的 D2CS 协议版本;0 关闭版本检查。
allow_d2cs_setname是否允许 D2CS 更新国度显示名。
allowed_clients允许接入的客户端类型,D2 常用 d2dv,d2xp;all 允许全部。
allow_bad_version是否允许未通过校验的客户端。正式反作弊策略确定前谨慎关闭。
allow_unknown_version是否允许 versioncheck_file 未登记的客户端版本。
account_allowed_symbols注册账号可使用的字符集合/规则。
account_force_username是否强制账号名使用标准化用户名。
d2cs_versionBNetD 期望的 D2CS 版本,重复列出用于强调国度握手。

账号与登录策略 ​

参数中文说明
new_accounts是否允许客户端注册新账号。
account_vip_time新注册账号默认赠送 VIP 小时数;0 不赠送,24 表示 24 小时。
max_accounts最大账号数;0 表示不限制。
kick_old_login同账号重复登录时是否踢掉旧会话;否则拒绝新会话。
max_concurrent_logins单账号允许的并发登录数。
max_connectionsBNetD 总连接上限。
max_conns_per_IP单 IP 最大并发连接数。
maxusers_per_channel单频道最大用户数。
max_friends单账号好友数量上限。
passfail_count密码连续失败达到封禁的次数。
passfail_bantime密码失败临时封禁时长。
initkill_timer初始化/异常会话清理计时器。
account_allowed_symbols账号名允许字符策略。
account_force_username是否把登录名强制规范化为账号用户名。

缓存、超时与关服 ​

参数中文说明
usersync账号文件定期同步间隔,秒;0 表示只在退出等时机同步。
userflush非活跃账号从内存缓存卸载前的秒数。
userstep每轮检查/保存的账号数量。
userflush_connected是否允许清理仍在线账号的缓存;关闭会增加内存占用。
sync_on_logoff退出登录时是否立即同步账号。
latency客户端延迟探测间隔,秒。
nullmsgkeepalive/空包发送间隔,秒。
use_keepalive是否启用 TCP keepalive。
output_update_secs状态/XML 输出刷新间隔。
shutdown_delay收到关服信号后的倒计时秒数。
shutdown_decr再次收到终止信号时减少的倒计时秒数。

游戏、频道与隐私 ​

参数中文说明
ask_new_channel创建临时频道前是否询问用户。
report_all_games是否为所有游戏生成报告。
report_diablo_games是否生成 Diablo 游戏报告。
hide_pass_games是否隐藏有密码的游戏。
hide_started_games是否隐藏已经开始的游戏。
hide_temp_channels是否隐藏临时频道。
hide_addr是否向其他用户隐藏地址信息。
disc_is_loss断线是否计为天梯负场。
ladder_games额外计入天梯的游戏类型。
ladder_prefix只有指定名称前缀的游戏计入附加天梯类型。
report_all_games全游戏报告开关。
gamelist_showall是否跨条件显示完整游戏列表(部分版本由 D2CS 控制)。
report_diablo_gamesDiablo 游戏报告开关。
track是否启用连接追踪。
trackaddrs允许接收追踪信息的地址。

限流与配额 ​

参数中文说明
packet_limit单连接数据包速率/数量限制。
quota是否启用聊天配额。
quota_lines配额窗口允许的消息行数。
quota_time配额统计窗口时长。
quota_dobae连续刷屏判定阈值。
quota_maxline单行消息最大长度。
quota_wrapline超长消息换行长度。
mail_support是否启用战网邮件。
mail_quota每账号邮件配额。
hashtable_size内部账号/会话哈希表大小。

服务器身份与网络 ​

参数中文说明
servaddrsBNetD 监听地址列表,格式 IP:端口。生产通常 0.0.0.0:6112。
w3routeaddrWarcraft III 路由地址。D2-only 环境通常不用。
description服务器描述。
location服务器地理位置文本。
url官方网站地址。
contact_name服务联系人名称。
contact_email服务联系人邮箱。
max_connections网络总连接上限。
enable_conn_all是否接受所有配置监听地址上的连接。
max_conns_per_IP每 IP 连接上限。

频道、战队与旧客户端兼容 ​

参数中文说明
clan_channel_default_private新建战队频道是否默认私有。
clan_max_members战队最大成员数。
clan_min_invites创建战队所需最少邀请数。
clan_newer_time新成员保护/新手状态时间。
savebyname账号文件是否按名称而不是 UID 保存。
war3_ladder_update_secsWarcraft III 天梯刷新秒数。
XML_output_ladder是否输出 XML 天梯。
XML_status_output是否输出 XML 服务状态。
wollatitudeWestwood Online 纬度兼容字段。
wollongitudeWestwood Online 经度兼容字段。
woltimezoneWestwood Online 时区字段。
wol_autoupdate_serverhostWOL 自动更新服务器。
wol_autoupdate_usernameWOL 自动更新用户名。
wol_autoupdate_passwordWOL 自动更新密码,禁止写入公开文档。

其他运行参数 ​

参数中文说明
maxusers_per_channel每频道用户上限。
max_friends好友上限。
nullmsg空包保活间隔。
output_update_secs状态输出刷新秒数。
initkill_timer初始化连接清理时间。
enable_conn_all全监听入口开关。
allow_d2cs_setnameD2CS 国度改名权限。
allow_bad_version校验失败客户端兼容开关。
allow_unknown_version未登记版本兼容开关。

国度与命令辅助文件 ​

realm.conf ​

text
# 免费国度:主机和端口分别读取 catalog.json 的 109b coreHost 与 free.d2csPort。
"CNBN"  "CNBN 1.09b Free Realm"  <109核心主机>:<免费D2CS端口>
# VIP 国度:保持可见,主机和端口分别读取 109b coreHost 与 vip.d2csPort。
"SVIP1" "CNBN 1.09b VIP Realm"   <109核心主机>:<VIP D2CS端口>

第一列是客户端显示/选择标识,第二列是说明,第三列是 D2CS 地址。免费用户仍需看到 VIP 国度时,不要从该文件删除 VIP 行;准入由 D2CS VIP 流程处理。

command_groups.conf ​

为每个命令定义最低用户组。/vip、/ad 等玩家命令必须加入普通用户组;/addvip、/delvip 等管理命令只给 GM。修改后重启 BNetD,并用普通账号与 GM 账号分别验证。

address_translation.conf ​

用于 NAT 地址改写。当前不同公网主机的 D2GS 均直接监听 4000 时保持为空,避免返回错误代理地址。

重复参数说明

上表按语义章节重复强调了少量高风险键,但配置文件中每个键只应保留一个有效赋值。BNetD 采用最后一个有效配置还是拒绝重复取决于解析版本,生产文件不要依赖重复覆盖。

仅供 CNBN D2 服务管理与开发人员使用