对Minecraft服务端的小理解

最近在捣鼓Minecraft服务端方面的东东, 还有尝试了下自己开发mod, 然后也看了几篇讲述了Minecraft多人游戏发展的文章, 接受能力不行,  思维有点乱乱的, 想了想觉得要整理下然后写下来, 以后自己忘了后也可以翻看下.

Minecraft服务器比较常见的有 CraftBukkit, Spigot, MCPC+(Cauldron/Sponge), 下面就是有关的介绍了.

  • Minecraft多人游戏的开始, 是Notch开发出来的一个简陋的多人服务器Minecraft SMP(Survival Multiplayer), 虽然只有一些很简单功能, 比如类似/kick的这种简单的管理指令, 但是相比于一开始的只能一个人孤零零地挖矿修房种田打怪来说, 能够和朋友们一起玩耍这个转变已经很满足的了. 当然那时也没有插件和mod这些概念.
  • 当多人游戏里的玩家多起来之后, 原来的SMP的管理功能就开始显得不足了, 而且有些类似武器伤害什么的这些参数修改起来也很麻烦, 要反编译mc来改, 再加上代码被混淆过了, 于是就有人反混淆mc的源代码并且开发出了Bukkit API.
  • 插件的开发是基于Bukkit的, 而CraftBukkit则是能够运行这些插件的服务器, 既我们常说的水桶服.
    (题外话, 因为每次SMP编译混淆出来的代码都不同, 所以Bukkit随着SMP更新有不同版本)
  • 由于Bukkit的性能不咋地, 所以有人开发出了Bukkit的优化版本Spigot, 性能得到了很大的提高.

下面的内容因为资料没看多少, 所以准确性比上面的还要低…

  • 进行反混淆的还有MCP(Mod Coder Pack)组(MCP散伙后接班的是ForgeGradle), 弄出了一个非官方的SDK(代码当然就是有别于Bukkit的, 所以插件和mod是两种东东)
  • 因为mod之间经常有不兼容的问题, 于是后来有了ModLoader和ForgeModLoader(FML)来加载和解决这些冲突.
  • 又因CraftBukkit和Forge互不兼容, 于是就有人制作出了MCPC+(现改名为cauldron), 巧妙地将兼容到了一块, 因为Spigot的性能要比CraftBukkit好, 所以MCPC+里是Forge+Spigot.

部分参考的文章/讲解:

http://www.mcbbs.net/forum.php?mod=viewthread&tid=309603&page=1#pid5926649

https://www.zhihu.com/question/28323894

发表回复