Go to file
2018-04-27 11:16:48 +08:00
core 添加 - 安全性增强 2018-04-20 10:04:22 +08:00
ftpd 修改 - 将http ftp 设置加入到 property.js 2018-04-26 11:29:49 +08:00
helper 新增 - 用户在线显示 2018-04-26 19:53:30 +08:00
model 删除 - Debug 辅助代码 2018-04-21 14:46:12 +08:00
onlinefs 添加 - Login 容器的更安全检查 2018-04-21 15:13:42 +08:00
public 修改 - 更改式样 2018-04-27 11:16:48 +08:00
route 新增 - 锁定ip提示 2018-04-27 08:29:08 +08:00
.gitignore 添加 - 插入新规则 2018-04-13 10:12:39 +08:00
app.js 删除 - 测试代码 2018-04-26 20:39:25 +08:00
LICENSE Initial commit 2017-11-12 09:41:58 +08:00
package-lock.json 修改 - 重新 clone ftpd 模块 2018-04-16 11:08:31 +08:00
package.json 修改 - 重新 clone ftpd 模块 2018-04-16 11:08:31 +08:00
property.js 修改 - 设置默认 2018-04-26 11:31:09 +08:00
README.md 修改 - 添加常见问题与SSL 2018-04-22 09:47:58 +08:00

Minecraft Server Manager

  • 简单,易用,多实例,轻量级的 Minecraft Server 控制面板

欢迎使用

软件截图 注意: 因为不定时更换原因,目前截图不一定最新。


快速扩展

我们用最简单上手的方式,来构建整个应用程序,绝大部分的开发者可以轻而易举的进行修改,以及依照协议开发使用。你会发现,这可能是一非常适合你的 Minecraft 服务器管理工具,支持绝大部分的主流服务端。

并且,我们将尽可能的降低扩展的学习成本来帮助你更好的扩展与自定义,让一个完全属于你的Minecraft服务器管理器出现。


运行环境


运行在 Windows

方法一

下载并正确安装 Node 环境:

下载源代码并解压: https://github.com/Suwings/MCSManager/archive/master.zip

确认您的 JREJDK 安装并且可以运行

进入程序源代码目录,并且在当前目录打开命令控制台

执行命令 npm install --production

执行命令 node app.jsnpm start

方法二 介于某些原因,您可能并不愿意安装这些运行环境,于是我们给予了一种绿色打包的运行环境,下载即可直接使用

下载直接双击运行: https://pan.baidu.com/s/1bpbB8Az (下载地址)

注意: 百度网盘提供的下载是打包集成好的,小版本更新我们不会打包,也就是意味着,这里不能实时跟随最新版本。


运行在 Linux

  • 相对而言,这可能更加简单
git clone https://github.com/Suwings/MCSManager.git
cd mcsmanager
npm install --production
node app.js #或 npm start

安装常见问题

这里是一些常见问题,并不代表你一定会遇见。

  • 找不到模块 express

输入 npm install 解决

  • 找不到模块 ftpd

请输入 npm install ftpd 进行再次手动安装,这个模块是直接 github 指定源

  • 端口监听失败

请修改 McserverConfig.json 文件中的端口号


项目目录结构

注意: 并不是所有目录的文件我们都建议你进行更改!

目录名 详情/解释
property.js                   控制面板内部深度配置
core/logo.txt               控制台输出 logo 文字
public/                     前端所有代码,资源目录,前后端分离,使用 ws 或 ajax 通讯
public/login/               纯 UI 逻辑登陆页面
public/template/             前端业务模板,每个模板拥有着一个生命周期,开始与结束。
public/onlinefs_public/       文件在线管理模块前端所有代码
public/common/js/meum.js     左侧菜单列表
server/server_core           Minecraft 服务端核心目录包括服务端文件配置Mod以及插件
server/x.json               Minecraft 服务器面板配置文件
users/x.json               控制面板用户配置文件
route/                     控制器HTTP 请求业务逻辑层(可二次扩展)
route/websocket/             控制器Webscoket 请求业务逻辑层(可二次扩展)
core/Process/               Minecraft Server 类实现
core/User/                   User 类实现
core/DataModel.js             数据持久化模型,几乎是所有的配置的 I/O 模型
model/                     模型层,用于提供控制器与服务端,用户操作,也提供设计模式模型
helper/                     业务逻辑辅助层,用于辅助和重复利用业务逻辑
ftpd/                       FTP 独立模块,其中 ftpserver.js 已经实现了抽象 ftpServerInterface 接口
onlinefs/                     文件管理独立模块 (Suwings/IndependentFileManager)

浏览器兼容性

  • ECMAScript 5 标准
  • IE 10+ Chrome Firefox Safari Opera 等现代主流浏览器

例外: 文件在线管理界面需要 IE 11+


自定义设计

如果你是内部使用或学习用途,你可以对前端以及后端进行任何修改,包括版权声明。


FTP 服务

FTP 模块采用被动传输模式,传输命令默认使用 10021(可更改) 端口;

传输数据需要一个端口段,默认是 20010 - 20100

为确保 FTP 服务正常使用,请配置好您的防火墙设置,对这些端口范围进行开放。

当然,我们提供了在线文件管理功能,您大可不必完全使用 FTP。


反向代理

反向代理之前,请仔细阅读 property.js 内部文件(开关 gzip之类的设置。

并且从软件控制面板中设置您的端口(默认 23333。以及反向代理需要对 Webscoket 提供配置项。


SSL

public/common/URL.js 中的 'http://' 改成 'https://'

public/common/js/websocket.js 中的'ws://' 改成 'wss://'

即可保证前端所有请求均为 Https 和 Wss

后端请通过反向代理完成,或自行修改 Express 初始化 App。


虚拟化

注意 这是一个轻量级的管理面板,没有集成虚拟化容器,请注意提供陌生人服务端的风险。

但是你可以实现一个整体的虚拟化容器,以保证你的宿主机安全。

另外,在服务器启动时也有 自定义启动命令(可禁止) 功能,这可以让你启动服务器时不止是运行 java 相关命令,甚至可以运行命令脚本,对此你可以尝试更多的技巧组合,实现你的需求,列如,启动服务器时顺便启动一个脚本来做某些事情。


权限系统

尤其注意的是,为了更加简化面板权限系统,我们只分为两种账号;

管理账号 凡是以 # 字符开头的用户,均为管理账号,列如 #master #admin #test

普通账号 不以 # 字符开头的用户,列如 test usernameww xxx

普通账号能够管理的服务器只能由管理账号来进行设定,管理账号可以管理任何服务器,并且能管理所有用户。

具体使用,我想你只需要运行就知道,设计的十分简单。


问题报告

欢迎各位发现任何 BUG 及时反馈给我,必当及时修复


开源协议与版权

程序是基于 GNU Affero General Public License v3.0 开放源代码的自由软件。

你可以遵照 AGPLv3 协议来修改和重新发布这一程序。

或者,在学习或私自 (内部) 使用时,在不公开发布的原则下,可以无视这个协议和版权,因为这本身并不能束缚你,并且我们欢迎这样做。