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

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

视频教程:https://blog.zeruns.tech/archives/676.html

  • 其他版本我的世界服务器搭建教程: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://url.zeruns.tech/hwy2021
  • UCloud:https://www.ucloud.cn/site/active/kuaijie.html?invitation_code=C1x5E3EE29AA7B9
  • 天翼云:https://www.ctyun.cn/agent/#/invitation/10366809
  • 腾讯云每日秒杀:https://curl.qcloud.com/pvpzEIzN
  • 指点云5800X:https://www.awsl9527.cn/archives/967.html

其他性价比高的服务器推荐: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

安装面板

一行命令快速安装

wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup.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/ 即可进入面板。

  • 默认账号: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 webcd 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 daemoncd 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

[Install]
WantedBy=multiuser.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

[Install]
WantedBy=multiuser.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 或者 localhost

安装Docker

用apt包管理器来安装:

# 安装dockerapt install docker.io# 设置docker开机自启和启动dockersystemctl enable docker && systemctl start docker# 检查是否安装成功,若安装成功会显示 Docker version x.x.xdocker -v

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

# 安装dockercurl -sSL https://get.daocloud.io/docker | sh# 设置docker开机自启和启动dockersystemctl enable docker && systemctl start docker# 检查是否安装成功,若安装成功会显示 Docker version x.x.xdocker -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.mirrors.ustc.edu.cn"]
}# 重启docker服务systemctl restart docker.service

安装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"
    }
]

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

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

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

whitelist.jsonwhitelist reload

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

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

推荐阅读

  • 高性价比和便宜的VPS/云服务器推荐: https://blog.zeruns.tech/archives/383.html
  • 使用NPS自建内网穿透服务器教程,带WEB管理:https://blog.zeruns.tech/archives/660.html
  • 怎样搭建个人博客:https://blog.zeruns.tech/archives/218.html
  • 如何搭建一个表白墙网站(LoveWall):https://blog.zeruns.tech/archives/634.html
  • 各大厂商云服务器性能评测对比:https://blog.zeruns.tech/archives/670.html
  • 我的世界服务器搭建教程:https://blog.zeruns.tech/tag/mc/

原文地址:https://cloud.tencent.com/developer/article/2160260

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


最近一直在开发Apworks框架的案例代码,同时也在一起修复Apworks框架中的Bug和一些设计上的不足。遇到的一个普遍问题是,代码的调试过程需要依赖很多外部系统,比如MongoDB、PostgreSQL、RabbitMQ等。当然可以在本机逐一安装这些服务,然后对服务进行配置,使其满足自己开发调试
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。在文本发布和处理微服务中,我打算使用微软的SQL Server for Linux来做演示,于是也就在自己的docker-compose中加入了MS SQL Server的服务。其实在Docker中运行SQL Server是非常容
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,我快速介绍了Kubernetes中分布式存储Rook-Ceph的部署过程,这里介绍如何在部署于Kubernetes的ASP.NET Core MVC的应用程序中使用Rook-Ceph所创建的存储对象。 构建ASP.NET C
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也抽空多了解了一些。项目主要基于Rook-Ceph运行,考虑到Rook-Ceph部署也不那么简单,官方文档的步骤起点也不算低,因此,在整合官方文档的某些步骤的基础上,写篇文章简单总结一下。 Rook-Ceph是Kubernetes中分布
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose CentOS下Docker与.netcore(四)之 三剑客之一D
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose CentOS下Docker与.netcore(四)之 三剑客之一D
构建镜像最具挑战性的一点是使镜像大小尽可能的小。Dockerfile中的每条指令都为图像添加了一个图层,您需要记住在移动到下一层之前清理任何不需要的工件。对于多阶段构建,您可以在Dockerfile中使用多个FROM语句。每个FROM指令可以使用不同的基础,并且每个指令都开始一个新的构建。您可以选择
本文介绍compose配置文件参数的使用,熟练编写compose文件 [root@docker lnmp]# cat lnmp.yaml version: '3' services: nginx: build: /root/docker_demo/nginx/ ports: - &q
环境 docker-machine主机:192.168.1.9 docker主机:192.168.1.10 步骤: 安装docker-machine 创建ssh密钥对,实现两主机无密登录 创建docker主机,命名host1 变更docker环境变量 运行容器查看两端是否同步 镜像容器同步测试成功
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose CentOS下Docker与.netcore(四)之 三剑客之一D
https://blog.csdn.net/wanglei_storage/article/details/77508620 实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行。然而,面对 Kubernetes, Mesos 以及 Swarm 等众多容
1.引言 紧接上篇.NET Core容器化@Docker,这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理,然后再介绍多容器应用的部署问题。 2. Why Need Nginx .NET Core中默认的Web Server为Kestrel。 Kestrel is grea
docker rm `docker ps -a | grep Exited | awk '{print $1}'` 删除异常停止的docker容器 docker rmi -f `docker images | grep '<none>' | awk &#3
什么是Docker Compose 在微服务盛行的今天,我们通常是这么定义Compose的:对容器的统一启动和关闭的编排工具。 但是我以前还是有个疑惑,谁会用Compose在一台服务器上部署多个服务呢?干脆直接用单体服务就行了!直到我遇到了以下的一个需求,让我明白了在一台服务器上不得不用多个服务的时
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose CentOS下Docker与.netcore(四)之 三剑客之一D
很多时候,我们在本地开发过程中程序运行很正常,但是发布到线上之后由于环境的原因,可能会有一些异常。通常我们会通过日志来分析问题,除了日志还有一种常用的调试手段就是:附加进程。 VS中的附加进程非常强大,目前提供了9种常用的附加方式。 在当前.Net Core支持跨平台的大背景下,其中Linux环境和
https://www.cnblogs.com/bigberg/p/8867326.html 一、简介 Docker有个编排工具docker-compose,可以将组成某个应该的多个docker容器编排在一起,同时管理。同样在Swarm集群中,可以使用docker stack 将一组相关联的服务进行
.Net6中想实现对某个网址截屏,可通过Selenium模拟访问网址并实现截图。 实现 安装Nuget包 <PackageReference Include="Selenium.Chrome.WebDriver" Version="85.0.0" /&g
原文 https://www.cnblogs.com/gispathfinder/p/5871043.html 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: host模式,使用--net=host指定。 co