MCSManager/README.md

161 lines
6.3 KiB
Markdown
Raw Normal View History

2017-12-11 17:42:25 +08:00
<p><h1><img src="http://39.108.57.206/public/MCSM_LOGO_1.png" />Minecraft Server Manager</h1></p>
2017-12-11 17:43:03 +08:00
2018-04-13 10:06:27 +08:00
- 简单,易用,多实例,轻量级的 Minecraft Server 控制面板
2017-11-12 09:53:27 +08:00
2018-04-12 10:08:04 +08:00
<br />
2018-04-13 10:06:27 +08:00
欢迎使用
2018-01-24 18:14:55 +08:00
-----------
![软件截图](http://39.108.57.206/public/MCSM_A.png)
**注意:** 因为不定时更换原因,目前截图不一定最新。
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
-----------
2017-11-18 15:53:36 +08:00
- `Node.js` >= 8.0
2018-02-04 16:00:16 +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
2017-12-11 17:24:52 +08:00
运行在 Windows 平台
-----------
2017-12-11 17:19:01 +08:00
2017-12-11 17:44:12 +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
下载源代码并解压: [https://github.com/Suwings/MCSManager/archive/master.zip](Master.zip)
确认您的 `JRE``JDK` 安装并且可以运行
2018-04-07 20:04:50 +08:00
进入程序源代码目录,并且在当前目录打开命令控制台
2017-12-11 17:19:01 +08:00
执行命令 `npm install --production`
执行命令 `node app.js``npm start`
2017-12-11 17:44:12 +08:00
**方法二**
2017-12-11 17:19:01 +08:00
介于某些原因,您可能并不愿意安装这些运行环境,于是我们给予了一种绿色打包的运行环境,下载即可直接使用
2018-02-17 09:34:21 +08:00
下载直接双击运行: https://pan.baidu.com/s/1bpbB8Az (下载地址)
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
2017-12-11 17:24:52 +08:00
运行在 Linux 平台
-----------
- 相对而言,这可能更加简单
2017-12-11 17:19:01 +08:00
2017-11-18 15:53:36 +08:00
```bash
git clone https://github.com/Suwings/MCSManager.git
cd mcsmanager
2017-11-18 16:00:53 +08:00
npm install --production
2017-11-18 15:53:36 +08:00
node app.js #或 npm start
2017-11-12 09:53:27 +08:00
```
2018-04-12 10:08:04 +08:00
<br />
2017-11-18 15:53:36 +08:00
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-03-09 17:57:28 +08:00
| **property.js**                   |控制面板内部深度配置|
2018-02-04 16:00:16 +08:00
| **core/logo.txt**               |控制台输出 logo 文字|
| **public/**                     |前端所有代码,资源目录,前后端分离,使用 ws 或 ajax 通讯|
| **public/login/**               |纯 UI 逻辑登陆页面|
2018-01-24 18:17:23 +08:00
| **public/template/**             |前端业务模板,每个模板拥有着一个生命周期,开始与结束。|
| **public/onlinefs_public/**      |文件在线管理模块前端所有代码|
2018-01-24 18:14:55 +08:00
| **public/common/js/meum.js**    |左侧菜单列表|
2017-12-11 17:19:01 +08:00
| **server/server_core**          |Minecraft 服务端核心目录包括服务端文件配置Mod以及插件|
| **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 />
自定义设计
-----------
如果你是内部使用或学习用途,你可以对前端以及后端进行任何修改,包括版权声明。
<br />
2018-04-12 09:54:06 +08:00
反向代理
-----------
反向代理之前,请仔细阅读 `property.js` 内部文件(开关 gzip之类的设置。
并且从软件控制面板中设置您的端口(默认 23333。以及反向代理需要对 Webscoket 提供配置项。
2018-04-12 10:08:04 +08:00
<br />
2018-04-12 09:54:06 +08:00
虚拟化
-----------
2018-04-12 10:08:04 +08:00
**注意** 这是一个轻量级的管理面板,没有集成虚拟化容器,请注意提供陌生人服务端的风险。
2018-04-12 09:54:06 +08:00
但是你可以实现一个整体的虚拟化容器,以保证你的宿主机安全。
2018-04-12 10:08:04 +08:00
另外,在服务器启动时也有 `自定义启动命令(可禁止)` 功能,这可以让你启动服务器时不止是运行 java 相关命令,甚至可以运行命令脚本,对此你可以尝试更多的技巧组合,实现你的需求,列如,启动服务器时顺便启动一个脚本来做某些事情。
2018-01-24 18:14:55 +08:00
2018-04-12 10:08:04 +08:00
<br />
2017-12-11 17:19:01 +08:00
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
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-12 10:08:04 +08:00
或者,在学习或私自 (内部) 使用时,在不公开发布的原则下,可以无视这个**协议和版权**,因为这本身并不能束缚你,但是我们欢迎这样做。
<br />