雨云游戏云VPS服务器用Linux搭建MCSM面板和Minecraft Paper1.20.2服务器教程。
本教程演示安装的MC服是Paper 1.20.2版,其他版本也可以参考本教程,差别不大。
本教程使用Docker来运行mc服,可以方便切换不同Java版本,方便安装多个mc服版本。
雨云游戏云MCSM面板服使用教程&我的世界Forge服务端开服教程:https://forum.rainyun.com/t/topic/5727/
MCSM9介绍
分布式,稳定可靠,开箱即用,高扩展性,支持 Minecraft 和其他少数游戏的控制面板。
MCSManager 面板(简称:MCSM 面板)是一款全中文,轻量级,开箱即用,多实例和支持 Docker 的 Minecraft 服务端管理面板。
此软件在 Minecraft 和其他游戏社区内中已有一定的流行程度,它可以帮助你集中管理多个物理服务器,动态在任何主机上创建游戏服务端,并且提供安全可靠的多用户权限系统,可以很轻松的帮助你管理多个服务器。
准备
首先你得有台服务器(已经有的可以忽略),本教程是基于雨云的服务器肯定推荐雨云:
雨云优惠注册地址:https://www.rainyun.com/ryy_?s=rainbbs
优惠码:ryy
使用优惠码注册后绑定微信可获得5折优惠券,消费后还可获得价值5元的积分返现
注册完账号后进到雨云控制台,游戏云入口可以在后台的 总览 和 云产品 部分找到:
点击购买游戏云,选择VPS服务器
接着选择机型和配置,VPS服务器目前有13900KF、Ryzen 7950X、5900X、Gold 6146和E5 2666V3这5种配置,开1.20.2之类的高版本服建议选5900X、7950X和13900KF,我这里用7950X演示,配置建议4核8G及以上,系统选择Debian11,选好后就可以点右下角的购买了,年付有7折优惠。可以1元试用1天。
计费模式如果是经常玩的建议选固定计费,不常玩的选动态计费即可。公网IP选择NAT就行,可以开通15个端口,够MC服用了。
购买后即可在我的游戏云这里看到你买的面板服,点击管理
接着就可以看到面板的信息了,在这里重装/切换系统,可以升级配置。
连接服务器
下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。
在SSH客户端中输入你的服务器的IP地址或域名(雨云控制台获取),还有SSH端口,然后点击好的或者打开。
然后输入账号并按回车,账号一般默认为root,接着输入密码并按回车确定,输入密码时不会显示出来。
温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。
设置端口映射
点击NAT端口映射
新建规则,设置需要映射出去的内网端口,然后点创建映射规则,外网端口不用改,它会随机生成,如果创建提示外网端口被使用你就手动随便输入一个。
MCSM需要用到的端口有:23333和24444
我的世界服务器需要用到的端口是:25565
需要把上面这些端口映射出去。记住映射后的公网端口,下面会用到。
然后回到SSH终端输入下面这些命令来关闭系统自带防火墙(也可以不关闭防火墙,只需你自己配置开放所需要的端口即可,这样更安全,不过这里不细讲了)。
# 关闭防火墙,依次执行
systemctl stop firewalld
systemctl disable firewalld
service iptables stop
我下面命令提示是防火墙本就并没有开启,不过为了保证顺利开服照例执行一遍。
安装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/ 即可进入面板。
因为我这服务器没独立公网IP,所以上面地址中的23333端口需替换成你映射出来公网端口,我上面23333端口映射到的公网端口是15128,每个人的不同,不要照抄我的。
所以最终面板访问地址是:http://m.rainplay.cn:15128 你的不一定是这个,根据实际。
进去面板后按照提示设置自己的账号和密码。
接着到节点管理那设置节点,把下图所示节点地址设置成你服务器IP或域名,端口设置成你24444端口映射出来的公网端口,我这里是15228,localhost改成服务器公网IP或域名,然后点击右边的更新按钮。
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或域名 ,端口也改成你24444端口映射出去的公网端口。
安装Docker
回到ssh终端,输入下面的指令。
用apt包管理器来安装:
# 安装docker,如果遇到问是否继续的就输入y来确定
apt install docker.io
# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker
# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v
若没安装成功就试试下面的安装脚本:
# 安装docker
curl -sSL https://get.daocloud.io/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
安装JDK镜像
进入面板,在节点管理这找到镜像管理点击进去
点击 新建镜像,接着点击 创建 OpenJDK 17 环境镜像(1.12.2及以下版本选JDK8;1.16及以上选JDK17)。
点击确定,然后等待构建完成
运行MC服务端
首先要去下载一个服务端核心(.jar 格式),我这里以paper1.20.2为例。
Paper官网:https://papermc.io/downloads/paper
paper-1.20.2-263 雨云ROS下载地址:https://cn-sy1.rains3.com/rainyun-assets/Pic/2023/11/paper-1.20.2-263_9c9c9461be4441f107824c243402c161.jar
点击 应用实例→新建实例→Java版Minecraft服务端→上传单个服务端软件
自己输入一个想设置的名称,启动命令输入 java -Xms128M -XX:MaxRAMPercentage=95.0 -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -jar ${ProgramName}
,然后点下面的上传服务端软件选择上面下载的jar文件。
解析一下上面的启动命令:
-jar
表示运行jar程序,后面填要运行的jar文件名;${ProgramName}
代表你接下来上传的文件名,只在这个页面可用,上传完文件后会自动把${ProgramName}
替换成你上传的文件的文件名;-Dfile.encoding=UTF-8
指定文件编码为UTF-8,可以避免中文乱码的问题;-Duser.language=zh -Duser.country=CN
指定语言和地区为中文和中国,部分插件或服务端会自动切换到中文;-XX:MaxRAMPercentage=95.0
指定了JVM可以使用系统可用内存的百分比,95.0就是限制可以用95%的内存;-Xms128M
是一个Java虚拟机(JVM)的启动参数,用于设置JVM的初始堆内存大小。
等待上传完成后点击 前往编辑实例具体参数
然后 进程启动方式选择虚拟化容器,环境镜像选择 mcsm-openjdk:17
,网络模式选host,选好后点击右下角的保存,你也可以填写右下角的最大内存来限制docker容器最大占用的内存,保存后点控制台。
接着到实例控制台点开启实例即可,出现下图所示信息就需要同意一下eula协议
点击控制台左边的服务端配置文件,eula.txt那一项点击浏览,将eula改为是,然后保存。
接着回到控制台,再次点击开启实例,出现Done或完成则表示服务器开启成功。
点 服务端配置文件→[通用] server.properties ,然后就可以修改服务器的设置,非正版用户记得将 在线正版验证 设为否,设置完成后要点保存。如果要修改端口,在这修改完配置文件后还得去雨云控制台设置端口映射。
修改完要重启实例。
进入游戏
在游戏里点击多人游戏→添加服务器,输入你服务器的公网IP或域名,加上端口号,端口号是你上面设置的25565映射出来的公网端口,IP和端口之间用英文冒号分隔,如下图所示。
推荐阅读
- 雨云OSS服务介绍和使用教程,Chevereto图床使用雨云OSS的教程:https://forum.rainyun.com/t/topic/5573/
- PicGo+雨云ROS搭建自己的图床,可配合Typora使用:https://forum.rainyun.com/t/topic/5659/
- 雨云游戏云MCSM面板服使用&我的世界Forge服务端开服教程:https://forum.rainyun.com/t/topic/5727
- 雨云虚拟主机使用教程&WordPress博客网站搭建教程:https://forum.rainyun.com/t/topic/5769
- 雨云游戏云面板服使用教程&我的世界Forge服务端开服教程(翼龙面板):https://forum.rainyun.com/t/topic/5671