接入 V2 密钥后实跑发现字段名与文档描述对不上,全部按真实响应修正:
- /players 返回的是对象 {online,max,players:[...]} 而不是裸数组,
原解析会拿到空列表;且里面没有坐标与延迟,只有所在世界
- /dragon 的字段是 dragonAlive,不是 alive,也没有 health / phase
- /time 直接给算好的时刻 {world,tick,phase,time12,time24},
原实现还在用 world_time/day_time/is_day 自己换算,全部取不到
- /players/{name}/equipment 的物品是 {type,key,amount,damage,maxDurability,unbreakable}
且挂在 equipment 子对象下;damage 是已损耗值,原来会把「损耗 157」当成
「剩余 157」显示,现在换算成 remainingDurability 并显示「剩余/上限」+ 百分比
- 429 限流时服务端带 retryAfterSeconds,现在提示里直接写出还要等多少秒
(末影龙 1 次/分钟,实测提示「还需等待 16 秒」)
另外给 SimpApiV2Client 加了可注入的 fetchImpl,便于测试替换网络层。
实测(DiLiDaLaDaLa):在线 8 人、游戏时间 19:45 NIGHT、
下界合金剑 剩余 1992/2031、头盔 剩余 198/407。
测试 336 -> 343,全部通过。
49 行
2.2 KiB
Bash
49 行
2.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>
|