开了十二年服,我总结的 Paper 服务器调优清单
490 字
2 分钟
开了十二年服,我总结的 Paper 服务器调优清单

服务器卡,十有八九不是机器不行,而是配置没有调。下面是我这些年踩坑后沉淀出的清单。
1. JVM 参数
内存别给满,留出系统和堆外空间。常用的 G1 参数如下(以 8GB 堆为例):
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 \ -jar paper.jar --nogui-Xms 与 -Xmx 设置成一样,避免堆扩缩带来的抖动。
2. 视距与模拟距离
这是收益最大的一项。在 server.properties 与 paper-world-defaults.yml 里:
view-distance:保持 8 左右。simulation-distance:降到 4~6,实体和红石只在近处运行。
玩家几乎感觉不到,但 CPU 压力会明显下降。
3. 实体管理
- 限制每个区块的怪物上限与刷怪频率。
- 定期清理掉落物,但要给玩家提前提示。
- 大型农场(村民交易所、刷怪塔)要单独评估,村民的寻路 AI 是出了名的重。
4. 区块与世界
- 使用
/chunky提前预生成地图,避免玩家探索时实时生成造成卡顿。 - 设置世界边界,别让地图无限膨胀。
- 定期备份,并且定期验证备份可恢复。没验证过的备份只是一种心理安慰。
5. 用数据说话
不要凭感觉调参数。Paper 自带的 /spark profiler 是我的首选:
/spark profiler start# 等待 5~10 分钟,覆盖高峰期/spark profiler stop看火焰图,找到占用 tick 时间最多的插件或实体,再对症下药。
6. 插件管理
- 插件够用就好,每个插件都是潜在的性能与安全风险。
- 更新前先在测试服验证。
- 看到不再维护的插件,尽早找替代品。
小结
调优的本质是:测量、定位、改一处、再测量。十二年下来最大的体会是,稳定比花哨更重要。玩家记得的是流畅的体验,而不是你装了多少插件。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
开了十二年服,我总结的 Paper 服务器调优清单
https://www.s9mc.cn/posts/paper-server-tuning/相关文章智能推荐
1
Spring Boot 优雅停机:发布时不再丢请求
Java讲清楚 Spring Boot 的优雅停机机制,以及在 Kubernetes 与负载均衡下如何配合,做到发布零报错。
2
Java 虚拟线程实战:用同步写法扛住十万并发
Java虚拟线程让「一请求一线程」重新变得可行。本文从原理、用法到踩坑,讲清楚它在后端服务里该怎么用。
3
和 AI 结对编程:我的日常工作流
AI不是让 AI 替你写代码,而是让它成为你的搭档。分享我在日常开发中使用 AI 工具的几条原则与技巧。
4
MySQL 索引与执行计划:从 EXPLAIN 看懂慢查询
Java学会读 EXPLAIN,理解最左前缀、覆盖索引与索引失效场景,让慢查询无处遁形。
5
Redis 分布式锁:从 SETNX 到 Redisson 的坑
Java一把分布式锁要考虑的事情远比想象中多:原子性、过期时间、误删、续期。本文逐个拆解。
随机文章随机推荐









