美文网首页
基于nodejs的MCPE http api后端

基于nodejs的MCPE http api后端

作者: lomot | 来源:发表于2020-01-06 22:08 被阅读0次

    之前做了一个 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: 控制台密码

    默认登录页面为:http://www.xxx.com:3000/index.html

    相关文章

      网友评论

          本文标题:基于nodejs的MCPE http api后端

          本文链接:https://www.haomeiwen.com/subject/mfjlactx.html