搭建OpenBMCLAPI,为MC贡献一份你的力量~


前言

由于某巨大mc论坛的倒下
国内最大的下载镜像源也随之倒下了。
官方源又由于神奇的东方力量半死不活。
这些流量也随之到了BMCLAPI上。
但是bmclapi的服务器根本撑不住这么多。
这就是OpenBMCLAPI的来源。贡献自己的服务器, 为大陆mc贡献一份力量。

搭建

Github仓库: https://github.com/bangbang93/openbmclapi
可以使用Docker部署,或者NPM部署。

要求

可以搭建的种类分为全量和分片。
全量需要~120G的空间
公网可访问(端口映射也可),可以非80
10Mbps以上的上行速度
暂时不接受国外节点了
可以长时间稳定在线
暂不支持IPv6 only(可以双栈)
首先,你需要在你的服务器上安装
NodeJS >v18.0 和NPM/PM2

安装NodeJS

如果你已经安装了,可以直接跳到下方安装OpenBMCLAPi

前往https://nodejs.org下载Node.js的安装包。Node.js提供了不同操作系统的安装包,包括Windows、macOS和Linux。根据您的操作系统选择合适的安装包版本。

这里直接让GPT帮我写了,懒。:(

  1. 解压下载的Node.js安装包到您选择的目录。可以使用以下命令进行解压(假设安装包名为node-vxx.x.x-linux-x64.tar.gz):

    tar -xzf node-vxx.x.x-linux-x64.tar.gz
  2. 进入解压后的目录:

    cd node-vxx.x.x-linux-x64
  3. 将Node.js二进制文件目录添加到系统PATH环境变量中。可以通过编辑~/.bashrc~/.bash_profile文件,并将以下行添加到文件末尾:

    export PATH=$PATH:/path/to/node-vxx.x.x-linux-x64/bin

    然后保存文件并执行以下命令使其生效:

    source ~/.bashrc

    source ~/.bash_profile

    安装完成后,您可以通过运行一些简单的命令来验证Node.js是否正确安装。打开命令行终端(命令提示符或终端窗口),运行以下命令:

    node -v
    npm -v

    如果两条命令都显示了正确的版本号,那么恭喜您,Node.js已经成功安装!

好了,你现在安装好了NodeJS.是时候正式开工了。

安装OpenBMCLAPI

由于神秘的东方政策,鸡房里的服务器都需要备案才能使用,所以在大陆机房搭建时,你需要有一个自己的已备案的域名。

十分的简单,三行代码搞定。

git clone https://github.com/bangbang93/openbmclapi
## 国内可以使用
## https://mirror.ghproxy.com/https://github.com/bangbang93/openbmclapi
cd openbmclapi
## 安装依赖
npm ci
## 编译
npm run build
## 运行
node dist/index.js

如果你收到了这个报错,说明你做的没问题。

这个时候,我们需要进入OpenBMCLAPI的QQ群689855839寻找群主Bangbang93获取ID和Secret。

设置参数

环境变量必填默认值说明
CLUSTER_ID-集群 ID
CLUSTER_SECRET-集群密钥
CLUSTER_IP自动获取公网出口IP用户访问时使用的 IP 或域名
CLUSTER_PORT4000监听端口
CLUSTER_PUBLIC_PORTCLUSTER_PORT对外端口
CLUSTER_BYOCfalse是否使用自定义域名, (BYOC=Bring you own certificate),当使用国内服务器需要备案时, 需要启用这个参数来使用你自己的域名, 并且你需要自己提供ssl termination
ENABLE_NGINXfalse使用 nginx 提供文件服务
DISABLE_ACCESS_LOGfalse禁用访问日志输出

这里的CLUSTER_ID和CLUSTER_SECRET就是你从BangBang93获取到的。
我们还需要额外填写CLUSTER_IP、CLUSTER_PORT、CLUSTER_PUBLIC_PORT、CLUSTER_BYOC。
IP填你的域名
PORT填内网port
public_port填写向公网开放的端口,如果你不知道可以往下看。
CLUSTER_BYOC填true.

配置NGINX

现在是时候配置Nginx反向代理了。
可以直接使用宝塔便捷的创建反向代理了
网站,创建一个网站,域名填刚刚填在CLUSTER_IP的域名。
创建网站,然后转到SSL这一栏:
填写密钥和证书,然后启用SSL。
转到反向代理这一栏,填写目标URL为:http://127.0.0.1:{CLUSTER_PORT}把Cluster_port换成你配置文件里的cluster_port。

如果你的访问端口不是标准的443端口,你还需要在配置文件里修改端口为PUBLIC_PORT。你需要确保这个端口在外网可以被访问。
比如这样:

然后就可以开始同步文件了。
这里只对于全量节点

安装Rsync

首先,使用apt-get install rsync安装rsync软件。
cd到安装openbmclapi的文件夹
输入以下三个指令中的一个:
rsync -rzvP openbmclapi@home.933.moe::openbmclapi cache
rsync -avP openbmclapi@storage.yserver.ink::bmcl cache
rsync -azvrhP openbmclapi@openbmclapi.home.mxd.moe::volume cache
密码为:openbmclapi
然后等待结束就可以了。

设置后台运行

打开控制台,输入pm2 start dist/index.js即可。
现在你应该可以在https://bd.bangbang93.com/pages/rank/clusters
看到你的节点了。