MCSM面板搭建教程和我的世界Paper服务器开服教程

news2024/11/24 8:55:36

雨云游戏云VPS服务器用Linux搭建MCSM面板和Minecraft Paper1.20.2服务器教程。

本教程演示安装的MC服是Paper 1.20.2版,其他版本也可以参考本教程,差别不大。

本教程使用Docker来运行mc服,可以方便切换不同Java版本,方便安装多个mc服版本。

雨云游戏云MCSM面板服使用教程&我的世界Forge服务端开服教程:https://blog.zeruns.tech/archives/736.html

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

MCSM9介绍

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

MCSManager 面板(简称:MCSM 面板)是一款全中文,轻量级,开箱即用,多实例和支持 Docker 的 Minecraft 服务端管理面板。

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

准备

首先你得有台服务器(已经有的可以忽略),本教程是基于雨云的服务器肯定推荐雨云:

雨云优惠注册地址:https://www.rainyun.com/zeruns_?s=csdn

优惠码:zeruns

使用优惠码注册后绑定微信可获得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

  • 其他版本我的世界服务器搭建教程:https://blog.zeruns.tech/tag/mc/
  • 各种Minecraft服务端介绍和下载:https://blog.zeruns.tech/archives/626.html
  • 我的世界(Minecraft)服务器添加MOD和插件的教程:https://blog.zeruns.tech/archives/696.html

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

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

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

Minecraft开服交流社区:https://bbs.csdn.net/forums/Minecraft

点击 应用实例→新建实例→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和端口之间用英文冒号分隔,如下图所示。

推荐阅读

  • 高性价比和便宜的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/1191567.html

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

相关文章

【GEE】9、在GEE中生成采样数据【随机采样】

1简介 在本模块中,我们将讨论以下概念: 如何使用高分辨率图像生成存在和不存在数据集。如何在要素类图层中生成随机分布的点以用作字段采样位置。如何根据参数过滤您的点以磨练您的采样位置。 华盛顿州白杨林旁的落基山麋鹿。 图片来源:美国…

2023.11.7: OpenAI DevDay总结

New Model:ChatGPT4.0 turbo 更长的context:支持长达128000个tokens的context 更好的控制方案: 更有利于API调用JSON Mode Function calling Reproducible outputs 通过一个seed使得模型的回答总是保持一致 Better Knowledge 支持知识检索…

阿里云服务器ECS经济型e实例和u1有什么区别?

阿里云服务器ECS经济型e实例和通用算力型u1实例有什么区别?如何选择?ECS经济型e实例是共享型云服务器,通用算力型u实例是企业级独享型云服务器,e实例性价比高,现在2核2G3M带宽一年99元,云服务器u1价格相对要…

阿里云通用算力型u1服务器和e实例有什么区别?选择攻略

阿里云服务器ECS经济型e实例和通用算力型u1实例有什么区别?如何选择?ECS经济型e实例是共享型云服务器,通用算力型u实例是企业级独享型云服务器,e实例性价比高,现在2核2G3M带宽一年99元,云服务器u1价格相对要…

数据结构:AVL树的旋转(高度平衡树)

1、AVL树简介 AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G. M. Adelson-Velsky和E. M. Landis,他们…

vue-cal 使用教程

目录 0. 介绍及效果展示 1.vue2环境安装 2.页面引入 3.使用 4.效果图 0. 介绍及效果展示 vue-cal 组件比较灵活,可以随意切换年、月、周、日、时间历图,放几张截图看下效果 1.vue2环境安装 vue3直接可以看本文最下方的API,有详解 npm …

Apache RocketMQ - 概述

2022年,RocketMQ 5.0的正式版发布,相比于4.0版本而言,架构走向云原生化,并且覆盖了更多的业务场景。 如何从互联网时代演进到云时代? 1. 消息队列演进史 操作系统、数据库、中间件是基础软件的三驾马车,…

Python基础教程之十七:Python OrderedDict –有序字典

一个OrderedDict 维护插入顺序添加到字典中的项目。项目的顺序在迭代或序列化时也会保留。 1. Python OrderedDict示例 OrderedDict 是python collections模块的一部分。 要轻松构建OrderedDict,可以OrderedDict在collections模块中使用。 OrderedDictExample.p…

建造者模式(Builder Pattern)

建造者模式(Builder Pattern) 1、类型2、定义3、UML图4、四个角色5、代码6、应用场景 1、类型 创建型 解释:设计模式的创建性类型是一种软件设计模式,它专注于对象的创建机制,帮助我们更加灵活地创建对象实例。创建性…

Python基础教程之十六:Python multidict示例–将单个键映射到字典中的多个值

1.什么是multidict词典> 在python中,“ multidict ”一词用于指代字典,在字典中可以将单个键映射到多个值。例如 多重结构 multidictWithList {key1 : [1, 2, 3],key2 : [4, 5]}multidictWithSet {key1 : {1, 2, 3},key2 : {4, 5}}1. list如果要…

“隐身术”成现实,中科院院士现场表演

(图源:哔哩哔哩) 在“bilibili超级科学晚”活动现场,中国科学院院士褚君浩为我们揭示了“隐身术”的原理。原来,这种神奇的技能是一种科学手段。 褚君浩院士为大家介绍了一种名为“柱镜光栅”的特殊材料,柱…

2.docker镜像的导入导出

目录 概述docker 常用命令下载导出导入镜像结束 概述 docker 常用命令 本章节使用到的命令,总结在此,后面有使用案例。 命令作用docker images显示镜像docker rmi $(docker images -q)删除系统上所有的镜像docker rmi -f强制删除多个镜像 &#xff1a…

MYSQL函数,一篇文章看完!

做程序员的谁会离得开数据库呢?今天就来分享一下我整理的MySQL的常用函数,基本上囊括了平时要用的函数,它们已经陪我走过了不少年头了,风里来雨里去,缝缝补补又几年,希望能帮到你们! 如果数据库…

图解电商系统的架构演进

具体以商城为例, 展示web端应用的架构演变过程。 特点: 1、所有的功能集成在一个项目工程中。 2、所有的功能打在一个war包部署到服务器。 3、通过部署应用集群和数据库集群来提高系统的性能。 优点 1、项目架构简单,前期开发成本低&#xf…

Python基础教程之十九:Python优先级队列示例

1.什么是优先队列 优先级队列是一种抽象数据类型,类似于常规队列或堆栈数据结构,但每个元素还具有与之关联的“优先级”。在优先级队列中,优先级高的元素先于优先级低的元素提供。如果两个元素具有相同的优先级,则将根据其在队列…

Python机器学习算法入门教程(第四部分)

接着Python机器学习算法入门教程(第三部分),继续展开描述。 十九、信息熵是什么 通过前两节的学习,我们对于决策树算法有了大体的认识,本节我们将从数学角度解析如何选择合适的“特征做为判别条件”,这里…

pdf.js不分页渲染(渲染完整内容)

直接上代码 首先引入pdf.js 和 pdf.worker.js // 渲染pdf const pdfUrl test1.pdf, _targetDom pdf-container;pdfjsLib.getDocument(pdfUrl).promise.then(async doc > {let _i 0;for (let item of new Array(doc.numPages).fill()) {await renderOtherPage(doc, _i, _t…

Julia绘图初步:Plots

文章目录 基础绘图绘图类型点线参数三维绘图 Julia开发环境 基础绘图 Julia中最常用的绘图模块自然是Plots,点击]进入安装模式后,输入add Plots即可安装,装完之后按下退格键回到Julia环境,就可以调用了 using Plots x 0:0.1:1…

立体相机标定

相机成像过程中涉及的4个坐标系: 1、世界坐标系:由用户定义的三维世界坐标系,描述物体和相机在真实世界中的位置,原点可以任意选择。 2、相机坐标系:以相机的光心为坐标原点,X轴和Y轴平行于图像坐标系的X轴…

(动手学习深度学习)第7章 稠密连接网络---DenseNet

目录 DenseNetDenseNet的优点:DenseNet的改进思路总结 DenseNet代码实现 DenseNet DenseNet的优点: 省参数。在 ImageNet 分类数据集上达到同样的准确率,DenseNet 所需的参数量不到 ResNet 的一半。对于工业界而言,小模型可以显著…