3.0 KiB
服务端游戏规则配置
game.json 是服务端统一的游戏规则配置入口。后续可配置的游戏规则在此按功能分组扩展;认证、资源源、版本清单仍分别使用现有配置文件。
发布部署时,将文件放在 bd2server.exe(Linux/macOS 为 bd2server)旁。开发入口读取仓库根目录的同名文件。可修改的规则在重启后生效,起始章节只在首次初始化时选择。客户端无需配置此文件。发布包只在服务端包中提供 game.json 和本指南。
默认内容:
{
"schema_version": 1,
"story": {
"start_pack_id": 21
},
"gacha": {
"include_collaboration_ur_weapons": false
}
}
联动 UR 专武
gacha.include_collaboration_ur_weapons 必须是 JSON 布尔值:
| 值 | UR 必得装备券的结果 |
|---|---|
false(默认) |
使用当前 GameData 的原始 UR 必得装备券池。 |
true |
在原池中加入 14 种联动角色 UR 专武(装备 ID 943200 至 943213)。 |
开关仅作用于 UR 必得装备券。新增装备沿用同星级原有装备的单件权重,原有星级权重规则保持不变;加入候选后,同星级内的概率按扩展后的权重总和计算。该设置只改变券池候选,不会直接发放装备。专武绑定角色,同一角色的多个服装共用专武。
服务器的起始章节
story.start_pack_id 接受整数 21 或 1,省略时默认 21。
| 值 | 本服玩家的开局 |
|---|---|
21(默认) |
从当前客户端默认的店长篇开始,使用该篇的任务和教学流程。 |
1 |
从旧主线第一章开始,使用当前 GameData 中该章的开场剧情、初始任务及购卡奖励。 |
请在服务器首次启动前确定此值。第一次成功初始化时,服务端会在 SQLite 中持久保存服务器的起始章节;此后配置必须与保存值一致。改成另一个章节会拒绝启动,并在日志中明确提示原值与配置值,不会覆盖原设置或玩家进度。首次启动失败并回滚时不会锁定选择,可以修正配置后重试。
这项限制只针对 story.start_pack_id;其他游戏规则仍可修改。升级和恢复服务器时应一起保留配置与数据库,不能通过删除数据库来切换开局,这会删除玩家存档。
后续官方若将旧主线与店长篇重构合并为一条剧情线,再重新评估此限制与迁移方案。重构发布日期尚未确认。
校验与升级
schema_version 当前必须为 1。字段拼写错误、未知字段、错误类型(例如字符串 "true")、null、格式错误或文件末尾多出的 JSON 都会使服务端拒绝启动,并在错误中给出文件路径。省略 gacha 或此布尔开关时使用 false。
旧安装缺少整个文件时使用默认规则,服务端不会自动写入或覆盖文件。升级服务端时保留服主已经修改的 game.json;新发布包中的文件可用于比对新增字段。Docker 部署可将自定义文件只读挂载到 /app/game.json,重启容器后生效。