Skip to content

MC 服务端介绍 ​

想开服会发现服务端五花八门。MC 是社区驱动的游戏,各种服务端由不同团队开发维护。这一篇按时间线理清它们的来历和关系。

官服(Vanilla) ​

最早只有 Java 版。Mojang 每个版本发布时都会同时放出对应的 ServerJar,用它开的服务器叫官服。

官服启动后会在根目录生成 server.properties 配置文件。官服最大的问题是没有插件系统——想禁止玩家扔钻石?做不到(除非用命令方块,但能力有限)。

Bukkit ​

社区迫切需要"插件系统",Bukkit 因此出现。

Bukkit 启动后会额外生成 bukkit.yml 和 plugins/ 文件夹。它会用 Java 的 ClassLoader 把 plugins/ 里的 jar 加载进服务端,开发者用 Bukkit 官方 API 写插件扩展玩法。

插件系统的本质

Bukkit 的核心贡献就是插件系统:一套标准 API + 一个加载机制。后面的 Spigot、Paper 都建立在这套 API 之上,你写的插件理论上能跨这些服务端运行。

Spigot ​

SpigotMC 社区发布的 Spigot 服务端,最初是对 Bukkit 的优化和扩展。

后来 Bukkit 因直接使用 Mojang 代码被起诉、停止开发。但 Bukkit 生态热度极高、插件数量庞大,SpigotMC 社区逐渐接管了 Bukkit 的维护工作——也就是说今天说的"Bukkit API"实际由 SpigotMC 维护。

Spigot 的 jar 哪来的

SpigotMC 官网不直接提供成品 jar,网上流传的多是用 BuildTools 编译的成品。要合规获取需自己跑 BuildTools 编译。

其他服务端 ​

基于 Spigot 又衍生出许多服务端:

  • Paper:Spigot 的社区优化版,性能更强。跑 Paper 会发现目录下有 bukkit.yml、spigot.yml、paper.yml 三个配置——能看出它的"家族史"
  • CatServer / Mohist:Spigot + Forge 混合核心,既能装插件又能装 Mod(早期有 MCPC+/Cauldron,停在 1.7.10 不再更新)
  • Arclight / Uranium:同属混合核心

Sponge 不在本教程范围

Sponge 用的是完全不同的 API 体系,Bukkit 插件跑不了。本教程只覆盖 Bukkit/Spigot/Paper 系。

API 版本差异 ​

Bukkit API 因发展历程变动较多,本教程尽量提及关键差异。变动虽多但不剧烈,思路一致——只要清楚 API,在各版本都能找到对应用法。

小结 ​

服务端本质插件
VanillaMojang 官方❌ 无
Bukkit插件系统鼻祖✅(已停更,API 由 SpigotMC 接管)
SpigotBukkit 优化继承者✅
PaperSpigot 优化版✅
CatServer/MohistSpigot+Forge 混合✅(兼容 Mod)

服务端选型实操见开发环境搭建。下一篇:信息检索