Linux系统MCSM10面板搭建

Linux系统MCSM10面板搭建

MCSM10介绍

MCSManager是一款开源,分布式,一键部署,支持 MinecraftSteam 游戏服务器 的控制面板。

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

MCSM面板的官方文档:https://link.kikock.cloudns.ch/RIWS

下面教程是参照官方文档编写的。

准备

首先需要一台云服务器/VPS来搭建MCSM面板。

准备好服务器后使用SSH客户端连接上服务器,ssh客户端软件推荐putty或mobaxterm。

一键安装脚本

安装面板

在SSH终端里输入下面这串命令并回车运行。一键安装脚本必须使用 root 权限运行。

1
sudo su -c "wget -qO- https://script.mcsmanager.com/setup_cn.sh | bash"

安装完成后会出现下图所示信息。

启动方式

一般安装脚本运行完后会自动启动面板并启用开机自启,下面的命令无需执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 先启动面板守护进程。
# 这是用于进程控制,终端管理的服务进程。
systemctl start mcsm-daemon.service
# 再启动面板 Web 服务。
# 这是用来实现支持网页访问和用户管理的服务。
systemctl start mcsm-web.service

# 重启面板命令
systemctl restart mcsm-daemon.service
systemctl restart mcsm-web.service

# 停止面板命令
systemctl stop mcsm-web.service
systemctl stop mcsm-daemon.service

# 面板启用开机自启的命令
systemctl enable mcsm-web.service
systemctl enable mcsm-daemon.service

# 面板禁用开机自启的命令
systemctl disable mcsm-web.service
systemctl disable mcsm-daemon.service

接着就可以到下面进入面板的步奏了。

手动安装

按照顺序输入下面的命令并执行,#号后面的是注释说明,不用输入。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 切换到安装目录,你也可以换成其他的目录。
cd /opt/

# 下载 NodeJS 运行时环境,如果你已经安装了 NodeJS,请忽略此步骤。
wget https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz
# 解压
tar -xvf node-v20.11.0-linux-x64.tar.xz

# 添加 NodeJS 到系统环境变量
ln -sf /opt/node-v20.11.0-linux-x64/bin/node /usr/bin/node
ln -sf /opt/node-v20.11.0-linux-x64/bin/npm /usr/bin/npm

# 测试是否安装成功,如果显示出版本号就是安装成功
node -v && npm -v

# 创建MCSM安装目录并进入安装目录
mkdir /opt/mcsmanager/ && cd /opt/mcsmanager/

# 下载 MCSManager(如果无法下载可以先科学上网下载再上传到服务器)
wget https://github.com/MCSManager/MCSManager/releases/latest/download/mcsmanager_linux_release.tar.gz
# 如果上面的链接下载不了可以用下面这条代理加速链接,如果上面的可以就不用执行下面这条
wget https://mirror.ghproxy.com/https://github.com/MCSManager/MCSManager/releases/latest/download/mcsmanager_linux_release.tar.gz

# 解压到安装目录
tar -zxf mcsmanager_linux_release.tar.gz

接着需要将 MCSManager 配置为系统服务。

运行命令 apt install nano && nano /etc/systemd/system/mcsm-daemon.service 来编辑守护进程的系统服务文件,然后在编辑器里输入下面代码框的内容,输入完成后按 Ctrl+O 来保存,接着按 Ctrl+X 来退出编辑器。

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=MCSManager 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

运行命令 nano /etc/systemd/system/mcsm-web.service 来编辑面板的系统服务文件,然后在编辑器里输入下面代码框的内容,输入完成后按 Ctrl+O 来保存,接着按 Ctrl+X 来退出编辑器。

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=MCSManager 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

下面是系统服务的一些操作命令,接着只需要运行其中的启用和启动就行。

重启:systemctl restart mcsm-{daemon,web}.service

启动:systemctl start mcsm-{daemon,web}.service

停止:systemctl stop mcsm-{daemon,web}.service

禁用:systemctl disable mcsm-{daemon,web}.service

启用:systemctl enable mcsm-{daemon,web}.service

接着就可以到下面进入面板的步奏了。

使用Docker部署

Docker和Compose 安装略

群晖部署MCSM面板

  1. 群晖版本号 DSM 7.2.1-69057

  1. 打开docker工具

  1. 创建文件以下文件并上传

.env 参数配置

1
2
3
4
5
## 安装位置
INSTALL_PATH=/volume1/docker/mc-server
## 时区
TZ=Asia/Shanghai

docker-compose.yml 内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

