avatar
@bangbang93

写给BMCLAPI单日调用次数超过一千万次

3/7/2020, 1:16:00 PM

image.png
本数据包括MCBBS源
今天你贡献流量了吗

最初开始做BMCLAPI的时候只是因为对BMCL的下载速度不满意,有些启动器在我之前是通过多线程分段下载加速的。至于我,就发挥老本行,自己做镜像。最初的BMCLAPI其实还没有名字,我只是用我自己的网页服务器+ftp上传文件。1.2.5时代的资源文件还很简单,游戏内F3+S就可以下载。下载完之后我再手动上传到服务器上,于是这就是最初的BMCLAPI。
就这样过了几个月,Mojang开始修改启动器格式,让启动器进行资源文件的管理,于是就很难手动同步所有资源文件了。毕竟我也不可能每天盯着mojang的更新,于是BMCLAPI开始有了后端服务。
其实BMCLAPI的基础逻辑,只要写过启动器的人也都能理解,毕竟他们实际上干得事情差不多:解析资源文件索引,然后去mojang服务器上下载文件,存到本地。不同的也就是BMCLAPI需要同时下载所有版本的所有索引的所有资源文件,并且还要去重。
后来由于BMCL的需要,接着做了Forge的镜像。最初BMCLAPI是爬forge网页分析下载的,后来一次偶然的机会,看Forge安装器的源码时,发现了官方提供的索引JSON,于是立即重构到索引上,毕竟爬虫又难维护速度又慢,不过没想到Forge会把JSON停掉,只好把以前的代码捞回来,重新开始爬虫事业。
LiteLoader和Optifine都是在和其他启动器作者py的时候,他们提的需求,Liteloader从一开始就有版本索引,所以做起来很轻松,不过Optifine就比较难受了,不但没有版本索引,网页还有防盗链。

最后感谢大家的厚爱,BMCLAPI将会持续优化各位的下载体验

今天(3月12日)翻硬盘的时候发现了早期BMCLAPI的代码截图
image.png