npm run check-ootb # 整体开箱检查
npm run check-modules # catalog + manifest
npm run catalog-sync # packages → catalog| 现象 | 处理 |
|---|---|
秒退、node:sqlite 报错 |
Node 升到 22.13+ |
| 端口占用 | 改 db_port 或 DB_PORT |
| 模块 API 空 | 检查 modulesDir 是否为 "modules" |
| SQLite 损坏 | 停服后从备份恢复 |
curl http://127.0.0.1:3001/api/health- 看 BDS 日志第一条错误
npm run check-modulesbehavior-pack build看 esbuild 输出- 确认模块已 enable,且
sfmc reload(或 deploy 后在 BDS/游戏内reload)
- 是否
sfmc reload(或 build + deploy +reload)过? - lock 里
enabled: true吗? GET /api/sfmc/modules/<id>确认状态- 临时 disable 该模块,排除单模块问题
- 依赖模块(如 land → economy)是否已安装并启用?
- LLBot reverse-ws 是否为
ws://127.0.0.1:3002 qq_group_id、llbot_*是否正确- qq-bridge 日志里有没有连上 LLBot
- 防火墙是否拦 3002
原因: 数据目录(如独立 sfmc-bds/)里装的是旧模块产物(仍 import "@sfmc/sdk",tsconfig 指向主仓 sdk/@sfmc-sdk),且部署根通常没有 node_modules/@sfmc*。
平台侧(已修): behavior-pack build 会解析 CLI 旁的 @sfmc-bds/sdk,并把 @sfmc/sdk/* 兼容映射到同一 SDK;不再依赖模块目录里的残缺 tsconfig extends。
你这边建议:
- 用新版 CLI 再跑
bp build(或设SFMC_SDK_ROOT指向 SDK 包根) - 长期:重装模块以拿到
@sfmc-bds命名(fetch-module拷贝安装会自动 normalize)
# 示例:从本机 sfmc-modules 重装
node tools/fetch-module.mjs install tps --from dir:../sfmc-modules/packages/tps先:
npm run build --workspaces --if-present以下文件已废弃:
check-ootb.js、check-catalog.js→ 用.mjsemit-manifest、modules/_manifests/→ 已废弃;db-server 直接读各包sapi/manifest.jsonpanel/→ 用sfmc
仍解决不了,到 GitHub Issues 带上 BDS 日志、check-ootb 输出和 Node 版本。