version: '3'
services:
mcsm-web:
container_name: mcsm-web
build:
context: .
dockerfile: dockerfile-web
args:
INSTALL_PATH: ${INSTALL_PATH-/opt/docker-mcsm}
TZ: ${TZ-Asia/Shanghai}
network_mode: "host"
restart: always
environment:
- PUID=0
- PGID=0
- UMASK=022
volumes:
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/web/data:${INSTALL_PATH-/opt/docker-mcsm}/releases/web/data
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/web/logs:${INSTALL_PATH-/opt/docker-mcsm}/releases/web/logs
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/data/Config:${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/data/Config:ro
mcsm-daemon:
container_name: mcsm-daemon
build:
context: .
dockerfile: dockerfile-daemon
args:
INSTALL_PATH: ${INSTALL_PATH-/opt/docker-mcsm}
TZ: ${TZ-Asia/Shanghai}
network_mode: "host"
restart: always
environment:
- PUID=0
- PGID=0
- UMASK=022
volumes:
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/data:${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/data
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/logs:${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/logs
- /var/run/docker.sock:/var/run/docker.sock:ro

dockerfile 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 面板后端服务

FROM node:14-slim
ARG INSTALL_PATH=/opt/docker-mcsm
ARG TZ=Asia/Shanghai
ENV TZ=${TZ}
RUN sed -i -E 's/http:\/\/deb.debian.org/http:\/\/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt update && apt install -y git
RUN git clone --single-branch -b master --depth 1 https://gitee.com/MCSManager/MCSManager-Daemon-Production $INSTALL_PATH/releases/daemon
RUN cd $INSTALL_PATH/releases/daemon && npm i --production --registry=https://registry.npmmirror.com
WORKDIR $INSTALL_PATH/releases/daemon
CMD node app.js


1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 面板前端服务

FROM node:14-slim
ARG INSTALL_PATH=/opt/docker-mcsm
ARG TZ=Asia/Shanghai
ENV TZ=${TZ}
RUN sed -i -E 's/http:\/\/deb.debian.org/http:\/\/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt update && apt install -y git
RUN git clone --single-branch -b master --depth 1 https://gitee.com/MCSManager/MCSManager-Web-Production $INSTALL_PATH/releases/web
RUN cd $INSTALL_PATH/releases/web && npm i --production --registry=https://registry.npmmirror.com
WORKDIR $INSTALL_PATH/releases/web
CMD node app.js


  1. 创建部署容器(群晖版)

点击创建容器设置路径选择上传的文件夹

选择使用现有的 docker-compose.yml来创建项目

  1. 然后等待 5-10分钟 容器部署完成

liunx部署MCSM面板

1.创建文件以下文件并上传

.env 参数配置

1
2
3
4
5
## 安装位置
INSTALL_PATH=/home/docker/mc-server
## 时区
TZ=Asia/Shanghai

docker-compose.yml 内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

version: '3'
services:
mcsm-web:
container_name: mcsm-web
build:
context: .
dockerfile: dockerfile-web
args:
INSTALL_PATH: ${INSTALL_PATH-/opt/docker-mcsm}
TZ: ${TZ-Asia/Shanghai}
ports:
- "23333:23333"
restart: always
environment:
- PUID=0
- PGID=0
- UMASK=022
volumes:
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/web/data:${INSTALL_PATH-/opt/docker-mcsm}/releases/web/data
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/web/logs:${INSTALL_PATH-/opt/docker-mcsm}/releases/web/logs
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/data/Config:${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/data/Config:ro
mcsm-daemon:
container_name: mcsm-daemon
build:
context: .
dockerfile: dockerfile-daemon
args:
INSTALL_PATH: ${INSTALL_PATH-/opt/docker-mcsm}
TZ: ${TZ-Asia/Shanghai}
ports:
- "25565:25565"
restart: always
environment:
- PUID=0
- PGID=0
- UMASK=022
volumes:
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/data:${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/data
- ${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/logs:${INSTALL_PATH-/opt/docker-mcsm}/releases/daemon/logs
- /var/run/docker.sock:/var/run/docker.sock:ro

dockerfile 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 面板后端服务

FROM node:14-slim
ARG INSTALL_PATH=/opt/docker-mcsm
ARG TZ=Asia/Shanghai
ENV TZ=${TZ}
RUN sed -i -E 's/http:\/\/deb.debian.org/http:\/\/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt update && apt install -y git
RUN git clone --single-branch -b master --depth 1 https://gitee.com/MCSManager/MCSManager-Daemon-Production $INSTALL_PATH/releases/daemon
RUN cd $INSTALL_PATH/releases/daemon && npm i --production --registry=https://registry.npmmirror.com
WORKDIR $INSTALL_PATH/releases/daemon
CMD node app.js


1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 面板前端服务

FROM node:14-slim
ARG INSTALL_PATH=/opt/docker-mcsm
ARG TZ=Asia/Shanghai
ENV TZ=${TZ}
RUN sed -i -E 's/http:\/\/deb.debian.org/http:\/\/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt update && apt install -y git
RUN git clone --single-branch -b master --depth 1 https://gitee.com/MCSManager/MCSManager-Web-Production $INSTALL_PATH/releases/web
RUN cd $INSTALL_PATH/releases/web && npm i --production --registry=https://registry.npmmirror.com
WORKDIR $INSTALL_PATH/releases/web
CMD node app.js


  1. 容器部署
    ssh登录服务器,进入文件夹直接执行docker-compose up -d 等待容器自动部署完成即可

进入面板

在浏览器地址栏输入你服务器IP+23333端口就可以进入面板了,例如 http://ip地址:23333 ,接着按照引导创建管理员账号。