特语云用Linux和MCSM面板搭建 我的世界基岩版插件服 教程

news2024/11/22 23:42:42

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://ghproxy.com/https://github.com/dmblock/LiteLoaderBDS-docker
  1. 进入源码路径
cd LiteLoaderBDS-docker
  1. 开始构建镜像(可能需要花一些时间,请耐心等待)
bash build-image-ubuntu.sh

等待构建完毕↓

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

运行服务端

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

然后下载LLBDS(LiteLoaderBDS.zip文件):https://url.zeruns.tech/80t9G

基岩版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

进入游戏

可以通过你服务器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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/868950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java多线程(十)

目录 一、synchronized基本特点 二、synchronized加锁工作过程 2.1 无锁 2.2 偏向锁 2.3 轻量级锁 2.4 重量级锁 三、synchronized其他优化操作 3.1 锁消除 3.2 锁粗化 一、synchronized基本特点 开始是乐观锁,如果锁冲突频繁就会转换成悲观锁开始是轻量级锁&#x…

python小白之matplotlib使用实战项目:随机漫步

文章目录 随机漫步1.1 创建RandomWalk类1.2 选择方向1.3 绘制随机漫步图1.4 模拟多次随机漫步1.5 设置随机漫步图样式1.5.1 给点着色1.5.2 重新绘制起点和终点1.5.3 隐藏坐标轴1.5.4 增加点数1.5.5 调整图片尺寸以适应屏幕 附录(项目代码)random_walk.py…

Linux 外部命令 - cat

Linux 外部命令 cat 英文帮助 NAME cat - concatenate files and print on the standard output SYNOPSIS cat [OPTION]... [FILE]... DESCRIPTION Concatenate FILE(s) to standard output. With no FILE, or when FILE is -, read standard input.…

ChatAI的几十种高级用法,可能是比较全的了(文末送书)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

【Kafka】1.Kafka简介及安装

目 录 1. Kafka的简介1.1 使用场景1.2 基本概念 2. Kafka的安装2.1 下载Kafka的压缩包2.2 解压Kafka的压缩包2.3 启动Kafka服务 1. Kafka的简介 Kafka 是一个分布式、支持分区(partition)、多副本(replica)、基于 zookeeper 协调…

消息中间件 —— 初识Kafka

文章目录 1、Kafka简介1.1、消息队列1.1.1、为什么要有消息队列?1.1.2、消息队列1.1.3、消息队列的分类1.1.4、p2p 和 发布订阅MQ的比较1.1.5、消息系统的使用场景1.1.6、常见的消息系统 1.2、Kafka简介1.2.1、简介1.2.2、设计目标1.2.3、kafka核心的概念 2、Kafka的…

Java pb3中 int类型的字段值0怎么判断是未设置值还是设置了值0

Java pb3中 int类型的字段值0怎么判断是未设置值还是设置了值0 1. 效果图2. 源码参考 Java pb3对 各种类型的默认值进行序列化时省略了。如int类型的字段为0或者null都会省略,但反序列化都可以序列化为0. proto3, required 和 optional 已在新语法中删除…

闲鱼卖货:新手容易踩坑的7个地方。赶紧看看有没有中招?

科思创业汇 大家好,这里是科思创业汇,一个轻资产创业孵化平台。赚钱的方式有很多种,我希望在科思创业汇能够给你带来最快乐的那一种! 这是我以前的一个学生收到的第一个非法通知。他告诉我,他当时很害怕,…

在 SHELL 脚本中调用另一个 SHELL 脚本(报错: go: not found)

文章目录 在 SHELL 脚本中调用另一个 SHELL 脚本(报错: go: not found)在 SHELL 脚本中调用另一个 SHELL 脚本一个脚本sudo调另外一个脚本,报错(报错: go: not found) 在 SHELL 脚本中调用另一个…

LNMP简易搭建

目录 前言 一、拓扑图 二、NGINX配置 三、配置MySQL 四、配置php环境 五、部署应用 总结 前言 LNMP平台指的是将Linux、Nginx、MySQL和PHP(或者其他的编程语言,如Python、Perl等)集成在一起的一种Web服务器环境。它是一种常用的开发和部署网…

Linux使用gdb调试多文件的C程序

【例】通过vi创建两个.c文件main.c和add.c: 一步编译main.c和add.c文件,并加入调试信息: 1. 在被调函数中加断点时,在执行主函数时,会自动进入被调函数 (1)进入gdb,跟踪main程序&am…

python——案例17:判断某年是否是闰年

案例17:判断某年是否是闰年 判断依据:闰年就是能被400整除,或者能被4整除的年份numint(input(输入年份:))if num%1000: if num%4000: #整百年份的判断print("%s年是闰年"%num) #…

智能优化算法:登山队优化算法-附代码

智能优化算法:登山队优化算法 文章目录 智能优化算法:登山队优化算法1.登山队优化算法1.1 初始化1.2 协作登山1.3灾害威胁1.4协调防御1.5队员更新 2.实验结果3.参考文献4.Matlab5.python 摘要:MTBO 算法是 Faridmehr 等人于 2023 年受登山队员…

【智力悬疑题】——【“找凶手”解法】

“找凶手”题目解法 “案件题目”💻 某地发生了一起凶杀案,警察通过排查确定杀人凶手必为4个嫌疑犯中的一个。以下为4个嫌疑犯的供词: A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说。 已知3个…

vue3+vite在main.ts文件中引入./App.vue报错(./App.vue不是模块)

问题 如下图: 方法一 下载TypeScript Vue Plugin (Volar)插件就不报红了,看它的描述应该就是ts文件可以识别vue文件。 方法二 在src文件夹下添加env.d.ts文件,添加以下代码: declare module *.vue {import type { DefineC…

Android系统-进程-Binder2-Java层

引言: 对于Android系统,一般是从java层到native层,再到kernel驱动层,形成一个完整的软件架构。Android系统中的Binder IPC通信机制的整体架构,从java层到底层驱动层是怎么样的一个架构和原理的呢? 概念与…

详解单链表

💕十载寒窗无人问,一举成名天下知💕 作者:Mylvzi 文章主要内容:程序环境和预处理 引言: 我们之前已经学习过顺序表,顺序表是一种线性的存储结构,它在内存中是连续存放的&#xff1…

《Java-SE-第三十五章》之方法引用

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页:KC老衲爱尼姑的博客主页 博主的github,平常所写代码皆在于此 共勉:talk is cheap, show me the code 作者是爪哇岛的新手,水平很有限&…

微服务实战项目-学成在线-项目部署

微服务实战项目-学成在线-项目部署 1 什么是DevOps 一个软件的生命周期包括:需求分析阶、设计、开发、测试、上线、维护、升级、废弃。 通过示例说明如下: 1、产品人员进行需求分析 2、设计人员进行软件架构设计和模块设计。 3、每个模块的开发人员…

Vue3实现图片懒加载及自定义懒加载指令

Vue3实现图片懒加载及自定义懒加载指令 前言1.使用vue-lazyload/vue3-lazyload插件2.自定义v-lazy懒加载指令2.1 使用VueUse工具集2.2 使用IntersectionObserver 前言 图片懒加载是一种常见性能优化的方式,它只去加载可视区域图片,而不是在网页加载完毕…