我把官方的bedrock minecraft PE服务端塞进了docker里

写了一个bedrock minecraft PE服务器的dockerfile

测试支持ubuntu14.04以上版本,支持centos7,6代没有测试,理论也会支持,其实只要docker版本够了任意发行版都支持,下面是我从我的github里面复制过来的服务器搭建文档,可以参考一下

项目长期更新,最新的文档见github项目文档:
https://github.com/LomotHo/minecraft-bedrock/blob/master/readme_zh.md


快速开启服务器

  1. 先在服务器上安装docker

    curl -sSL https://get.daocloud.io/docker | sh
    # 此脚本适用于Ubuntu,Debian,Centos等大部分Linux
    systemctl start docker
    # 安装完成后记得打开docker
    
  2. 创建服务器数据目录

    数据目录用于存放地图资料,配置文件,包括ops.json,permissions.json, server.properties,whitelist.json, worlds, 如果数据目录里面没有旧的数据,后面则会自动创建。 目录可以自定,这里以/opt/mcpe-data为例

    mkdir -p /opt/mcpe-data
    
  3. 部署服务器
    把命令里面的/opt/mcpe-data换成你自己的目录

    docker run -d -it --name mcpe -v /opt/mcpe-data:/data -p 19132:19132/udp lomot/minecraft-bedrock:1.9.0.15-r2
    

    如果发现目录写错了或者要换目录,可以先执行下面的命令关闭并删除刚刚开启的容器,然后再重新开启服务器

    docker stop mcpe
    docker rm mcpe
    

服务器升级

  1. 首先备份一下数据
    就是将/opt/mcpe-data这个文件夹备份一下
cp /opt/mcpe-data /opt/mcpe-data.bak
  1. 然后退出并删除容器
docker container stop mcpe
docker container rm mcpe
  1. 开启新版的容器
docker run -d -it --name mcpe -v /opt/mcpe-data:/data -p 19132:19132/udp lomot/minecraft-bedrock:1.9.0.15-r2

记得把命令里面的/opt/mcpe-data换成你自己的目录
结束

服务器管理

进入、退出游戏控制台

docker attach mcpe

ctrl + p + q退出控制台
不要用ctrl+c或者ctrl+d,不然容器会退出。

手动 关闭/开启/重启/删除 服务器

docker stop/start/restart/rm mcpe

删除服务器后/opt/mcpe-data里面的数据不会丢失

向容器复制文件

此命令可以用于添加行为包,资源包,或者添加插件(如果有的话)

docker cp /path/to/xxx mcpe:/mcpe/server

/path/to/xxx为主机目录,mcpe:/mcpe/server为容器内服务器的目录

进入容器

docker exec -it mcpe /bin/bash

执行上面的命令可以进入服务器容器,并且开启一个shell,这个时候就可以编辑文件了

在shell中输入exit可以退出

进阶选项

以自动重启的方式开启服务器

加上--restart=on-failure:5或者--restart=always参数即可

docker run -d --restart=on-failure:5 -it --name mcpe \
  -v /opt/mcpe-data:/data \
  -p 19132:19132/udp lomot/minecraft-bedrock:1.9.0.15-r2

如果需要主机开机或重启时自动启动mc容器,将docker设为开机自启即可:

systemctl enable docker

减少网络性能损耗

docker的网络性能损失主要是由于桥接网络造成的,把参数-p 19132:19132/udp去掉,加上--net=host就能解决问题。

docker run -d -it --name mcpe -v /opt/mcpe-data:/data --net=host lomot/minecraft-bedrock:1.9.0.15-r2

安全地退出容器

直接使用docker stop mcpe相当于强行退出游戏服务器,有可能损坏数据(但由于mc的数据是区块储存的,一般不会出现这个问题)。

进入游戏控制台:docker attach mcpe,然后执行stop可以安全地退出容器。

如何查看报错日志

执行docker logs mcpe,可以查看容器的日志,如果服务器开启失败可以用这个命令查看报错日志。

部分报错处理

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

这个是docker服务没打开,执行systemctl start docker即可

# 使开启docker开机自启
systemctl enable docker

问题反馈QQ群

667224193

服务器二进制文件

https://minecraft.net/en-us/download/server/bedrock/

Docker 地址

https://cloud.docker.com/repository/docker/lomot/minecraft-bedrock

github 项目地址

https://github.com/LomotHo/minecraft-bedrock

你可能感兴趣的:(我把官方的bedrock minecraft PE服务端塞进了docker里)