• Linux+MCSM9+Docker 搭建Minecraft基岩版BDS私服,我的世界基岩版开服教程


    Debian系统使用MCSManager面板和Docker容器搭建MC基岩版服务器的教程

    视频教程:https://www.bilibili.com/video/BV1FZ4y1v7iK/

    Linux+MCSM9+Docker 搭建我的世界基岩版BDS服务器,MC基岩版开服教程

    • 其他版本我的世界服务器搭建教程:https://blog.zeruns.tech/tag/mc/
    • 各种Minecraft服务端介绍和下载:https://blog.zeruns.tech/archives/626.html
    • 高性价比和便宜的VPS/云服务器推荐: https://blog.zeruns.tech/archives/383.html

    我的世界开服交流QQ群2:746189110

    MC开服交流QQ频道:https://url.zeruns.tech/mc_qq

    基岩版介绍

    Minecraft Bedrock Edition 也就是我的世界基岩版,基岩版(Bedrock Edition),是由Mojang Studios、Xbox Game Studios和SkyBox Labs开发的多平台版本Minecraft。由于游戏引擎来源于携带版,所以在此版本之前,这个作品系列在被提及时使用“携带版”、“MCPE”或“携带/Windows 10版”的名称。

    Minecraft 基岩版可以运行在 Win10、Android、iOS、XBox、switch。基岩版不能使用 Java 版的服务器,Java 版也不能使用基岩版的服务器,不过 Win10、Android、iOS、XBox、switch 的基岩版都可以使用同一个服务器,也就是说基岩版的服务器可以让 Win10 和手机一起联机。

    MCSM9介绍

    分布式,稳定可靠,开箱即用,高扩展性,支持 Minecraft 和其他少数游戏的控制面板。

    MCSManager 面板(简称:MCSM 面板)是一款全中文,轻量级,开箱即用,多实例和支持 Docker 的 Minecraft 服务端管理面板。

    此软件在 Minecraft 和其他游戏社区内中已有一定的流行程度,它可以帮助你集中管理多个物理服务器,动态在任何主机上创建游戏服务端,并且提供安全可靠的多用户权限系统,可以很轻松的帮助你管理多个服务器。

    准备

    首先你得有台服务器(已经有的可以忽略),下面推荐一些:

    其他性价比高的服务器推荐:https://blog.zeruns.tech/archives/383.html

    各大云服务厂商 轻量应用服务器 性能评测对比,阿里云、腾讯云、华为云、Ucloud:https://blog.zeruns.tech/archives/675.html

    如果你是新用户有优惠,建议能买多长时间就买多长时间,因为优惠价的服务器到期后续费很贵的,而且新用户优惠只能买一次,所以尽量买长时间点划算。

    2核4G内存 5兆带宽的服务器大约可以同时在线5到15人,4核8G 10兆的服务器大约可以同时在线15到30人。

    不要买1兆带宽的!!! 1兆带宽最多一两个人玩,建议5兆起!!!

    购买服务器后选择安装 Debian10或11 系统,然后用ssh登陆服务器。ssh客户端软件推荐putty或mobaxterm。

    默认账号一般是:root 密码是你自己在购买时设置的,有些可能购买时没有设置密码的可以购买后在控制台重置密码。

    连接服务器

    下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

    在SSH客户端中输入服务器IP地址,然后点击打开。

    如果弹出下图的警告就点

    然后输入账号并按回车,账号一般默认为root,接着输入密码并按回车确定,输入密码时不会显示出来。

    温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

    端口开放

    基岩版服务器默认端口是19132,协议为UDP;MCSM9需要的端口,23333和24444,协议为TCP。

    如果你使用阿里云腾讯云或者其他云服务商,请进入控制台到 防火墙/安全组 策略,放行以上端口

    或者放行全部端口,入和出方向都要。

    下图分别是开放部分端口和开放全部端口的示例。

    关闭系统自带防火墙:

    # 关闭防火墙,依次执行
    systemctl stop firewalld
    systemctl disable firewalld
    service iptables stop
    
    • 1
    • 2
    • 3
    • 4

    安装面板

    一行命令快速安装

    wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup.sh | bash
    
    • 1
    • 脚本仅适用于 AMD64 架构 Ubuntu/Centos/Debian/Archlinux)
    • 执行完成后,使用 systemctl start mcsm-{daemon,web} 即可启动面板服务。
    • 使用 systemctl enable mcsm-{daemon,web}.service 来开启开机自启
    • 面板代码与运行环境自动安装在 /opt/mcsmanager/ 目录下。

    配置文件目录: data/SystemConfig/config.json

    用户数据文件目录:data/User/*.json

    远程守护进程配置文件目录:data/RemoteServiceConfig/*.json

    安装完成后访问 http://你服务器的ip:23333/ 即可进入面板。

    • 默认账号:root
    • 默认密码: 123456

    Linux 手动安装

    • 若一键安装不起作用,则可以尝试此步骤手动安装。
    # 切换到安装目录,没有此目录请执行 mkdir /opt/
    cd /opt/
    # 下载运行环境(已有 Node 14+ 可忽略)
    wget https://npm.taobao.org/mirrors/node/v14.17.6/node-v14.17.6-linux-x64.tar.gz
    # 解压文件
    tar -zxvf node-v14.17.6-linux-x64.tar.gz
    # 链接程序到环境变量中
    ln -s /opt/node-v14.17.6-linux-x64/bin/node /usr/bin/node
    ln -s /opt/node-v14.17.6-linux-x64/bin/npm /usr/bin/npm
    
    # 准备安装目录
    mkdir /opt/mcsmanager/
    cd /opt/mcsmanager/
    
    # 下载面板端(Web)程序
    git clone https://github.com/MCSManager/MCSManager-Web-Production.git
    # 重命名文件夹并进入
    mv MCSManager-Web-Production web
    cd web
    # 安装依赖库
    npm install --registry=https://registry.npm.taobao.org
    
    # 返回上级目录
    cd ..
    # 下载守护进程(Daemon)程序
    git clone https://github.com/MCSManager/MCSManager-Daemon-Production.git
    # 重命名文件夹并进入
    mv MCSManager-Daemon-Production daemon
    cd daemon
    # 安装依赖库
    npm install --registry=https://registry.npm.taobao.org
    
    # 安装nano编辑器
    apt install nano
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    接着是配置 Systemd 服务

    运行命令 nano /etc/systemd/system/mcsm-web.service 来编辑web面板的服务,输入下面的内容,然后按 Ctrl + O 再按回车来保存,接着按 Ctrl + X 来退出。

    # /etc/systemd/system/mcsm-web.service
    [Unit]
    Description=MCSM 9 Web
    
    [Service]
    WorkingDirectory=/opt/mcsmanager/web
    ExecStart=/usr/bin/node app.js
    
    [Install]
    WantedBy=multiuser.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行命令 nano /etc/systemd/system/mcsm-daemon.service 来编辑web面板的服务,输入下面的内容,然后按 Ctrl + O 再按回车来保存,接着按 Ctrl + X 来退出。

    # /etc/systemd/system/mcsm-daemon.service
    [Unit]
    Description=MCSM 9 Daemon
    
    [Service]
    WorkingDirectory=/opt/mcsmanager/daemon
    ExecStart=/usr/bin/node app.js
    
    [Install]
    WantedBy=multiuser.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    接着是启动服务和设置开机自启

    # 重新载入变更
    systemctl daemon-reload
    
    # 设置开机自启
    systemctl enable mcsm-{daemon,web}.service
    
    # 启动服务
    systemctl start mcsm-{daemon,web}.service
    
    # 停止服务,正常情况不要运行此命令
    systemctl stop mcsm-{web,daemon}.service
    
    # 显示运行状况和日志
    systemctl status mcsm-web.service
    systemctl status mcsm-daemon.service -l
    
    # 默认情况下,面板端会自动扫描 daemon 文件夹并且自动连接到守护进程。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    如果登陆面板后没有看到守护进程,可以运行下面的命令来获取密钥,然后按下图所示手动添加到面板。

    cat /opt/mcsmanager/daemon/data/Config/global.json
    
    • 1

    下图里的127.0.0.1应该改成 你服务器公网IP 或者 localhost

    安装Docker

    用apt包管理器来安装:

    # 安装docker
    apt install docker.io
    
    # 设置docker开机自启和启动docker
    systemctl enable docker && systemctl start docker
    
    # 检查是否安装成功,若安装成功会显示 Docker version x.x.x
    docker -v
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    若没安装成功就试试下面的安装脚本:

    # 安装docker
    curl -sSL https://get.daocloud.io/docker | sh
    
    # 设置docker开机自启和启动docker
    systemctl enable docker && systemctl start docker
    
    # 检查是否安装成功,若安装成功会显示 Docker version x.x.x
    docker -v
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    如果还是不行就尝试下面链接的手动安装教程吧

    docker手动安装教程:https://url.zeruns.tech/docker

    Docker换国内源

    # 创建或修改 /etc/docker/daemon.json 文件
    apt install nano && nano /etc/docker/daemon.json
    
    # 然后输入下面内容:(输入完后按Ctrl+O,然后回车保存,接着按Ctrl+X退出编辑器)
    {
      "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }
    
    # 重启docker服务
    systemctl restart docker.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    安装ubuntu镜像

    进入面板,找到环境镜像管理点击进去

    点击 新建镜像,接着点击 创建ubuntu环境镜像


    在apt update后面加一句 RUN apt -y install wget ,如下图所示,然后点确定。

    接着等待构建完成

    运行服务端

    首先要去官网下载Linux版的BDS服务端,官网一般只提供最新版的服务端。

    BDS官网下载地址:https://url.zeruns.tech/MC_BDS

    1.19.2.02版 百度网盘下载地址:https://url.zeruns.tech/z00kY

    客户端版本尽量保持跟服务端版本一致,可以略高于服务端,但不能高太多。

    点击 应用实例→新建实例→基岩版Minecraft服务端→上传服务端压缩包



    接着实例名字自己填一个,启动命令填 ./bedrock_server ,然后点上传压缩包,选择刚刚下载的基岩版服务端压缩包。

    等待上传完成后点击 前往编辑实例具体参数

    然后 进程启动方式选择虚拟化容器,环境镜像选择mcsm-ubuntu:latest,开放端口填19132:19132/udp,填好后点击右下角的保存。

    将上图中的工作目录里面的目录路径复制一下,然后回到SSH终端,输入命令 cd 目录路径 来进入到服务端所在目录,命令中的目录路径换成你上面复制的。

    输入命令 ls 可以查看当前目录下的文件,可以看看压缩包有没有解压成功,如果解压成功就有多个文件的。

    接着输入命令 chmod 755 目录路径 ,目录路径也是换成上面复制的,这个命令是给予你服务端目录权限。

    现在这个版本的MCSM解压缩有点问题,解压出来的文件不全,可以在SSH中进到服务端的目录,用命令 unzip bedrock-server-1.19.2.02.zip 来解压,命令中的bedrock-server-1.19.2.02.zip换成你压缩包的名字,若提示有重复文件,就输入A,全部替换。

    接着到实例控制台点开启实例即可,看到如下图所示信息就是开启完成了

    进入游戏

    在游戏里点击添加服务器,输入你服务器的公网IP即可

    配置

    服务端解压后会包含一个名为 server.properties 的配置文件,服务器相关的配置就在这个配置文件中。

    可以在面板的文件管理中打开配置文件编辑。

    配置文件中的 # 开头的行是注释,可以不用管,主要就是修改 = 后面的内容。

    下面是一些配置项说明:

    • gamemode:默认的游戏模式,survival 生存,creative 创造,adventure 冒险。
    • difficulty:默认难度,peaceful 和平,easy 简单,normal 普通,hard 困难。
    • max-players:玩家数量限制,默认为 10
    • server-port:服务器端口,默认为 19132
    • server-portv6:IPv6 端口,默认为 19133
    • online-mode:正版验证,如果你的服务器可以正常连接到 Xbox Live 的话,可以设置为 true,否则可以设置为 false,即便不开启正版验证,客户端也需要登录 Xbox Live 才能联机。
    • white-list:白名单,只有在白名单中的玩家才能进入服务器,默认为 false
    • allow-cheats:允许作弊,默认为 false
    • player-idle-timeout:自动踢出挂机玩家,默认为 30 分钟。
    • default-player-permission-level:默认玩家等级,visitor 游客,member 普通玩家,operator 管理员。

    更详细的配置说明可以查看帮助文档。

    白名单配置

    服务端解压后会包含一个 whitelist.json 文件,这就是储存白名单的文件,格式如下:

    [
        {
            "name": "name1",
            "ignoresPlayerLimit": "true"
        },
        {
            "name": "name2"
        }
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    其中的 name 是玩家的 Xbox 用户名,ignoresPlayerLimit 是忽略服务器人数限制,ignoresPlayerLimit 是可省略的。

    只有 server.properties 配置文件中的 white-listtruewhitelist.json 中的白名单才会生效。

    如果在服务器正在运行的时候修改了白名单的话,需要在服务器命令行中输入:

    whitelist.jsonwhitelist reload
    
    • 1

    重新加载白名单才会生效。

    设置了白名单后就只有 whitelist.json 中的玩家才能进入服务器。

    推荐阅读

  • 相关阅读:
    “蔚来杯“2022牛客暑期多校训练营6 补题题解(A、B、G、J、M)
    Reggie外卖项目 —— 小程序开发之短信发送
    sql聚合函数
    kubelet如何避免节点频繁切换“资源不足”和“资源充足”状态?
    11.前端笔记-CSS盒子模型-外边距margin
    图的应用:关键路径 ← PPT
    网页开发中使用highlight.js实现代码高亮 + 行号
    基于SSM的健身房管理系统
    基于注意力机制的多特征融合人脸活体检测
    Docker实践经验:Docker 上部署 mysql8 主从复制
  • 原文地址:https://blog.csdn.net/u012513463/article/details/125607978