2018-05-30 15:54:56 +08:00
|
|
|
|
![doc_logo.png](/public/common/doc_logo.png)
|
2018-05-30 13:34:21 +08:00
|
|
|
|
|
2018-05-30 14:22:22 +08:00
|
|
|
|
[![Status](https://img.shields.io/badge/npm-v4.16.3-blue.svg)](https://www.npmjs.com/)
|
2018-05-31 08:57:48 +08:00
|
|
|
|
[![Status](https://img.shields.io/badge/node-v8.0-blue.svg)](https://nodejs.org/en/download/)
|
2018-05-30 14:22:22 +08:00
|
|
|
|
[![Status](https://travis-ci.org/Suwings/MCSManager.svg?branch=master)](https://travis-ci.org/Suwings/MCSManager)
|
2018-05-30 15:12:49 +08:00
|
|
|
|
[![Status](https://img.shields.io/badge/License-AGPLv3-red.svg)](https://github.com/Suwings/MCSManager)
|
2018-05-30 15:54:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
简单,易用,多实例,轻量级的 Minecraft Server 控制面板
|
|
|
|
|
|
2018-12-02 11:11:30 +08:00
|
|
|
|
**This project does not support English.**
|
|
|
|
|
|
2019-02-06 16:04:08 +08:00
|
|
|
|
[中文简体](https://github.com/Suwings/MCSManager) | [中文繁體](README-traditional.md)
|
2018-06-05 16:39:08 +08:00
|
|
|
|
|
2018-12-02 11:11:30 +08:00
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
2017-12-11 17:24:52 +08:00
|
|
|
|
快速扩展
|
|
|
|
|
-----------
|
2017-11-13 12:35:13 +08:00
|
|
|
|
我们用最简单上手的方式,来构建整个应用程序,绝大部分的开发者可以轻而易举的进行修改,以及依照协议开发使用。你会发现,这可能是一非常适合你的 `Minecraft` 服务器管理工具,支持绝大部分的主流服务端。
|
2017-11-12 09:54:53 +08:00
|
|
|
|
|
2017-11-30 22:55:08 +08:00
|
|
|
|
并且,我们将尽可能的降低扩展的学习成本来帮助你更好的扩展与自定义,让一个完全属于你的`Minecraft`服务器管理器出现。
|
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
<br />
|
2017-11-12 09:53:27 +08:00
|
|
|
|
|
2018-04-12 09:54:06 +08:00
|
|
|
|
运行环境
|
2017-12-11 17:24:52 +08:00
|
|
|
|
-----------
|
2018-04-29 20:50:33 +08:00
|
|
|
|
- 我们的部署简单至极,在`Master`分支下,我们的设计是下载即可运行,不需要编译与任何配置,除了安装一个环境。
|
|
|
|
|
|
2018-05-31 08:57:48 +08:00
|
|
|
|
- `Node.js` >= 8.0
|
2018-04-29 20:50:33 +08:00
|
|
|
|
- `下载镜像站点`: [https://npm.taobao.org/mirrors/node/v8.0.0/](https://npm.taobao.org/mirrors/node/v8.0.0/)
|
2017-11-12 09:54:53 +08:00
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
<br />
|
2017-11-18 15:53:36 +08:00
|
|
|
|
|
2018-05-13 11:12:36 +08:00
|
|
|
|
|
2018-04-22 09:47:58 +08:00
|
|
|
|
运行在 Windows
|
2017-12-11 17:24:52 +08:00
|
|
|
|
-----------
|
2017-12-11 17:19:01 +08:00
|
|
|
|
|
2018-06-13 08:33:50 +08:00
|
|
|
|
**方法一 (仅限中文简体)**
|
2017-12-11 17:19:01 +08:00
|
|
|
|
|
2018-04-07 20:04:50 +08:00
|
|
|
|
下载并正确安装 `Node` 环境:
|
2017-12-11 17:19:01 +08:00
|
|
|
|
|
2018-07-17 09:27:02 +08:00
|
|
|
|
下载源代码并解压: [https://github.com/Suwings/MCSManager/archive/master.zip](https://github.com/Suwings/MCSManager/archive/master.zip)
|
2017-12-11 17:19:01 +08:00
|
|
|
|
|
2018-04-07 20:04:50 +08:00
|
|
|
|
进入程序源代码目录,并且在当前目录打开命令控制台
|
2017-12-11 17:19:01 +08:00
|
|
|
|
|
|
|
|
|
执行命令 `npm install --production`
|
|
|
|
|
|
|
|
|
|
执行命令 `node app.js` 或 `npm start`
|
|
|
|
|
|
|
|
|
|
|
2018-06-13 08:33:50 +08:00
|
|
|
|
**方法二 (包含简体/繁体版本)**
|
2018-04-29 20:52:07 +08:00
|
|
|
|
|
2018-06-13 08:33:50 +08:00
|
|
|
|
可能因为某些原因,您可能并不愿意安装这些运行环境,于是我们给予了一种绿色打包的运行环境,下载即可直接使用。
|
2017-12-11 17:19:01 +08:00
|
|
|
|
|
2018-06-12 21:39:19 +08:00
|
|
|
|
下载直接运行:
|
|
|
|
|
|
2019-02-06 15:20:36 +08:00
|
|
|
|
http://mcsm.suwings.top/ (官方站点 有中文简体/繁体中文版本)
|
2018-06-12 21:39:19 +08:00
|
|
|
|
|
2017-12-11 17:19:01 +08:00
|
|
|
|
|
2018-01-20 15:26:37 +08:00
|
|
|
|
**注意:** 百度网盘提供的下载是打包集成好的,小版本更新我们不会打包,也就是意味着,这里不能实时跟随最新版本。
|
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
|
|
|
|
|
2018-04-22 09:47:58 +08:00
|
|
|
|
|
|
|
|
|
运行在 Linux
|
2017-12-11 17:24:52 +08:00
|
|
|
|
-----------
|
2018-06-13 08:33:50 +08:00
|
|
|
|
- 相对而言,这可能更加简单。保证您的 node 版本正确与 git 工具可行下,安装与运行易如反掌。
|
2017-12-11 17:19:01 +08:00
|
|
|
|
|
2019-01-15 14:33:47 +08:00
|
|
|
|
**提示:** 请尽可能的给予 root 权限运行,如无法给予 root 权限,请编辑好文件目录权限,如使用 Docker 等服务不保证能够完全正确运行。
|
|
|
|
|
|
2017-11-18 15:53:36 +08:00
|
|
|
|
```bash
|
|
|
|
|
git clone https://github.com/Suwings/MCSManager.git
|
2018-05-05 15:12:27 +08:00
|
|
|
|
cd MCSManager
|
2017-11-18 16:00:53 +08:00
|
|
|
|
npm install --production
|
2019-01-15 14:33:47 +08:00
|
|
|
|
sudo node app.js #或 sudo npm start
|
2017-11-12 09:53:27 +08:00
|
|
|
|
```
|
2018-05-30 16:04:16 +08:00
|
|
|
|
|
|
|
|
|
> 如果您还是无法运行,请 [单击这里](https://github.com/Suwings/MCSManager/wiki/Linux-%E4%B8%8B%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8%E8%AF%A6%E8%A7%A3)
|
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
<br />
|
2017-11-18 15:53:36 +08:00
|
|
|
|
|
2018-11-19 14:57:04 +08:00
|
|
|
|
使用 Docker
|
2018-11-15 08:58:19 +08:00
|
|
|
|
-----------
|
|
|
|
|
**我们支持 Docker 软件** 我们使用 Docker 来进行虚拟化部署,纵使您的机器上没有 Java 任何环境,只需一个 Docker 就能轻松开启 Minecraft 服务器。
|
|
|
|
|
|
|
|
|
|
另外使用 Docker 也能保证您的宿主机安全性和稳定性,对 Linux 客户而言相信使用起来会更好。
|
|
|
|
|
|
|
|
|
|
如何使用?打开软件界面,单击 `创建 Docker 镜像`,随后在参数面板设置 `Docker 配置` 即可。
|
|
|
|
|
|
|
|
|
|
**如需使用 Docker ,请确保您的 Linux 系统拥有 Docker 环境,并且启动服务。**
|
|
|
|
|
|
2018-11-19 14:57:04 +08:00
|
|
|
|
|
|
|
|
|
我们设计得十分简单,但是如果您依然担心您不会操作,可以参考以下相关信息:
|
|
|
|
|
|
|
|
|
|
具体使用方法: [单击此处跳转](https://github.com/Suwings/MCSManager/blob/gh-pages/Question_1.md)
|
|
|
|
|
|
|
|
|
|
安装 Docker: [单击此处跳转](https://github.com/Suwings/MCSManager/blob/gh-pages/Question_2.md)
|
2018-11-15 08:58:19 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
|
|
|
|
|
2018-06-01 19:18:14 +08:00
|
|
|
|
Wiki
|
|
|
|
|
---------
|
|
|
|
|
我们有些常见问题与细节上的问题,已经把它们都整合在 `Wiki` 里面。
|
|
|
|
|
|
|
|
|
|
欢迎你阅读 [Wiki](https://github.com/Suwings/MCSManager/wiki) 与提出建议。
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
|
2017-12-11 17:24:52 +08:00
|
|
|
|
项目目录结构
|
|
|
|
|
-----------
|
|
|
|
|
**注意:** 并不是所有目录的文件我们都建议你进行更改!
|
2017-11-12 09:53:27 +08:00
|
|
|
|
|
2017-12-11 17:19:01 +08:00
|
|
|
|
| 目录名 | 详情/解释 |
|
2017-12-11 16:37:03 +08:00
|
|
|
|
| ------------------------ | --------------------------------------------------------------------------------------------- |
|
2018-06-01 19:20:09 +08:00
|
|
|
|
| **property.js** |控制面板配置文件|
|
2018-02-04 16:00:16 +08:00
|
|
|
|
| **core/logo.txt** |控制台输出 logo 文字|
|
2018-06-01 19:18:14 +08:00
|
|
|
|
| **public/** |前端所有代码,资源目录,前后端分离,使用 ws 和 ajax 通讯|
|
2018-02-04 16:00:16 +08:00
|
|
|
|
| **public/login/** |纯 UI 逻辑登陆页面|
|
2018-01-24 18:17:23 +08:00
|
|
|
|
| **public/template/** |前端业务模板,每个模板拥有着一个生命周期,开始与结束。|
|
|
|
|
|
| **public/onlinefs_public/** |文件在线管理模块前端所有代码|
|
2018-06-01 19:20:09 +08:00
|
|
|
|
| **public/common/js/meum.js** |控制面板左侧菜单列表|
|
|
|
|
|
| **public/common/js/login.js** |通用登录流程逻辑,可重复利用在各类 HTML 登录模板|
|
2018-06-01 19:18:14 +08:00
|
|
|
|
| **server/server_core** |Minecraft 服务端核心目录,包括服务端文件,配置,Mod,以及插件|
|
2017-12-11 17:19:01 +08:00
|
|
|
|
| **server/x.json** |Minecraft 服务器面板配置文件|
|
|
|
|
|
| **users/x.json** |控制面板用户配置文件|
|
2018-02-04 16:00:16 +08:00
|
|
|
|
| **route/** |控制器,HTTP 请求业务逻辑层(可二次扩展)|
|
|
|
|
|
| **route/websocket/** |控制器,Webscoket 请求业务逻辑层(可二次扩展)|
|
2018-01-24 18:14:55 +08:00
|
|
|
|
| **core/Process/** |Minecraft Server 类实现|
|
|
|
|
|
| **core/User/** |User 类实现|
|
2018-04-12 10:15:46 +08:00
|
|
|
|
| **core/DataModel.js** |数据持久化模型,几乎是所有的配置的 I/O 模型|
|
2017-12-11 17:19:01 +08:00
|
|
|
|
| **model/** |模型层,用于提供控制器与服务端,用户操作,也提供设计模式模型|
|
2018-01-24 18:14:55 +08:00
|
|
|
|
| **helper/** |业务逻辑辅助层,用于辅助和重复利用业务逻辑|
|
|
|
|
|
| **ftpd/** |FTP 独立模块,其中 ftpserver.js 已经实现了抽象 ftpServerInterface 接口|
|
2018-03-09 17:59:42 +08:00
|
|
|
|
| **onlinefs/** |文件管理独立模块 ([Suwings/IndependentFileManager](https://github.com/Suwings/IndependentFileManager))|
|
2018-03-09 17:57:28 +08:00
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
<br />
|
2018-01-24 18:14:55 +08:00
|
|
|
|
|
2018-02-04 16:00:16 +08:00
|
|
|
|
浏览器兼容性
|
|
|
|
|
-----------
|
|
|
|
|
- `ECMAScript 5` 标准
|
|
|
|
|
- `IE 10+` `Chrome` `Firefox` `Safari` `Opera` 等现代主流浏览器
|
|
|
|
|
|
2018-04-12 09:54:06 +08:00
|
|
|
|
**例外:** 文件在线管理界面需要 `IE 11+`
|
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
|
|
|
|
|
2018-04-29 20:41:16 +08:00
|
|
|
|
配置文件
|
|
|
|
|
-----------
|
|
|
|
|
我们的配置文件是程序目录下的 `property.js` 文件,它会在你第一次运行的时候,自动生成。
|
|
|
|
|
|
2018-04-29 20:42:42 +08:00
|
|
|
|
> 注意!原旧版本的 McserverConfig.json 文件完全弃用。
|
|
|
|
|
|
|
|
|
|
> 现在,所有配置将全部归纳于此文件。
|
2018-04-29 20:41:16 +08:00
|
|
|
|
|
2018-04-29 20:45:35 +08:00
|
|
|
|
> 此文件不会与 github 版本冲突,更新时也不会自动覆盖
|
|
|
|
|
|
2018-04-29 20:41:16 +08:00
|
|
|
|
<br />
|
|
|
|
|
|
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
自定义设计
|
|
|
|
|
-----------
|
|
|
|
|
如果你是内部使用或学习用途,你可以对前端以及后端进行任何修改,包括版权声明。
|
|
|
|
|
|
2018-04-29 20:41:16 +08:00
|
|
|
|
> 注意!当你进行版本更新的时候,可能会覆盖掉你的自定义修改部分。
|
2018-04-29 20:42:42 +08:00
|
|
|
|
|
2018-04-29 20:41:16 +08:00
|
|
|
|
> 当然,并不是所有文件都需要覆盖一遍,也不一定非得使用新版本。
|
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
<br />
|
2018-04-12 09:54:06 +08:00
|
|
|
|
|
2018-04-16 18:59:52 +08:00
|
|
|
|
FTP 服务
|
|
|
|
|
-----------
|
2018-07-03 21:09:03 +08:00
|
|
|
|
FTP 模块采用被动传输模式,传输命令默认使用 `10022`(可更改) 端口;
|
2018-04-16 18:59:52 +08:00
|
|
|
|
|
|
|
|
|
传输数据需要一个端口段,默认是 `20010` - `20100`;
|
|
|
|
|
|
|
|
|
|
为确保 FTP 服务正常使用,请配置好您的防火墙设置,对这些端口范围进行开放。
|
|
|
|
|
|
|
|
|
|
> 当然,我们提供了在线文件管理功能,您大可不必完全使用 FTP。
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
|
2018-05-30 11:31:27 +08:00
|
|
|
|
反向代理 与 SSL
|
2018-04-12 09:54:06 +08:00
|
|
|
|
-----------
|
2018-06-01 19:41:26 +08:00
|
|
|
|
|
|
|
|
|
尽管默认没有 Https ,您可能在公共网络下不太放心,但是我们不传递明文的密码,可以保证你的账号的密码是难以泄露的。
|
|
|
|
|
|
|
|
|
|
具体密码传递过程可参考 [单击这里跳转](https://github.com/Suwings/MCSManager/wiki/%E7%99%BB%E5%BD%95%E5%AF%86%E7%A0%81%E4%BC%A0%E9%80%92%E8%BF%87%E7%A8%8B%E5%9B%BE)
|
|
|
|
|
|
2018-05-30 11:44:20 +08:00
|
|
|
|
**Property 文件**
|
2018-05-30 11:36:22 +08:00
|
|
|
|
|
2018-05-30 11:31:27 +08:00
|
|
|
|
反向代理之前,你可以但不是必须阅读 `property.js` 文件
|
2018-05-30 11:36:22 +08:00
|
|
|
|
|
|
|
|
|
> 里面有各类的设置,包括 gzip压缩,端口和ip绑定等等。
|
|
|
|
|
|
2018-05-30 11:44:20 +08:00
|
|
|
|
**实现 HTTPS 与 WSS**
|
2018-05-01 12:04:34 +08:00
|
|
|
|
|
2018-04-29 20:41:16 +08:00
|
|
|
|
打开前端 URL 定位文件 `public/common/URL.js`, 将 http 与 ws 改成 https 与 wss;
|
2018-04-22 09:47:58 +08:00
|
|
|
|
|
2018-05-30 11:36:22 +08:00
|
|
|
|
可保证前端所有请求均为 https 和 wss
|
2018-04-29 20:41:16 +08:00
|
|
|
|
> 此文件不会与 github 版本冲突,更新时也不会覆盖,请放心修改。
|
2018-04-22 09:47:58 +08:00
|
|
|
|
|
2018-05-30 11:44:20 +08:00
|
|
|
|
**反向代理**
|
2018-04-22 09:47:58 +08:00
|
|
|
|
|
|
|
|
|
后端请通过反向代理完成,或自行修改 Express 初始化 App。
|
|
|
|
|
|
2018-05-30 11:44:20 +08:00
|
|
|
|
**注意:** [Nginx 反向代理注意](https://github.com/Suwings/MCSManager/issues/22) | [Apache 反向代理注意](https://github.com/Suwings/MCSManager/issues/34)
|
2018-04-22 09:47:58 +08:00
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
|
2018-04-13 10:06:27 +08:00
|
|
|
|
权限系统
|
|
|
|
|
-----------
|
|
|
|
|
尤其注意的是,为了更加简化面板权限系统,我们只分为两种账号;
|
|
|
|
|
|
|
|
|
|
`管理账号` 凡是以 # 字符开头的用户,均为管理账号,列如 `#master` `#admin` `#test`
|
|
|
|
|
|
|
|
|
|
`普通账号` 不以 # 字符开头的用户,列如 `test` `usernameww` `xxx`
|
|
|
|
|
|
|
|
|
|
普通账号能够管理的服务器只能由管理账号来进行设定,管理账号可以管理任何服务器,并且能管理所有用户。
|
|
|
|
|
|
|
|
|
|
具体使用,我想你只需要运行就知道,设计的十分简单。
|
|
|
|
|
|
|
|
|
|
<br />
|
|
|
|
|
|
2018-02-04 16:00:16 +08:00
|
|
|
|
问题报告
|
2017-12-11 17:24:52 +08:00
|
|
|
|
-----------
|
|
|
|
|
欢迎各位发现任何 BUG 及时反馈给我,必当及时修复
|
2017-12-11 16:37:03 +08:00
|
|
|
|
|
2018-04-12 10:08:04 +08:00
|
|
|
|
<br />
|
2017-12-11 16:37:03 +08:00
|
|
|
|
|
2018-04-29 20:41:16 +08:00
|
|
|
|
协议与版权
|
2017-12-11 17:24:52 +08:00
|
|
|
|
-----------
|
2018-04-12 09:54:06 +08:00
|
|
|
|
程序是基于 [GNU Affero General Public License v3.0](./LICENSE "GNU Affero General Public License v3.0") 开放源代码的自由软件。
|
2017-11-30 22:55:08 +08:00
|
|
|
|
|
2018-04-12 09:54:06 +08:00
|
|
|
|
你可以遵照 AGPLv3 协议来修改和重新发布这一程序。
|
2017-12-11 17:24:52 +08:00
|
|
|
|
|
2018-04-16 10:27:14 +08:00
|
|
|
|
或者,在学习或私自 (内部) 使用时,在不公开发布的原则下,可以无视这个**协议和版权**,因为这本身并不能束缚你,并且我们欢迎这样做。
|
2018-04-12 10:08:04 +08:00
|
|
|
|
|
|
|
|
|
<br />
|