MineCase - 分布式Minecraft服务器

3,092 阅读2分钟

简单介绍

MineCase是一个分布式的Minecraft服务器。 该项目旨在通过使用actor模式隔离不同的组件来创建高性能的分布式系统。从而不同的区块由不同的服务器管理,所有玩家可以在一个世界中进行游戏。 这使得Minecraft服务器更具可扩展性。

MineCase使用C#和.NET Core2.0编写。分布式的功能基于orleans框架。 目前MineCase仅支持Minecraft 1.12协议。

github.com/dotnetGame/…

用途

一些需要支撑大量玩家的服务器,例如2b2t这种无规则服务器,排队人数可达1000人以上。这样的服务器通过使用分布式,把请求分散到多台服务器上,可以让更多玩家加入,而无需让玩家在进入服务器之前排队等候。

做成分布式的原因

至于为什么要把 Minecraft 服务器做成分布式的呢?
我们可以注意到现在 Minecraft 原版服务器在人数增加到 400-500 人左右时会出现性能的下降。但由于实际上在游戏中玩家之间大部分时候距离是非常远的,可以说几乎完全没有交互。我们完全可以把不同的区块由不同的服务器管理,所有的玩家都可以在同一个世界进行游戏,这为 minecraft 服务器带来了更多的拓展性,容纳更多的玩家。

基于这个思想,依赖 Orleans 的 virtual Actor 分布式模型,我们开发了 MineCase。

它使用 .NET Core 编写,基于 Orleans 框架。它通过 Virtual Actor 模型将各个区块分离开来交由不同服务器管理,从而构建一个高效的分布式系统。

结语

github.com/dotnetGame/…
此项目尚在开发之中,精力有限,欢迎大家关注并支持我们的项目。