之前做了一个 MCPE 的镜像项目,实现 MCPE 服务端的快速部署,但是每次对服务端进行操作都要 SSH 连上服务器后才能操作,于是做了个基于 nodejs 的 Web API 后台,可以实现通过 http 请求向 MCPE 服务端发命令。
bedrock-api
这个项目的思路就是一个 nodejs 后台进程,fork 出一个 MCPE 后端的进程,然后 nodejs 进程接管 MCPE 的 io 流,同时 nodejs 开启一个 http 服务器,接收到请求后转发给 MCPE 后端。已经用 docker 打包好了。
直接运行
// 1. clone项目
git clone https://github.com/LomotHo/bedrock-api.git && cd bedrock-api
// 2. 在bedrock-api内创建bedrock文件夹,解压服务端程序到bedrock文件夹,或者直接把旧的数据复制过来
mkdir bedrock && unzip bedrock-server-1.xx.xx.xx.zip
// 3.运行(要先安装nodejs)
npm i
node app.js
Docker 部署
docker run -d --restart=always --name=mcpe-api --net=host \
-v /opt/mcpe-data:/server/bedrock \
lomot/minecraft-bedrock:base-api
注意: 服务端数据文件夹/opt/mcpe-data 需要包括完整的服务器文件才能运行, 第一次配置建议从官方网站下载并解压Minecraft服务端下载
API 及其用法
GET /api/v1/sendcmd
- 用法:
GET www.xx.xx:3000/api/v1/sendcmd?cmd=xxxx
, - 示例:
- list:
GET www.xx.xx:3000/api/v1/sendcmd?cmd=list
, (暂时不能返回数据) - op:
GET www.xx.xx:3000/api/v1/sendcmd?cmd=op%20"lomot%20coyote"
cmd 后面的参数需要编码,原命令为op "lomot coyote"
bedrock-console
这个项目实现了一个网页控制台,部署完成后可以直接在网页链接到 MCPE 控制台,思路与前一个项目类似,借鉴了这个项目:https://github.com/robinp7720/Minecraft-Nodejs-live-web-console
直接运行
// 1. clone项目
git clone https://github.com/LomotHo/bedrock-console.git && cd bedrock-console
// 2. 创建bedrock文件夹,解压服务端程序到bedrock
mkdir bedrock && unzip bedrock-server-1.xx.xx.xx.zip
// 3.运行(要先安装nodejs)
npm i
node app.js
Docker 部署
待续
配置和使用
配置文件是config/index.js,当前可用项目:
- localPort: 控制台网页端口
- password: 控制台密码