优化Minecraft服务器:2025年完整指南以减少延迟并提升性能
运行一个能提供流畅、无延迟游戏体验的 Minecraft 服务器既是一门艺术,也是一门科学。无论您是为朋友托管一个小型生存世界,还是管理一个拥有数十名并发玩家的大型公共服务器,性能优化都是繁荣社区和令人沮丧的体验之间的区别。这份综合指南将带您了解 Minecraft 服务器优化的每一层——从硬件选择和 JVM 调整到插件管理和实时监控——这样您就可以在 2025 年充分利用您的托管环境。
为什么 Minecraft 服务器优化很重要
Minecraft 的 Java Edition 服务器以资源消耗大而闻名。该游戏运行在单线程 tick 循环上,这意味着即使拥有强大的多核 CPU,配置不当也会导致 tick 速率下降、区块加载延迟和实体延迟。随着玩家数量的增加或您的世界因 mod 和插件而变得更加复杂,这些问题会迅速加剧。
优化不是一次性任务——它是一个持续的调整、监控和迭代过程。好消息是,使用正确的服务器软件、硬件和配置,您可以用比默认设置少得多的延迟支持更多的玩家。
1. 选择正确的托管环境
在接触单个配置文件之前,您需要确保您的服务器运行在能够满足 Minecraft 需求的硬件上。在不足的共享资源上托管 Minecraft 是持久延迟最常见的原因之一。
CPU:时钟速度优于核心数
Minecraft 的主游戏循环是单线程的,这意味着原始时钟速度比核心数量更重要。运行在 4.5 GHz 的处理器将在大多数 Minecraft 工作负载中超越运行在 2.8 GHz 的 16 核服务器。选择托管计划时,优先考虑高单核性能。
RAM:慷慨分配,但不要过度分配
RAM 分配是 Minecraft 服务器管理中最容易被误解的方面之一。太少会导致持续的垃圾收集暂停;太多反而会增加 GC 暂停持续时间。使用这些指南作为起点:
| 玩家数量 | 推荐 RAM |
|---|---|
| 1–10 名玩家 | 2–4 GB |
| 10–30 名玩家 | 4–8 GB |
| 30–60 名玩家 | 8–12 GB |
| 60+ 名玩家 / 重型 mod | 12–16 GB+ |
请注意,这些数字假设服务器已经过合理优化。重度 modded Forge 或 Fabric 服务器在每个层级可能需要显著更多的 RAM。
存储:NVMe SSD 是必需的
Minecraft 不断地读取和写入区块数据到磁盘。在传统 HDD 上,这会造成严重的 I/O 瓶颈,特别是在世界探索期间或许多玩家同时活跃时。NVMe SSD 大大减少了区块加载时间并消除了大多数磁盘相关的延迟峰值。
对于认真的 Minecraft 托管,AlexHost 的 VPS 托管提供 NVMe SSD 存储、高频 CPU 和完整的 root 访问权限——让您完全控制您的服务器环境,而无需共享托管的开销。
如果您运行大型公共服务器或重度 modded 网络,请考虑升级到 专用服务器以获得保证的资源、最大单核性能和企业级 DDoS 保护,在攻击期间保持您的服务器在线。
2. 选择正确的服务器软件
Mojang 分发的标准 Minecraft 服务器 JAR 未针对性能进行优化。切换到社区开发的服务器实现是您可以进行的单个最高影响力的更改之一。
PaperMC(推荐)
PaperMC 是 Spigot 的一个分支,包含数百个性能补丁、异步区块加载和丰富的配置系统,为管理员提供对服务器行为的细粒度控制。它是 2025 年以性能为中心的部署中最广泛推荐的服务器软件。
主要优势:
- 异步区块加载和生成
- 可配置的实体激活范围
- 优化的红石和漏斗处理
- 每个世界的配置文件
- 积极的开发,频繁的性能更新
Spigot
Spigot 是 PaperMC 的前身,仍然是一个不错的选择,特别是对于依赖尚未与 Paper 兼容的插件的服务器。但是,对于大多数用例,PaperMC 是更好的选择。
Purpur
Purpur 是 PaperMC 的一个分支,添加了更多配置选项和实验性性能功能。它非常适合想要最大控制权并且对稍微不太稳定的代码库感到满意的管理员。
Fabric + Lithium + Phosphor(Modded 服务器)
对于运行 Fabric 的 modded 服务器,Lithium(通用优化 mod)、Phosphor(光照引擎优化)和 Starlight(光照引擎替代品)的组合提供了与 PaperMC 为类似 vanilla 服务器提供的性能改进相当的实质性性能改进。
3. JVM 启动标志和垃圾收集调整
您用来启动服务器的 Java 虚拟机设置对性能有巨大影响,特别是垃圾收集行为。默认的 JVM 设置未针对 Minecraft 的内存使用模式进行优化。
推荐的 JVM 标志(Aikar 的标志)
Minecraft 服务器最广泛采用的优化标志被称为”Aikar 的标志”,由 EmpireMinecraft 的首席开发人员开发。这些标志为 Minecraft 的特定堆使用模式调整 G1 垃圾收集器:
java -Xms8G -Xmx8G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20
-XX:G1HeapWastePercent=5
-XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15
-XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:SurvivorRatio=32
-XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1
-Dusing.aikars.flags=https://mcflags.emc.gs
-Daikars.new.flags=true
-jar server.jar nogui重要说明:
- 将
-Xms和-Xmx设置为相同的值以防止堆调整大小开销 - 不要将超过 75–80% 的总系统 RAM 分配给 JVM
- 如果分配超过 12 GB,请将
G1HeapRegionSize调整为16M
用于大堆的 ZGC(Java 17+)
对于运行 Java 17 或更高版本且具有非常大堆分配(16 GB+)的服务器,Z 垃圾收集器 (ZGC) 可以提供比 G1GC 更低的暂停时间。但是,它需要更仔细的调整,通常仅建议有经验的管理员使用。
4. 优化 server.properties
server.properties 文件控制基本服务器行为。这些是最有影响力的调整设置:
# Reduce view distance to decrease chunk rendering load
view-distance=6
# Reduce simulation distance (controls entity/redstone processing range)
simulation-distance=4
# Increase max tick time to prevent false watchdog crashes during load spikes
max-tick-time=60000
# Disable spawn protection if not needed (reduces overhead)
spawn-protection=0
# Limit network compression threshold
network-compression-threshold=256
# Enable prevent-proxy-connections if not using a proxy
prevent-proxy-connections=false视图距离 vs. 模拟距离:在现代 Minecraft 版本中,这些是单独的设置。view-distance 控制有多少区块被发送到客户端进行渲染,而 simulation-distance 控制有多少区块被主动处理(实体、红石等)。将 simulation-distance 减少到 4–6 对性能的影响远大于减少 view-distance。
5. PaperMC 配置优化
PaperMC 公开了几个配置文件,提供对性能关键系统的细粒度控制。
paper-global.yml(以前是 paper.yml)
chunk-loading:
autoconfig-send-distance: true
enable-frustum-priority: false
global-max-chunk-load-rate: 500
player-max-chunk-load-rate: 100
player-max-chunk-send-rate: 75
async-chunks:
threads: -1 # Auto-detect based on CPU cores
item-despawn-rate: 6000 # Items despawn after 5 minutes (default: 6000)
hopper:
cooldown-when-full: true
disable-move-event: false
ignore-occluding-blocks: truepaper-world-defaults.yml
entities:
spawning:
per-player-mob-spawns: true
behavior:
baby-zombie-movement-modifier: 0.5
environment:
max-chunk-generate-rate: 8
tick-rates:
mob-spawner: 2
container-update: 1
grass-spread: 4
alt-item-despawn-rate:
enabled: true
items:
COBBLESTONE: 300
NETHERRACK: 300
SAND: 300
GRAVEL: 300Spigot.yml
world-settings:
default:
entity-activation-range:
animals: 16
monsters: 24
raiders: 48
misc: 8
water: 8
villagers: 16
flying-monsters: 32
entity-tracking-range:
players: 48
animals: 48
monsters: 48
misc: 32
other: 64
merge-radius:
item: 2.5
exp: 3.0
mob-spawn-range: 6
tick-inactive-villagers: false
nerf-spawner-mobs: true6. 实体和世界管理
实体是服务器延迟的主要原因之一。有效地管理它们对于维持健康的 TPS(每秒 tick 数)速率至关重要。
生物上限和生成限制
在 bukkit.yml 中减少全局生物上限以防止实体数量失控:
spawn-limits:
monsters: 50 # Default: 70
animals: 8 # Default: 10
water-animals: 3 # Default: 5
water-ambient: 10 # Default: 20
ambient: 1 # Default: 15村民优化
由于村民的寻路和交易 AI,村民在 CPU 周期方面特别昂贵。如果您的服务器有大型村庄或玩家建造的交易大厅,请考虑:
- 在 spigot.yml 中设置
tick-inactive-villagers: false - 使用 VillagerOptimiser 插件来降低村民 AI 处理频率
- 通过服务器规则或插件限制每个区域的村民数量
红石优化
复杂的红石装置可能会导致显著的 TPS 下降。PaperMC 包括替代红石算法:
# In paper-world-defaults.yml
redstone-implementation: ALTERNATE_CURRENTALTERNATE_CURRENT 实现对于复杂电路的效率远高于 vanilla 红石。
7. 性能增强插件
正确的插件可以显著减少服务器负载。错误的插件可能会破坏性能。以下是最有影响力的选项:
必要的性能插件
Spark
Minecraft 服务器分析的黄金标准。Spark 提供详细的 CPU 分析、内存分析和 TPS 监控。它对于诊断性能问题至关重要,应该安装在每个服务器上。
/spark profiler start
/spark profiler stop
/spark healthClearLag
按可配置的计划自动删除过多的实体(掉落的物品、抛射物等)。特别适用于生成大量物品掉落的活跃玩家的服务器。
FarmControl
限制生物农场的大小和密度,这是生存服务器上与实体相关的延迟的常见来源。
Chunky
在您的生成点或关键位置周围的可配置半径内预生成区块。预生成消除了在游戏过程中按需生成区块的性能成本,这是 Minecraft 服务器执行的最 CPU 密集的操作之一。
/chunky start
/chunky radius 5000
/chunky world world_nameLuckPerms
可用的最高性能权限插件。如果您使用的是 PermissionsEx 或 GroupManager 等较旧的权限系统,迁移到 LuckPerms 将减少开销。
要避免或谨慎使用的插件
- WorldEdit 具有大型选择:在实时服务器上执行大规模 WorldEdit 操作可能会冻结它几秒钟。使用 WorldEdit 的异步模式或在非高峰时段执行大型操作。
- Dynmap:实时地图渲染的 CPU 密集程度极高。将其配置为仅在低流量期间渲染。
- 反作弊插件:某些反作弊解决方案具有显著的性能开销。仔细测试并选择轻量级选项,如 Grim,而不是更重的替代品。
8. 网络和 DDoS 保护
技术上优化良好的 Minecraft 服务器仍然可能因网络级问题导致的连接问题而受到影响。针对游戏服务器的 DDoS 攻击很常见,特别是对于公共服务器。
使用内置 DDoS 保护托管您的服务器消除了对昂贵的第三方缓解服务的需求。AlexHost 的 VPS 托管和 专用服务器包括标准的 DDoS 保护,即使在容量攻击期间也能保持您的服务器在线和响应。
BungeeCord / Velocity 代理
如果您运行多个 Minecraft 服务器的网络,代理层(BungeeCord 或更现代、更高性能的 Velocity)将玩家连接分布在后端服务器上,防止任何单个实例被淹没。Velocity 特别提供了比 BungeeCord 显著更好的性能和安全性。
9. 定期维护计划
优化不是一次性设置过程。建立定期维护例程可以使您的服务器随时间保持最佳性能。
自动重启
内存碎片和插件状态累积会导致随时间的性能逐步下降。计划重启会清除这些问题。使用 cron 作业或您的服务器管理面板在低流量期间配置自动重启:
# Cron job for daily 4 AM restart
0 4 * * * /path/to/restart-minecraft.sh使用在关闭前发送游戏内警告的重启脚本:
#!/bin/bash
screen -S minecraft -X stuff "say Server restarting in 5 minutes for maintenance.n"
sleep 240
screen -S minecraft -X stuff "say Server restarting in 1 minute.n"
sleep 60
screen -S minecraft -X stuff "stopn"
sleep 15
# Start server
screen -S minecraft -X stuff "java -Xms8G -Xmx8G [flags] -jar server.jar noguin"世界维护
- 修剪未使用的区块:使用 Chunky 或 MCA Selector 等工具删除数月未被访问的区块,减少世界大小和备份时间。
- 定期备份:使用 DriveBackupV2 等工具进行增量备份以维持滚动备份,而无需过度的磁盘使用。
- 清除旧日志:服务器日志可能会随时间积累到 GB。实施日志轮换以防止磁盘空间问题。
保持软件更新
过时的服务器软件、插件和 JVM 本身是性能回归和安全漏洞的常见来源。建立审查和应用更新的流程:
- 在应用到生产环境之前在暂存服务器上测试更新
- 查看更新日志以了解性能相关的更改
- 在更新后监控 TPS 和内存使用情况以尽早发现回归
10. 监控服务器性能
您无法优化无法测量的东西。全面的监控是有效性能管理的基础。
游戏内监控命令
TPS 检查(PaperMC):
/tps健康的服务器维持 20 TPS。低于 18 的值表示需要调查的性能问题。
内存使用情况:
/memorySpark 分析:
/spark profiler start --timeout 60分析器运行后,Spark 生成一个可共享的报告 URL,显示哪些操作消耗的 CPU 时间最多。
系统级监控
为了更深入地了解服务器性能,请使用系统监控工具:
htop / top:每个进程的实时 CPU 和内存使用情况
iostat:磁盘 I/O 统计——有助于识别存储瓶颈
iostat -x 1 10vmstat:虚拟内存统计——帮助识别内存压力
vmstat 1 10Netdata 或 Prometheus + Grafana:对于生产服务器,具有历史数据和警报的完整监控堆栈提供了对性能趋势随时间变化的宝贵见解。
要跟踪的关键指标
| 指标 | 健康范围 | 操作阈值 |
|---|---|---|
| TPS | 19.5–20.0 | 低于 18.0 |
| CPU 使用率 | 低于 70% | 高于 85% |
| RAM 使用率 | 低于分配的 80% | 高于 90% |
| 磁盘 I/O 等待 | 低于 5% | 高于 15% |
| GC 暂停时间 | 低于 100ms | 高于 500ms |
11. 高级优化技术
使用 Chunky 预生成的异步世界生成
在游戏过程中运行区块生成是 Minecraft 服务器执行的最昂贵的操作之一。在玩家探索之前预生成您的世界完全消除了这个成本:
/chunky world world
/chunky radius 10000
/chunky start这生成了生成点周围 10,000 块半径内的所有区块。对于生存服务器,这涵盖了玩家将现实地探索的绝大多数区域,并消除了服务器生命周期内按需生成的延迟。
大型服务器的数据库优化
使用 MySQL 或 MariaDB 后端进行玩家数据、经济插件或其他系统的大型服务器应确保其数据库得到适当优化:
- 使用连接池(HikariCP 是 Minecraft 插件的标准)
- 为经常查询的列编制索引
- 定期在高写入表上运行
OPTIMIZE TABLE - 对于非常大的部署,考虑使用专用数据库服务器
代理级优化
对于多服务器网络,使用以下方式配置 Velocity 或 BungeeCord:
- HAProxy 在您的代理前面进行负载平衡和额外的 DDoS 缓解
- TCPShield 或类似服务进行网络级保护
- 适当的防火墙规则以确保玩家只能通过代理连接,而不能直接连接到后端服务器
为您的 Minecraft 服务器选择正确的 AlexHost 计划
选择适当的托管层级与任何配置优化一样重要。以下是实用指南:
小型服务器(1–20 名玩家,vanilla 或轻度 modded):
AlexHost 的 VPS 托管提供了性能和成本的理想平衡。凭借 NVMe SSD 存储、专用 CPU 核心和完整的 root 访问权限,您拥有实现本指南中每项优化所需的一切。
中型服务器(20–60 名玩家、插件或中等 mod):
具有 8–16 GB RAM 和 4+ CPU 核心的更高层级 VPS 可以轻松处理此工作负载。AlexHost VPS 计划上的完整 root 访问权限让您调整 JVM 标志、安装自定义软件并在操作系统级别配置系统。
大型公共服务器或 modded 网络(60+ 名玩家、重型 mod、多个游戏模式):
专用服务器提供保证的资源、最大单核性能和满足要求工作负载所需的余量。凭借无资源共享和企业级
