Minecraft服务器TPS低,绝大多数情况不是机器性能不够,而是实体堆积、区块加载和插件配置这三处出了问题先跑一次Spark或Timings拿到性能画像,再对症下药,比盲目升级配置有效得多。
服务器突然从流畅变成“PPT”,玩家走路回弹、方块挖了不掉、怪物原地抽搐,这些都是TPS掉下来的典型症状,下面按“先诊断、再治标、后治本”的顺序拆开讲,中间会给出可以直接复制执行的命令和配置路径,照着做基本能把TPS拉回19以上。
先弄明白TPS在测什么
我的世界服务器tps多少算正常
TPS全称Ticks Per Second,服务端每秒执行20次游戏逻辑循环,20是理想值,19.5以上玩家基本无感,18左右开始出现轻微延迟,掉到15以下就是明显卡顿,10以下基本没法正常游玩。
TPS和MSPT(每tick耗时)是一对倒数关系,业内常用MSPT不超过50毫秒作为健康线,因为1000毫秒除以20tick正好是50,想知道当前数值,Paper和Spigot系服务端直接输入/tps,Forge系用/forge tps,装了Spark的话/spark tps能看到更细的1分钟、5分钟、15分钟曲线。
| TPS区间 | 单tick耗时 | 玩家实际感受 |
|---|---|---|
| 5-20 | 50ms以内 | 完全流畅,红石和刷怪塔正常 |
| 18-19.5 | 51-55ms | 偶有回弹,生物寻路略迟钝 |
| 15-18 | 55-66ms | 挖方块延迟、掉落物拾取慢 |
| 10-15 | 66-100ms | 明显卡顿,战斗判定失准 |
| 10以下 | 100ms以上 | 几乎不可玩,区块加载停滞 |
看TPS有个坑:刚重启的服务器前几分钟数据是“假健康”,因为区块还没加载、实体还没堆积,至少观察15分钟以上的曲线,并且要在玩家在线高峰时段看。
我的世界服务器tps很低怎么办:按这个顺序排查
先别急着改配置,按下面的顺序走一遍,能省掉大量试错时间。
- 抓性能快照:
/spark profiler start --timeout 30,30秒后自动生成链接;或者/timings on跑十分钟再/timings paste,看报告里占用最高的几项,通常集中在entity ticking、block ticking、chunk load、plugin task四类。 - 看实体总量:装Spark后用
/spark entities查看全服实体分布,掉落物、经验球、盔甲架、村民、动物往往是重灾区。 - 看区块加载数:
/spark health或服务端控制台的chunk统计,常驻加载区块过多会持续吃CPU。 - 看单插件耗时:Timings报告里plugin task一栏会列出每个插件的耗时占比,找出那个“一个人吃掉一半”的家伙。
诊断结论一般就三种:单点异常(某个农场或刷怪塔)、插件配置失误、硬件瓶颈,前两种占大头。
治标:三处最常见的性能黑洞
实体堆积与刷怪失控
玩家挂机农场、掉落物不消失、村民交易所堆几百个村民,这些都会让实体tick开销线性上涨。
- 清理掉落物:
/kill @e[type=item],执行前务必确认没有玩家正在整理物品,建议配合ClearLag类插件做定时清理并提前公告。 - 限制刷怪:在
paper-world-defaults.yml里调低mob-spawn-range,把entity-per-chunk-save-limit按实体类型设上限,比如experience_orb: 16、item: 32。 - 收窄实体激活范围:Paper的
entity-activation-range可以按动物、怪物、怪物(水下)、村民分类设置,挂机农场里的动物只要不在玩家附近就不参与tick。 - 关掉不必要的自然生成:
/gamerule doMobSpawning false适合活动服和建筑服,生存服慎用。
区块加载与视距设置
玩家跑图、传送门网络、大量加载器(Chunk Loader)都会让服务端同时维护成百上千个区块,每个在线玩家默认会加载一个以自己为中心的区块方格,视距开得越大,CPU和内存压力越高。
具体做法:
server.properties里把view-distance调到6到8,simulation-distance调到4到6,视距主要影响客户端渲染距离,模拟距离才决定实体和方块事件是否运行,很多服主把这两个都拉到12,性能自然崩。- 用Chunky插件预生成地图:
/chunky radius 1000然后/chunky start,预生成完再开放玩家跑图,能避免“边跑边生成”带来的瞬时卡顿。 - 清理无人的加载器,检查是否有插件或红石机器在强制加载远端区块。
我的世界服务器优化tps插件推荐
服务端底座选对,优化就成功了一半,目前社区共识是Paper及其衍生端(Purpur、Leaf等)在保持原版兼容的前提下做了大量tick优化,比原版服务端高出可观的处理效率。
插件层面值得装的几类:
- Spark:性能分析必备,定位瓶颈全靠它。
- Chunky:区块预生成。
- ClearLag或LagAssist:定时清理掉落物和实体,注意配置清理白名单,别把玩家养的宠物和命名生物清了。
- FarmLimiter类:限制单个区块内的实体或刷怪笼数量。
- Anti-Xray与实体剔除类:间接降低发包和计算压力。
装插件有个原则:功能重叠的只留一个,三个清理插件同时跑,本身就是负担。
我的世界服务器tps低和内存不足有关系吗
这是服主群里问得最多的问题之一,答案是:有关系,但关系没你想的那么大。
内存、GC与TPS的真实关系
内存不足的典型表现不是TPS持续低迷,而是周期性卡顿每隔几十秒或几分钟卡一下,同时控制台刷出GC(垃圾回收)日志,原因是堆内存吃紧后,JVM频繁触发Full GC,整个世界暂停等回收完成。
判断方法看现象组合:
| 现象组合 | 大概率原因 | 处理方向 |
|---|---|---|
| TPS低且CPU单核跑满 | 实体或区块计算过重 | 优化实体、视距、插件 |
| TPS周期性抖动,日志有GC | 内存不足或参数不当 | 加内存、换GC参数 |
| TPS低且磁盘IO高 | 存档写入频繁、机械盘 | 换SSD、减少自动保存频率 |
| 玩家多时掉,人少恢复 | 带宽或CPU核数不足 | 升级配置或分服 |
堆内存不是越大越好,给一个几十人的生存服分配16G以上的堆,反而会因为GC扫描范围变大而增加停顿,业内专家指出,堆大小应结合实际常驻区块和实体量设定,并配合Aikar推荐的那套G1GC启动参数(-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200等),这套参数在社区里已经用了多年,属于公开的成熟方案。
另外记得给操作系统留出余量,物理内存不要全部分给Java,留2G左右给系统和缓存。
我的世界服务器tps不稳定?先看机房和线路
有时候配置调得再细,TPS还是忽高忽低,问题可能根本不在服务端。
国内服务器租用价格和tps稳定有多大关系
“便宜机器也能跑”这句话只对小型好友服成立,玩家数上来之后,单核性能比核心总数更关键Minecraft主线程基本是单核吃满,一台36核但单核孱弱的机器,表现往往不如8核高频机器。
租用时重点看三件事:
- CPU单核主频:优先选高主频型号,主频高低直接决定单tick能算多少东西。
- 磁盘类型:必须NVMe或SSD,机械盘在高频存档写入时会拖垮整个tick循环。
- 线路与地域:华东、华北BGP多线机房对国内玩家延迟更友好,跨运营商绕路会导致丢包,玩家看到的“卡”有时是网络问题而非TPS问题。
价格方面,能稳定跑20人左右模组生存的独立机器,月付通常在中几百到千元区间,具体取决于CPU型号和带宽;低于这个区间还想跑大型模组包,基本要靠极致优化或者牺牲玩家体验,别只看“几核几G”的宣传页,问清楚CPU具体型号再下单。
收尾:优化完记得验证
改完配置重启后,让服务器在玩家高峰时段跑上半小时,用/spark tps看曲线是否稳定在19以上,再对照Timings报告确认之前的高占用项是否降下来。TPS优化是个“测量修改复测”的循环,不是一次性调参。
关于我的世界服务器TPS的常见问题
Q:TPS和延迟(ping)是一回事吗?
不是,TPS衡量服务端每秒逻辑循环次数,ping衡量客户端到服务器的网络往返时间,TPS低表现为方块和生物反应迟钝,ping高表现为操作延迟、位置回弹,两者可能同时出问题,要分开排查。
Q:重启服务器能临时恢复TPS吗?
能,但只是把实体和内存状态清零,属于治标,如果重启后几小时内又掉下去,说明有持续产生压力的源头,比如无人清理的掉落物农场、泄漏的区块加载器或者配置不当的插件,必须用Spark定位。
Q:多少玩家需要独立服务器而不是面板服?
面板服通常有CPU和内存的硬性配额,且多实例共享宿主资源,当年在线稳定超过15到20人、或运行中大型模组包时,共享宿主的资源争抢会直接反映为TPS波动,此时迁移到独立机器是更稳妥的选择,迁移前建议先用Spark确认瓶颈确实在硬件而非配置。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/783265.html


![[中配]我的世界服务器优化技巧:修复卡顿并提高TPS - CygnusMC](https://i0.hdslb.com/bfs/archive/dc6c83526e94d5dfc8f41b6ce3de0acb33083305.jpg)