先简单的介绍一下这个项目:
https://github.com/dotnetGame/MineCase
MineCase 是一个跨平台、分布式的 Minecraft 服务端。
至于为什么要把 Minecraft 服务器做成分布式的呢?我们可以注意到现在 Minecraft 原版服务器在人数增加到 400-500 人左右时会出现性能的下降。但由于实际上在游戏中玩家之间大部分时候距离是非常远的,可以说几乎完全没有交互。我们完全可以把不同的区块由不同的服务器管理,所有的玩家都可以在同一个世界进行游戏,这为 minecraft 服务器带来了更多的拓展性,容纳更多的玩家。
基于这个思想,依赖 Orleans 的 virtual Actor 分布式模型,我们开发了 MineCase。
它使用 .NET Core 编写,基于 Orleans 框架。它通过 Virtual Actor 模型将各个区块分离开来交由不同服务器管理,从而构建一个高效的分布式系统。
间隔了比较长的时间没有填坑更新项目了。这次更新将原来的对 Orleans2.0 pre-view 的支持升级到了 Orleans2.3.4,并加入了更多了生物群落。
此项目尚在开发之中,精力有限,欢迎并且感谢大家对我们项目的关注和贡献。
1
unknowncheater 2019-06-18 16:20:08 +08:00
plus one,很有想法啊,我朋友正好在搞 Mc server,先 star
|
2
Juszoe 2019-06-18 22:09:38 +08:00
支持一下
|
3
JasonWang97 OP @unknowncheater 真巧,可以一起来交流交流
|
4
JasonWang97 OP 这几天在地形生成上做了一些改进,之后可能要对系统做一次重构,之前的 entity 这部分的做法有一些不妥,导致分布式后性能上的降低。
|
5
JasonWang97 OP 最近准备将 MineCase 换成 ECS 框架
|