按 TODO.md 的优先级把待办全部落地为代码,详见 CHANGELOG 的 [1.7.0]。 - 「走不动」攻关:地面状态修正(syncGroundToPhysics / trustSetbackOnGround)、 出站包类型分布、备选执行器 manualMover(只借 A* 规划、自己按键执行) - 原点自救分两轮并统计成败;回城前评估「原地是否更差」并记录前后坐标 - 新增目标区块租约表(targetLease)避免多机器人撞同一块 - 定时消息支持 cron 与「期望回复」确认;新增人工介入 Webhook 通知(notifier) - 大地图后台预热与视野裁剪;控制台日志按帧批量写入、配置面板支持搜索 顺带修掉两个影响部署的细节: - 部署脚本(deploy.js / ssh-helper.js)改为也能从 .env 读 SSH 凭据 —— 在命令行传密码会留在 shell 历史与进程列表里,写进已被忽略的 .env 更安全; 显式环境变量仍然优先。.env.example 补上占位符并说明这些只在本机用。 - package.json / package-lock.json 版本对齐到 1.7.0(此前停留在 1.1.0, 与 CHANGELOG 的语义化版本声明脱节)。 测试:368 → 436 个用例,`npm test` 与 `npm run check` 全绿。
67 行
3.2 KiB
Bash
67 行
3.2 KiB
Bash
# 环境变量示例:复制为 .env 并填入真实值
|
||
# .env 已被 .gitignore 忽略,绝不要提交真实密钥
|
||
|
||
# ==================== Minecraft 服务器 ====================
|
||
MC_HOST=bgjq.simpfun.cn
|
||
MC_PORT=25565
|
||
MC_VERSION=1.21.4
|
||
|
||
# ---- 多机器人(推荐):同时挂多个玩家,用逗号分隔「用户名:密码」 ----
|
||
# 密码只从这里读取,绝不写入代码、配置文件或控制台存储
|
||
MC_BOTS=<bot-name-1>:<password-1>,<bot-name-2>:<password-2>
|
||
# 用户名/密码里含逗号或冒号时,改用 JSON 数组写法:
|
||
# MC_BOTS=[{"username":"bot1","password":"p1"},{"username":"bot2","password":"p2","label":"二号机"}]
|
||
|
||
# ---- 单机器人兜底:未设置 MC_BOTS 时生效 ----
|
||
MC_USERNAME=<your-bot-name>
|
||
MC_PASSWORD=<your-server-password>
|
||
|
||
# offline=离线服(服务器用 /login 密码登录);microsoft=正版
|
||
MC_AUTH=offline
|
||
|
||
# ==================== Web 控制台 ====================
|
||
WEB_HOST=127.0.0.1
|
||
WEB_PORT=3081
|
||
# 控制台令牌(可写进 URL 的 ?token=,便于直接点击打开;留空则本机免登录)
|
||
WEB_TOKEN=
|
||
# 控制台登录密码:配置后页面会弹出登录框,验证通过才允许操作机器人的控制台 / 聊天框 / 扩地任务
|
||
WEB_PASSWORD=
|
||
|
||
# ==================== 领土数据源与大地图 ====================
|
||
# 地图站点根地址(末尾不带斜杠)
|
||
# 程序会请求:
|
||
# <DYNMAP_BASE>/tiles/<DYNMAP_WORLD>/markers.json 领土标记
|
||
# <DYNMAP_BASE>/tiles/<DYNMAP_WORLD>/<z>/<x>_<y>.png 大地图瓦片图片
|
||
DYNMAP_BASE=http://bgjq.simpfun.cn
|
||
# 世界目录名(对应地图站点上的世界名)
|
||
DYNMAP_WORLD=minecraft_overworld
|
||
|
||
# ==================== SimpCore 开放 API(可选) ====================
|
||
# 文档:https://open.bgjq.top/api-docs.html
|
||
# 注意:API 与 API-V2 是两套**独立、互不通用**的密钥体系,需要在密钥中心分别申请
|
||
#
|
||
# 第一套 API:邦国 / 领土 / 玩家 / 全服数据(https://bgjq.simpfun.cn/api/)
|
||
SIMP_API_KEY=<your-simp-api-key>
|
||
# 第二套 API-V2(ServerOpenAPI):在线玩家 / 装备 / 游戏时间 / 末影龙
|
||
# https://bgjq.simpfun.cn/api-v2/
|
||
# 配额很小(末影龙仅 1 次/分钟),程序只按需查询、不做轮询
|
||
SIMP_API_V2_KEY=<your-simp-api-v2-key>
|
||
|
||
# ==================== 人工介入提醒(可选) ====================
|
||
# 等待登录验证码 / 原点自救失败时推送提醒(默认按飞书、Lark 自定义机器人的文本消息格式)
|
||
# 用法:控制台「服务器 → 通知提醒」勾选「启用通知」并填地址;地址留空时回退本环境变量
|
||
# 注意:Webhook 地址等同于「任何人都能往群里发消息」的凭据,不要提交进仓库
|
||
NOTIFY_WEBHOOK_URL=
|
||
|
||
# ==================== 部署(可选,只在本地开发机用) ====================
|
||
# 只有 `npm run deploy` / `node scripts/ssh-helper.js` 会读这几个变量;
|
||
# 程序本体(src/)不读它们,所以服务器上的 .env 不需要填。
|
||
# 放在这里是为了不把 SSH 密码写进命令行(会留在 shell 历史与进程列表里)。
|
||
SSH_HOST=<your-server-ip>
|
||
SSH_PORT=<your-ssh-port>
|
||
SSH_USER=root
|
||
SSH_PASS=<your-ssh-password>
|
||
# 部署目录与健康检查端口(留空则用脚本默认值 /opt/autostore-bot 与 78)
|
||
DEPLOY_APP=
|
||
DEPLOY_PORT=
|