(别问这个Slogen为什么这么尬,问就是乱写的)下一代 Minecraft 服务器面板 | The Next Generation Minecraft Panel
Hi, 各位, 我是 Kengwang. 很久没有在 MineBBS 发帖了.
今天在这里预热一下, 之后我会发布一个开源的 Minecraft 面板.
目前已经在开发中: https://github.com/EasyCraftPanel/EasyCraft
项目开源, 遵循 GPLv3 协议
文档: https://doc.easycraft.top
先说说为什么是 10 天前才开始的代码? 你只需要看看obsolete分支你就知道了.
面板大体上的模式和 Multicraft 相似, 一个控制面板控制多个服务器.
废话少说,先说说特色吧:
首先就是面板插件:
什么意思呢? 比如说我们之前想要在服务器开启的时候向一个网址发送请求 (HTTPCQAPI).面板插件是用于扩展 EasyCraft 功能的. 可以监听 EasyCraft 公开的事件, 进行数据处理, 调用相关的 API 来进行对 EasyCraft 的 功能补充.
我们要么是直接将面板交给一个 QQ 机器人管理,通过群里指令来调用开关, 要么是直接通过一个服务器插件来实现
对于 EasyCraft 你就可以通过一个插件, 监听服务器开启事件, 然后异步发起 HTTP 请求.
插件这部分将会是 EasyCraft 最精彩的部分, 也是最难开发的部分
具体公开的内容还在取舍和实现当中, 将会在之后的文档中更新
其次的话就是开服器了
开服器可以实现一些很好玩的东西. 之前的构思是将它和插件合并,但是发现可能有点不妥, 于是就独立了出来开服器可以管理服务器实际运行程序. 开服器的职责是接受 开启 / 关闭 / 强制关闭 / 控制台输入输出 / 内存占用 等指令.
开服器又可以干什么呢?
开服器的话是一个神奇的构想. 因为之前我在和别人讨论的时候发现很多人都有使用 Docker 的需求. 于是乎,我们可以用开服器实现
在开服器接受到请求之后开启一个 Docker, 获取控制台输入输出,返回给 EasyCraft
当然这个也是很简单的一个示例. 或者我们可以写个 BDS 插件注入的开服器,在接受到开服命令是先注入,在利用开服器启动.
在者就是核心了
这个想法其实是借鉴自 Multicraft 的.核心是每个服务器的开服必需品. 核心更加通俗的名称是 服务端软件,但是 EasyCraft 需要您写一个配置文件以便知道如何启动
Q: 为什么不直接把这些功能写在代码里,还要搞这么复杂的插件
A: 我也是喜欢简洁的软件的. 相比于臃肿的,功能繁琐,可扩展性低的东西我更喜欢高扩展的. 毕竟很多东西我都可以不受到限制,自己去实现自己想要的效果.
PS: 我是从开发酷Q应用而开始接触编程的. 所以很喜欢这种二创
Q: 为什么obsolete分支被废弃了
A: 这个也是个很悲伤的故事. 当时我是正好中考完的暑假,有大把的时间来搞开发. 然而却因为疫情而假期缩水, 导致半途暂停了开发. 在这一年内,我也写了很多项目来练 C#, 在一年之后我又看到了之前的代码, 顿时觉得惨不忍睹,于是便重构了.
Q: 你觉得会有很多人来开发所谓的「插件」吗?
A: 我觉得 Minecraft 能够发展到今天的这种程度和高度,很大部分都是 Minecraft 的生态所影响的. 模组,地图,资源包,光影, 也正是这些东西让 Minecraft 更加多彩. 我也很相信 Minecraft 社区,所以将 EasyCraft 开源.
Q: 正式版多久发布
A: 发布时间未定,主要还是因为我这边还有很多作业要去写. 不说了,写作(dai)业(ma)去了~
Q: 面板是什么一种模式
A: EasyCraft 主程序提供服务器,用户,核心,插件等资源的管理. 然后前端采用了 Vue, 尽量做到最简化使用, 让小白也能轻松上手, 让大神能够根据自己的需要来扩展
Q: 对于BDS的支持怎么样
A: 因为这个问题,所以在开发的时候我是将 BDS 作为核心来进行开发和测试. 会尽量保证 BDS 的体验
还有很多神奇的东西在实现中, 假如有什么问题或者建议可以直接在这下面提出. 我会尽量看并且回复的.
Kengwang
2021 / 8 / 18
最后编辑: