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镜像
- 拉取仓库源码
git clone https://gitee.com/zeruns/LiteLoaderBDS-docker.git
- 进入源码路径
cd LiteLoaderBDS-docker
- 开始构建镜像(可能需要花一些时间,请耐心等待)
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
推荐阅读
- 高性价比和便宜的VPS/云服务器推荐: https://blog.vpszj.cn/archives/41.html
- 使用NPS自建内网穿透服务器教程,带WEB管理:https://blog.zeruns.tech/archives/660.html
- 建站教程文章:https://blog.zeruns.tech/category/web/
- 各大厂商云服务器性能评测对比:https://blog.zeruns.tech/archives/670.html
- 我的世界服务器搭建教程:https://blog.zeruns.tech/tag/mc/
- 雨云CDN速度评测,免费免备案高防CDN:https://blog.zeruns.tech/archives/694.html
5 条评论
wine: configuration in L"/root/.wine" has been updated.
无法启动程序,或者没有为指定文件关联应用程序。
ShellExecuteEx 失败: 找不到文件。
请问这个是什么情况
wine: configuration in L"/root/.wine" has been updated.
无法启动程序,或者没有为指定文件关联应用程序。
ShellExecuteEx 失败: 找不到文件。
请问这个是什么情况
你好,最后启动时出现这个报错是咋回事
[MCSMANAGER] [Error] (HTTP code 400) unexpected - failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "bedrock_server_mod": executable file not found in $PATH: unknown
感谢分享
艾玛我的世界