MCSManager/README.md

258 lines
8.1 KiB
Markdown
Raw Normal View History

2022-08-05 16:12:50 +08:00
<img src="https://public-link.oss-cn-shenzhen.aliyuncs.com/mcsm_picture/logo.png" alt="MCSManagerLogo.png" width="510px" />
2022-02-02 19:29:59 +08:00
<br />
2018-05-30 15:54:56 +08:00
2022-02-02 13:35:59 +08:00
[![Status](https://img.shields.io/badge/npm-v6.14.15-blue.svg)](https://www.npmjs.com/)
[![Status](https://img.shields.io/badge/node-v14.17.6-blue.svg)](https://nodejs.org/en/download/)
2022-02-07 13:42:41 +08:00
[![Status](https://img.shields.io/badge/License-AGPL-red.svg)](https://github.com/Suwings/MCSManager)
2018-05-30 15:54:56 +08:00
2022-02-02 19:40:53 +08:00
[官方网站](http://mcsmanager.com/) | [使用文档](https://docs.mcsmanager.com/) | [团队主页](https://github.com/MCSManager) | [面板端项目](https://github.com/MCSManager/MCSManager) | [网页前端项目](https://github.com/MCSManager/UI) | [守护进程项目](https://github.com/MCSManager/Daemon)
2020-01-07 15:46:20 +08:00
<br />
2018-12-02 11:11:30 +08:00
2022-02-02 14:07:24 +08:00
## 软件简介
2022-02-02 13:35:59 +08:00
2022-02-02 14:07:24 +08:00
**分布式,稳定可靠,开箱即用,高扩展性,支持 Minecraft 和其他少数游戏的控制面板。**
2017-11-12 09:54:53 +08:00
2022-02-02 14:07:24 +08:00
MCSManager 面板简称MCSM 面板)是一款全中文,轻量级,开箱即用,多实例和支持 Docker 的 Minecraft 服务端管理面板。
此软件在 Minecraft 和其他游戏社区内中已有一定的流行程度,它可以帮助你集中管理多个物理服务器,动态在任何主机上创建游戏服务端,并且提供安全可靠的多用户权限系统,可以很轻松的帮助你管理多个服务器。
2017-11-30 22:55:08 +08:00
2022-02-02 19:29:59 +08:00
![截图.png](https://public-link.oss-cn-shenzhen.aliyuncs.com/mcsm_picture/MCSM9.png)
2020-03-01 17:19:08 +08:00
2018-04-12 10:08:04 +08:00
<br />
2017-11-12 09:53:27 +08:00
2022-02-02 13:35:59 +08:00
## 运行环境
2022-02-02 14:07:24 +08:00
控制面板可运行在 Windows 与 Linux 平台,无需数据库与任何系统配置,只需安装 node 环境即可快速运行,属于轻量级的 Minecraft 服务端控制面板。
2022-02-02 13:35:59 +08:00
必须 `Node 14.17.0` 以上,无需数据库和更改任何系统配置,开箱即可运行。
2019-10-25 21:30:06 +08:00
<br />
2022-02-02 14:07:24 +08:00
## 配置/数据文件
2019-10-25 21:30:06 +08:00
2022-02-02 14:07:24 +08:00
配置文件: `data/SystemConfig/config.json`
2019-10-25 21:30:06 +08:00
2022-02-02 14:07:24 +08:00
用户数据文件:`data/User/*.json`
2017-11-18 15:53:36 +08:00
2022-02-02 14:07:24 +08:00
远程守护进程配置:`data/RemoteServiceConfig/*.json`
2020-03-12 13:38:29 +08:00
2022-02-02 14:07:24 +08:00
面板默认访问账号:`root` `123456`
2020-03-12 13:38:29 +08:00
2022-02-02 14:07:24 +08:00
<br />
2020-03-12 13:38:29 +08:00
2022-02-02 14:07:24 +08:00
## 软件使用文档
2021-11-10 17:22:13 +08:00
2022-02-02 14:07:24 +08:00
地址:[https://docs.mcsmanager.com/](https://docs.mcsmanager.com/)
2021-11-10 17:22:13 +08:00
2022-02-13 17:47:56 +08:00
> 文档正在不断完善,里面的内容还有瑕疵,暂且仅供参考。
> 旧版 `8.X` 文档与 API 备份在[此处](https://github.com/MCSManager/Backup-v8.7/wiki/API-Documentation)。
2021-11-10 17:22:13 +08:00
<br />
2022-02-02 13:35:59 +08:00
## 在 Windows 运行
2020-03-12 13:38:29 +08:00
2022-02-02 14:07:24 +08:00
对于 Windows 系统,**已整合成直接运行版本,下载即可运行**(使用管理员权限运行):
2017-12-11 17:19:01 +08:00
2022-02-02 19:29:59 +08:00
前往:[https://mcsmanager.com/](https://mcsmanager.com/)
2018-01-20 15:24:11 +08:00
2018-04-12 10:08:04 +08:00
<br />
2017-12-11 17:19:01 +08:00
2022-02-02 13:35:59 +08:00
## 在 Linux 运行
2018-04-22 09:47:58 +08:00
2022-02-06 15:51:55 +08:00
**一行命令快速安装**
2019-01-15 14:33:47 +08:00
2017-11-18 15:53:36 +08:00
```bash
2022-02-16 18:33:20 +08:00
wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup.sh | bash
2020-10-09 13:12:03 +08:00
```
2022-02-02 14:07:24 +08:00
- 脚本仅适用于 AMD64 架构 Ubuntu/Centos/Debian/Archlinux
- 执行完成后,使用 `systemctl start mcsm-{web,daemon}` 即可启动面板服务。
- 面板代码与运行环境自动安装在 `/opt/mcsmanager/` 目录下。
2020-10-09 13:12:03 +08:00
<br />
2022-02-02 14:07:24 +08:00
**Linux 手动安装**
2020-10-09 13:12:03 +08:00
2020-10-11 12:57:14 +08:00
- 若一键安装不起作用,则可以尝试此步骤手动安装。
2020-10-09 13:12:03 +08:00
```bash
# 切换到安装目录,没有此目录请执行 mkdir /opt/
cd /opt/
2022-02-02 14:07:24 +08:00
# 下载运行环境(已有 Node 14+ 可忽略)
wget https://npmmirror.com/mirrors/node/v14.17.6/node-v14.17.6-linux-x64.tar.gz
2020-10-09 13:12:03 +08:00
# 解压文件
2022-02-02 14:07:24 +08:00
tar -zxvf node-v14.17.6-linux-x64.tar.gz
2020-10-09 13:12:03 +08:00
# 链接程序到环境变量中
2022-02-02 14:07:24 +08:00
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
2020-07-21 10:04:00 +08:00
# 安装依赖库
2022-07-18 14:34:40 +08:00
npm install --production --registry=https://registry.npmmirror.com/
2022-05-28 10:02:04 +08:00
cd /opt/mcsmanager/
2022-07-18 14:34:40 +08:00
2022-02-02 14:07:24 +08:00
# 下载守护进程Daemon程序
git clone https://github.com/MCSManager/MCSManager-Daemon-Production.git
# 重命名文件夹并进入
mv MCSManager-Daemon-Production daemon
cd daemon
# 安装依赖库
2022-07-18 14:34:40 +08:00
npm install --production --registry=https://registry.npmmirror.com/
2021-10-23 12:25:41 +08:00
2022-02-02 14:07:24 +08:00
# 打开两个终端或两个 Screen 软件的终端窗口
# 先启动守护进程
cd /opt/mcsmanager/daemon
# 启动
node app.js
2021-10-23 12:25:41 +08:00
2022-02-02 14:07:24 +08:00
# 然后启动面板端进程
cd /opt/mcsmanager/web
# 启动
node app.js
2021-10-23 12:25:41 +08:00
2022-02-02 14:07:24 +08:00
# 访问 http://localhost:23333/ 即可进入面板。
# 默认情况下,面板端会自动扫描 daemon 文件夹并且自动连接到守护进程。
2021-10-23 12:25:41 +08:00
```
2022-02-02 14:07:24 +08:00
- 注意这种安装方式不会自动注册面板到系统服务Service所以必须使用 `screen` 软件来管理。
2022-02-02 13:35:59 +08:00
<br />
2022-02-02 19:29:59 +08:00
## 更新版本
如果您想从 `8.X` 版本更新到 `9.X` 版本,这是不支持的,只能手动一个个导入实例配置和文件。
如果您是 `9.X` 升级到更高版本,在 `Linux` 系统下,请分别前往 `/opt/mcsmanager/web``/opt/mcsmanager/daemon` 目录中执行 `git pull` 进行更新。
`Windows` 系统下更新请前往官方下载最新安装包,覆盖所有文件即可生效。
> 注意,建议更新前备份一次 `data` 目录。
<br />
2022-02-18 14:14:00 +08:00
## 项目体系
整个软件运行需要三个项目的互相配合才可运行,您普通安装的代码是编译再整合后的产物。
[**控制面板端**](https://github.com/MCSManager/MCSManager)
- 角色:控制中心
2022-08-05 16:12:50 +08:00
- 责任:负责提供网页前端的后端接口,提供 API 接口,用户数据管理和对守护进程进行通信和授权。
2022-02-18 14:14:00 +08:00
[**网页前端**](https://github.com/MCSManager/UI)
- 角色:控制中心的用户交互界面
- 责任:以网页形式展示数据,发送请求,并且拥有与守护进程通信的能力,此项目最终产物是纯静态文件。
2022-08-05 16:12:50 +08:00
2022-02-18 14:14:00 +08:00
[**守护进程**](https://github.com/MCSManager/Daemon)
- 角色:被控端
- 责任:控制本地主机的所有实例,真实进程的实际管理者,拥有与任何对象的通信能力。
<br />
2022-02-02 19:36:05 +08:00
## 搭建开发环境
2022-02-02 14:11:43 +08:00
2022-02-18 14:14:00 +08:00
此段落面向开发人员,普通用户无需关注也无需执行。
2022-02-02 14:11:43 +08:00
2022-02-18 14:14:00 +08:00
所有项目全部以开发环境运行后,便可以进行开发与预览,请务必遵循开源协议。
**控制面板端MCSManager**
2022-02-02 14:11:43 +08:00
```bash
git clone https://github.com/MCSManager/MCSManager.git
2022-02-18 14:14:00 +08:00
cd MCSManager
npm install
2022-08-05 16:12:50 +08:00
npm run start
2022-02-18 14:14:00 +08:00
# 默认将采用 ts-node 直接执行 Typescript 代码
# 默认运行在 23333 端口
```
**网页前端UI**
```bash
git clone https://github.com/MCSManager/UI.git
cd UI
npm install
npm run serve
# 访问 http://localhost:8080/ 即可预览界面
# 所有 API 请求将自动转发到 23333 端口
```
**守护进程Daemon**
```bash
2022-06-18 05:54:09 +08:00
git clone https://github.com/MCSManager/Daemon.git
2022-02-18 14:14:00 +08:00
cd Daemon
2022-02-02 14:11:43 +08:00
npm install
npm run start
2022-02-18 14:14:00 +08:00
# 运行后请在控制面板端连接本守护进程
# 默认运行在 24444 端口
2022-02-02 14:11:43 +08:00
```
2022-02-02 19:29:59 +08:00
<br />
2022-02-02 13:35:59 +08:00
## 浏览器兼容性
2020-07-21 10:04:00 +08:00
2022-02-02 14:07:24 +08:00
- 支持 `Chrome` `Firefox` `Safari` `Opera` 等现代主流浏览器。
- 已放弃支持 `IE` 浏览器。
2018-04-12 09:54:06 +08:00
2018-04-12 10:08:04 +08:00
<br />
2022-02-02 14:07:24 +08:00
## 面板权限
2018-05-30 11:36:22 +08:00
2022-02-02 14:07:24 +08:00
控制面板在运行时会检测用户是否为空,若为空会自动创建一个默认的管理员账号。
2018-05-30 11:36:22 +08:00
2022-02-02 14:07:24 +08:00
如果您忘记了管理员账号,您只能备份现有的用户配置文件夹,并且重新生成一个新的管理员账号以覆盖。
2018-05-30 11:36:22 +08:00
2022-02-02 14:07:24 +08:00
<br />
2018-04-22 09:47:58 +08:00
2022-02-06 15:47:34 +08:00
## 贡献
如果你在使用过程中发现任何问题,可以 [提交 Issue](https://github.com/MCSManager/MCSManager/issues/new/choose) 或自行 Fork 修改后提交 Pull Request。
代码需要保持现有格式,不得格式化多余代码,具体可[参考这里](https://github.com/MCSManager/MCSManager/issues/544)。
2022-02-06 15:48:10 +08:00
<br />
2022-02-02 14:07:24 +08:00
## 问题报告
2019-09-29 10:28:25 +08:00
2022-02-02 14:07:24 +08:00
欢迎发现的任何问题进行反馈,必当及时修复。
2022-02-02 14:07:24 +08:00
若发现严重安全漏洞又不便公开发布,请发送邮件至: Suwings@outlook.com安全问题修复后将在代码中附加漏洞发现者姓名。
2018-04-22 09:47:58 +08:00
<br />
2022-02-02 14:07:24 +08:00
## 版权约束
2022-02-02 13:35:59 +08:00
2022-02-07 13:24:24 +08:00
此开源项目使用 [AGPL 协议](LICENSE) 作为开源协议,未经过官方闭源开发授权,您如果对代码有任何修改,则必须要公开您修改后的源代码,具体约束如下。
2018-04-13 10:06:27 +08:00
2022-02-02 14:07:24 +08:00
**准许**
2018-04-13 10:06:27 +08:00
2022-02-02 14:07:24 +08:00
- 对软件源代码进行修改,复制,分发。
- 利用软件进行商业使用,赚取利润。
2018-04-13 10:06:27 +08:00
2022-02-02 14:07:24 +08:00
**必须**
2018-04-13 10:06:27 +08:00
2022-02-02 14:07:24 +08:00
- 公开提供您修改后的完整源代码。
- 在代码文件、界面中保留版权声明。
2018-04-13 10:06:27 +08:00
2022-02-02 14:07:24 +08:00
**禁止**
2018-04-13 10:06:27 +08:00
2022-02-02 14:07:24 +08:00
- 禁止售卖此软件,申请专利,著作权等。
2022-02-02 13:35:59 +08:00
2022-02-02 14:07:24 +08:00
> 更多授权与版权约束详情,请前往官方网站界面了解更多。
2017-12-11 16:37:03 +08:00
2018-04-12 10:08:04 +08:00
<br />