如果获得 minecraft 基岩版最新的版本号?

2021-12-07 03:29:01 +08:00
 zisen
我部署了一个 minecraft bedrock edition dedicated server ,然后想用 python 写一个自动更新服务端文件的脚本,参考别人的脚本是下载 mojang 的 server download 页面,然后在页面中解析出最新版服务器文件的下载地址,随后下载。但是我发现 mojang 似乎更新了他们的网站,可能做了一些反爬措施,导致我不能用 wget 或者 requests 下载网页。
请问各位大佬有没有别的办法获取到最新的版本号例如 1.18.0.2 这样的,因为服务器文件的下载地址是一个固定的链接末尾加上版本号,所以只要知道了版本号就能下载了。
2172 次点击
所在节点    Minecraft
13 条回复
billzhuang
2021-12-07 07:52:17 +08:00
bedrock 是全平台同步的,所以你可以看 app store 的版本或者 google play 的版本, 或者 xbox 的版本,或者 ps5 的版本。
Removable
2021-12-07 08:39:36 +08:00
本想说 BMCLAPI ,但是看了一眼,好像只提供 java 版的版本号接口
zisen
2021-12-07 09:38:29 +08:00
@Removable 是的,网上关于基岩版的讨论和支持相较于 java 版本的还是比较少,也没有类似的镜像站点可以方便国内用户加速下载
2i2Re2PLMaDnghL
2021-12-07 09:38:38 +08:00
2i2Re2PLMaDnghL
2021-12-07 09:39:56 +08:00
zisen
2021-12-07 09:40:13 +08:00
@2i2Re2PLMaDnghL UA 头指的是 user agent 吗,我是 python 小白,这是我尝试写的第一个脚本😂
zisen
2021-12-07 09:42:36 +08:00
@2i2Re2PLMaDnghL 我之前尝试过 requests+headers 下载 mojang 的官方网站,但是还是被拒绝下载,不过你给的这个 wiki 的链接没准管用
2i2Re2PLMaDnghL
2021-12-07 09:52:07 +08:00
@zisen 我是把浏览器发出的请求用 curlconverter.com 转换后一行行注释掉来试错出最小量的,最后发现只需要添上我自己的 user-agent header 就能正常获取到下载地址。
zisen
2021-12-07 10:00:04 +08:00
@2i2Re2PLMaDnghL 感谢大佬!运行了一下你的程序,发现可以输出下载地址了!
怀疑可能我之前在网上找的 UA 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36' 被识别出来了?
一直在 awaiting
2i2Re2PLMaDnghL
2021-12-07 10:21:42 +08:00
@zisen 根据 https://caniuse.com/usage-table ,Chrome/39 占比 0.00% 少于万分之一用户。
试了下反而直接掏出一个完全莫名其妙的 UA (比如随手写了个 `gg/1` )反而能获取到……
requests 里面可以添加一个 timeout 以确保 fail fast
soulzz
2021-12-07 11:13:09 +08:00
soulzz
2021-12-07 11:14:14 +08:00
或者直接使用上述项目的脚本
start 启动时会自动更新
update 是更新脚本自身
IgniteWhite
2021-12-08 03:06:56 +08:00
我用的这个 https://github.com/itzg/docker-minecraft-bedrock-server 有更新功能,你可以去看看源码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/820495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX