Vanilla 版 Minecraft 服务器(Mojang 官方 server jar)适合几个朋友一起玩,但当玩家数量增长,或你想要职级、家园、防破坏保护等自定义功能时,它的局限很快就会显现:既有性能问题(TPS 下降、区块加载卡顿),Vanilla 本身也完全不支持插件。本文将说明为什么 Paper 和 Spigot 是热门选择、各类服务器软件分支之间的关系,以及如何一步步从 Vanilla 迁移到 Paper,并配合调优让服务器运行更流畅。
为什么要放弃 Vanilla
Vanilla 服务器完全按 Mojang 的设计运行,但没有插件系统(Bukkit API),也未针对大量玩家做优化。随着世界变大、实体(动物、物品、怪物)不断累积,每个 tick 的处理会越来越重,导致 TPS(每秒 tick 数,理想为 20)下降,造成整个服务器卡顿。
- 不支持用于职级、权限和区域保护的插件
- 没有深入的性能调优工具
- 没有防卡顿功能或异步区块加载
- 难以应对破坏行为(griefing),因为没有历史记录/回滚工具
服务器软件的演进:从 Vanilla 到 Purpur
支持插件的 Minecraft 服务器软件是层层递进的分支,每个分支都在前者基础上构建。理解这一脉络有助于正确选择。
- Vanilla——Mojang 官方 server jar,是一切的基础。
- CraftBukkit——加入 Bukkit API,首次实现插件支持。
- Spigot——基于 CraftBukkit,优化性能并新增
spigot.yml用于设置实体和视野距离。 - Paper——Spigot 的分支,优化力度最大;可运行所有 Bukkit/Spigot 插件,加入异步区块加载和精细的配置文件。
- Purpur / Pufferfish——Paper 的再分支,提供额外的玩法与性能选项(Pufferfish 偏重纯性能,Purpur 偏重灵活性)。
Paper 是当今 Minecraft 服务器事实上的标准。它的 TPS 明显优于 Vanilla/Spigot,可运行所有现有插件,并附带 paper-global.yml 和 paper-world-defaults.yml 用于深度防卡顿调优。建议先从 Paper 起步,仅在需要额外功能时再考虑 Purpur。
Vanilla / Spigot / Paper / Purpur 对比
| 特性 | Vanilla | Spigot | Paper | Purpur |
|---|---|---|---|---|
| 插件支持(Bukkit) | 否 | 是 | 是 | 是 |
| TPS 性能 | 基础 | 较好 | 很好 | 很好 |
| 异步区块加载 | 否 | 否 | 是 | 是 |
| 防卡顿配置文件 | 无 | spigot.yml | paper-global/world.yml | + purpur.yml |
| 玩法自定义 | 低 | 低 | 中 | 高 |
| 旧世界兼容性 | — | 高 | 高 | 高 |
务必先备份
尽管 Paper 能很好地保留 Vanilla 世界的兼容性,但更换服务器软件前都应先备份。需要备份的内容:
- 所有世界文件夹:
world、world_nether、world_the_end server.properties文件- 白名单/管理员文件:
whitelist.json、ops.json、banned-players.json
警告:备份前务必彻底关闭服务器。切勿在服务器运行时复制世界文件夹,因为 region 文件可能正在写入,导致世界损坏。
从 Vanilla 迁移到 Paper 的步骤
- 在控制台用
stop命令干净地关闭 Vanilla 服务器。 - 按上文备份世界和配置文件。
- 从 PaperMC 下载页或通过 API 下载与你当前 Minecraft 版本完全匹配的 Paper jar。
- 把 jar 放入服务器文件夹,并修改启动命令指向新的文件名。
- 首次运行,让 Paper 生成配置文件(
paper-global.yml、paper-world-defaults.yml、bukkit.yml、spigot.yml)。 - 确认玩家能进入且世界正确加载后,再开始安装插件。
下面是通过 API 获取 1.21.4 版本最新 Paper build 的方法(按需调整版本/build 号):
# 从 PaperMC API 获取最新 build 并下载 jar
VERSION="1.21.4"
BUILD=$(curl -s https://api.papermc.io/v2/projects/paper/versions/$VERSION/builds \
| jq -r '.builds[-1].build')
curl -o paper-$VERSION.jar \
"https://api.papermc.io/v2/projects/paper/versions/$VERSION/builds/$BUILD/downloads/paper-$VERSION-$BUILD.jar"
然后让启动脚本指向新的 jar:
#!/bin/bash
# start.sh —— 从 server.jar(Vanilla)切换到 paper-1.21.4.jar
java -Xms2G -Xmx4G -jar paper-1.21.4.jar nogui
安装热门插件
插件是放入 plugins/ 文件夹的 .jar 文件,然后重启(或使用某些插件的重载命令)即可加载。覆盖基本需求的热门组合:
- EssentialsX——核心命令、家园(home)、传送点(warp)、经济系统
- LuckPerms——精细的职级与权限管理
- WorldEdit——一次性编辑大量方块,方便建造
- CoreProtect——记录并可查看/回滚操作,非常适合处理破坏行为
- Vault——让其他插件共享经济与权限系统的桥梁
重要:插件版本必须始终与服务器的 Minecraft 版本匹配。请在插件的 SpigotMC/Modrinth 页面确认它支持你所用的版本。过旧的插件可能在启动时使服务器崩溃。
调优性能让游戏更流畅
迁移到 Paper 后,仅调整几个数值就能显著提升 TPS,尤其是玩家多或 RAM 有限的服务器。
view-distance 与 simulation-distance
在 server.properties 中,view-distance 控制发送给玩家可见的区块范围,而 simulation-distance 控制服务器实际处理的范围。降低 simulation-distance(例如从 10 降到 6)通常能明显提升 TPS,而玩家几乎察觉不到。
在 spigot.yml 中设置实体
调整物品/经验的 merge-radius,并限制每个区块的怪物数量(mob-spawn-range、entity-activation-range),以减轻实体处理负担。
在 paper-world-defaults.yml 中防卡顿
Paper 提供诸如 tile entity 的 tick 频率限制、实体碰撞和区块加载等选项,可在世界变大时减少卡顿。请逐项调整,并用 /tps 命令观察 TPS。
在 VPS 或家用机器上运行
Paper 服务器需要 Java(视 Minecraft 版本建议 Java 17 或更新)以及足够的 RAM。在 VPS 上运行可让服务器全天在线,无需一直开着家里的电脑。AsiaGB 提供起价 500 泰铢/月的 Linux VPS,采用 SSD、保证 99% 正常运行时间,通过 DirectAdmin 管理,适合自行安装 Paper 并开放服务器端口。请选择 RAM 与预期玩家数相匹配的套餐。
总结
从 Vanilla 迁移到 Paper(或按需选择 Spigot/Purpur)是让 Minecraft 服务器获得插件支持、更好 TPS 和深度调优的关键一步。核心步骤是:关闭服务器、备份世界、下载与版本匹配的 Paper jar、修改启动命令,然后在 plugins/ 文件夹中安装插件,同时注意版本兼容性。为安全起见,请务必先备份。
常见问题 (FAQ)
从 Vanilla 切换到 Paper 后我原有的世界还能用吗
可以,Paper 保留了 Vanilla 世界的兼容性,但每次切换前都应备份世界文件夹和配置文件以确保安全。
Paper 和 Spigot 有什么区别
Paper 是 Spigot 的分支,做了额外优化,可运行所有现有插件,TPS 更好,加入异步区块加载,并提供更详细的防卡顿配置文件。
Bukkit 和 Spigot 插件能直接在 Paper 上运行吗
可以,Paper 完整支持 Bukkit 和 Spigot API,但你必须选择与服务器 Minecraft 版本匹配的插件版本以避免崩溃。
view-distance 设为多少才流畅
建议从 view-distance 8-10 起步,并将 simulation-distance 降到 6-8,这能大幅提升 TPS 而玩家几乎察觉不到差异;调整后用 /tps 命令观察。
准备好开设您的 Minecraft 服务器了吗?
AsiaGB Linux VPS(SSD、DirectAdmin、99% 在线率)每月 500 泰铢起,泰国与新加坡数据中心低延迟,适合任何规模的 Minecraft 服务器。
查看 VPS 套餐