文件
BotStore/package.json
T
lyizai 8d1b8d5122 docs: 部署方法固化进仓库(一键部署脚本 + 完整运维文档)
之前部署用的 SSH 助手放在系统临时目录里,重启就丢了,下一位接手时根本拿不到。
现在把它搬进仓库并补齐文档:

新增
- scripts/ssh-helper.js:SSH 执行与 SFTP 上传。Windows 自带 OpenSSH 但没有
  sshpass/plink,无法非交互传密码,所以用 ssh2 直接实现协议层。
  凭据全部走环境变量(SSH_HOST/SSH_PORT/SSH_USER/SSH_PASS),脚本里不含任何密钥;
  ssh2 是 devDependencies,未安装时提示安装而不是裸崩
- scripts/deploy.js:一键部署 —— 打包 → 上传 → 远程执行 update.sh →
  轮询确认控制台返回 200,任一步失败都明确报错。可选 DEPLOY_APP / DEPLOY_PORT
- npm scripts:deploy、ssh

文档
- TODO.md 新增「部署方法」章节:一键部署与手动部署两种步骤、辅助脚本说明、
  update.sh 的行为、pm2 与日志的常用运维命令(含回滚)、服务器上关键文件清单、
  新增环境变量时的三件事(.env 真实值 + .env.example 占位符 + 确认 gitignore)
- README「部署到服务器」开头加一键更新说明,并指向 TODO.md 的完整章节
- 顺带提醒旧版 Fabric 模组源码在临时目录里会被清理,接手后建议先备份

测试 368 全绿;一键部署已实跑验证(4/4 校验通过,控制台 200 OK)。
2026-09-28 20:45:08 +08:00

40 行
1.0 KiB
JSON

{
"name": "autostore-bot",
"version": "1.1.0",
"description": "AutoStore Bot —— Minecraft 自动扩地机器人(mineflayer 重写版,多机器人挂机,Web 控制台,开拓日志,大地图,Grim 反作弊适配)",
"main": "src/index.js",
"scripts": {
"start": "node src/index.js",
"dev": "node --watch src/index.js",
"test": "node --test",
"check": "node scripts/check-syntax.js && node scripts/check-web-ids.js",
"deploy": "node scripts/deploy.js",
"ssh": "node scripts/ssh-helper.js"
},
"keywords": [
"minecraft",
"mineflayer",
"autostore",
"territory"
],
"author": "",
"license": "MIT",
"private": true,
"engines": {
"node": ">=18.0.0"
},
"dependencies": {
"chalk": "^4.1.2",
"dotenv": "^16.4.7",
"express": "^4.21.2",
"mineflayer": "^4.39.0",
"mineflayer-pathfinder": "^2.4.5",
"vec3": "^0.1.10",
"ws": "^8.18.0"
},
"devDependencies": {
"minecraft-data": "^3.102.3",
"ssh2": "^1.17.0"
}
}