Linux系统 用MCSM和Docker+Wine 搭建 我的世界 LiteLoaderBDS 服务器

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

我的世界(MC) Forge 1.20.1 服务端搭建教程:https://blog.zeruns.tech/archives/723.html

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

LiteLoaderBDS

LiteLoaderBDS 是一个非官方的 Minecraft 服务端插件加载器,为基岩版专用服务器——Bedrock Dedicated Server(以下简称BDS)提供插件开发支持 和 插件加载服务,弥补了官方行为包开发接口长期以来存在的一些不足。

LiteLoader 提供了海量的API、强大的事件系统以及大量封装的开发基础设施接口,为拓展基岩版BDS 的更多玩法和功能提供了坚实的基础。通过插件,可以很容易地拓展BDS的功能,相关开发易于学习,且开发方式比较灵活。

项目支持使用 C++、JavaScript、Lua、C# 等各种语言编写插件。同时,插件不需要随着BDS 版本更新而不断修改代码,仅需本项目在底层适配更新即可,给插件开发与维护带来了很大的便利。

项目github地址:https://url.zeruns.tech/LiteLoaderBDS

LiteLoader是一个在windows平台上的加载器,但是想要在linux上运行,必须使用wine来转译运行,并不用担心性能问题,wine的性能还是很强的(最新版本wine8的性能和兼容性大幅度提升)。

LLBDS的使用文档:https://url.zeruns.tech/E4W94

MCSM9介绍

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

MCSManager 面板(简称:MCSM 面板)是一款开源,分布式,轻量级,快速部署,支持大部分游戏服务端和控制台程序的管理面板。

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

准备

首先你得有台服务器(已经有的可以忽略),本教程用的是特语云的E5-2667V2服务器:

官网地址:https://url.vpszj.cn/teyucloud

优惠注册地址:https://url.vpszj.cn/teyucloud_r

刚好有一个月特语云所以用这个做教程。此服务器的性能测评文章:https://blog.vpszj.cn/archives/1886.html

各家的NAT服务器都能用这教程,差不多的。

雨云 13900K 宿迁高防云服务器性能测评:https://blog.vpszj.cn/archives/1421.html

雨云 宿迁7950X高防云服务器 性能测评:https://blog.vpszj.cn/archives/1938.html

指点云 宿迁 13900K 高防VPS 性能评测:https://blog.vpszj.cn/archives/1689.html

我的世界基岩版插件服(LLBDS)对性能要求也是挺高的,建议4核8G起。

我已经买好服务器了,本教程用的是特语云的宿迁E5-2667V2服务器,操作系统选择Debian

默认账号一般是:root 密码在服务器控制台可以看到。

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

连接服务器

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

在SSH客户端中输入你的服务器的IP地址或域名,还有SSH端口,然后点击打开。

如果弹出下图的警告就点

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

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

设置端口转发

如果是独立公网IP的服务器不需要下面端口转发的操作,NAT服务器才需要。

云服务器管理这里的端口转发设置,添加策略,选择对等分配,协议选择UDP,名称自己取一个,然后记住分配到的端口。

然后还要添加两个MCSM面板用的端口,用不对等分配,服务器端口填23333和24444,如下图所示,记住这些端口。

然后回到SSH终端输入下面这些命令来关闭系统自带防火墙。

# 关闭防火墙,依次执行
systemctl stop firewalld
systemctl disable firewalld
service iptables stop

我下面命令提示是防火墙本就并没有开启,不过为了保证顺利开服照例执行一遍。

更新

apt update && apt upgrade -y

安装MCSM面板

脚本快速安装

执行下面两条命令,如果遇到问是否继续的就输入y来确定。

apt update && apt install wget && apt install git
wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup_cn.sh | bash
  • 脚本仅适用于 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/ 即可进入面板。这里地址里的23333换成你上面设置端口转发得到的外网端口,我的是转发到27253端口。

按照上面的设置,我的面板地址应该是:http://103.45.162.180:27253/ 你们按照自己实际情况改。

进去面板后按照提示设置账号和密码。

然后在节点管理这里将IP改成你服务器公网IP,端口改成你上面24444端口转发出来的公网端口,然后点击更新,如下图所示。

Linux 手动安装MCSM

  • 若一键安装不起作用,则可以尝试此步骤手动安装,安装成功就忽略这段。
# 切换到安装目录,没有此目录请执行 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

接着是配置 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
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target

运行命令 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
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target

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

# 重新载入变更
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 文件夹并且自动连接到守护进程。

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

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

下图里的 127.0.0.1 应该改成 你服务器公网IP或域名 。

然后在节点管理这里将IP改成你服务器公网IP,端口改成你上面24444端口转发出来的公网端口,然后点击更新,如下图所示。

安装Docker

安装脚本:

# 安装docker
curl -fsSL https://test.docker.com -o test-docker.sh
sh test-docker.sh

# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker

# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

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

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.nju.edu.cn"]
}

# 重启docker服务
systemctl restart docker.service

构建LLBDS运行环境的Docker镜像

  1. 拉取仓库源码
git clone https://gitee.com/zeruns/LiteLoaderBDS-docker.git
  1. 进入源码路径
cd LiteLoaderBDS-docker
  1. 开始构建镜像(可能需要花一些时间,请耐心等待)
bash build-image-ubuntu.sh

等待构建完毕↓

等待显示如下字样,恭喜你构建成功了↓

运行服务端

首先下载基岩版官方服务端(选windows版的):https://url.zeruns.tech/viDVJ

然后下载LLBDS(LiteLoaderBDS.zip文件):https://github.com/LiteLDev/LiteLoaderBDSv2/releases

基岩版1.20.14版服务端和LLBDS 2.15.0版 百度网盘下载地址: https://pan.baidu.com/s/1WHUxWs2PsX7ybF9PkcRSkQ?pwd=9527 提取码: 9527

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

自己输入一个名称,启动命令填 wine PeEditor.exe ,然后上传之前下载的官方基岩版服务端。

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

进程启动方式选择虚拟化容器,环境镜像选择dmbk/liteloaderbds:ubuntu,网络模式选择host,最大内存根据自己服务器内存大小设置(也可以留空),建议设置比自己服务器内存小一点,留点空间给系统,设置完点保存配置,然后点文件管理

上传之前下载的LiteLoaderBDS.zip,并解压,刷新后进入解压出来的目录,将里面的文件点击全选,然后点击复制,再点击上面的根目录回到根目录,点击粘贴。

点击回到控制台,并开启实例。出现如下图所示信息后点关闭实例,然后点击高级实例设置

将启动命令改成 bedrock_server_mod ,然后保存配置并回到控制台

点击服务端配置文件,然后点击浏览server.properties

然后将服务器端口这一项改成之前设置的对等分配的UDP端口,我这里是19034(具体看你自己申请的端口号),如果是独立公网IP的服务器就不用改了,用默认的19132就行。改好就保存配置并回到控制台。

继续点击开启实例,出现如下图所示信息就开好了。

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

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

我的世界开服交流TG群:https://t.me/Minecraft_zeruns

进入游戏

可以通过你服务器IP加你分配到的端口来进入服务器,比如我这个是 103.45.162.180:19034

推荐阅读

最后修改:2023 年 12 月 16 日
如果您觉得我的文章有帮助,请随意赞赏,赞赏有助于激发博主的热情,感谢!