Skip to content

数据迁移

从旧版 Dice!(V2)一键迁移数据到 Dice!Next。让老用户无痛升级是本项目的核心目标之一。

已支持的迁移范围

导入器直接解析旧版 Dice! 数据目录的原始文件(含二进制 .dat / .RDconf 格式),转换写入 Dice!Next:

旧版数据文件迁移到
人物卡user/PlayerCards.RDconf人物卡库(cards.db)
用户数据user/UserConf.dat玩家档案(昵称 / 信任等级 / 好感)
群配置user/ChatConf.dat群设置:停用指令 → 群停用、rc 房规 → COC 房规、入群欢迎词
黑名单conf/BlackList.json黑白名单
自定义回复conf/CustomMsgReply.json关键词回复(多结果随机 / 文本)
自定义文案conf/CustomMsg.json回复文案覆盖(写入简体中文层)
自定义帮助conf/CustomHelp.json.help 词条覆盖(写入简体中文层)
骰主conf/Console.xmlMaster 列表
外置牌堆PublicDeck/*.jsondata/decks/(导入前做 JSON 格式校验)
Lua 模组mod/data/mod/(整棵复制,由 Lua 模组子系统识别)

说明

  • 自定义文案 / 帮助只写入简体中文层,其他语言保留 Dice!Next 自带文案。
  • 旧版文案键(strXXX)中在新版有对应槽位的会自动映射;没有对应槽位的不会丢——会以「无效文本」形式保留,可在管理面板中查看后手工移植。
  • 群配置目前只迁移上表列出的三项,旧版其余群设置项不迁移。
  • PublicDeck/ 下非 .json 文件会被跳过(记入报告的「跳过」项)。

迁移步骤(管理面板)

  1. 把旧版 Dice! 的数据目录(内含 conf/user/ 的那一层)放到运行 Dice!Next 的这台机器上。
  2. 打开管理面板 → 系统设置 → 旧版数据导入
  3. 填写该数据目录的完整路径。牌堆 / 模组文件默认跳过已存在的,如需覆盖可打开「覆盖已存在的文件」开关。
  4. 点「开始导入」,等待完成。

对应的 REST 接口为 POST /api/legacy/import,参数 { "dir": "路径", "overwrite": false }

迁移报告

导入完成后返回各项数量,包括:

  • 人物卡数(及涉及的用户数)、玩家档案、黑名单、自定义回复、帮助、文案(另计「无效文本」条数)、Master 数
  • 牌堆与模组的成功 / 失败 / 跳过明细(逐文件列出原因)
  • 群配置:导入的设置项数与涉及群数

页面上会直接展示牌堆 / 模组的逐项结果卡片。

注意事项

  • 迁移前:备份旧版完整数据目录;确保该目录可被 Dice!Next 所在机器访问。
  • 可重复导入:数据类导入是幂等的,重复导入会更新而不是产生重复数据;文件类(牌堆 / 模组)由「覆盖」开关控制。
  • 迁移后:在测试台或测试群验证掷骰、检定、自定义回复是否符合预期。
  • 部分指令语法在 Dice!Next 做了规范化,差异见掷骰与检定

基于 AGPLv3 协议发布