Java版优化指南

警告:

优化可能会引发诸多问题,例如影响红石机械运行、破坏原有玩法等。请您在备份之后进行优化

前言

您选择的服务器软件可能在性能和 API 功能方面存在巨大差异。当前有多种可行的流行服务器 JAR,但也有一些由于各种原因您应该远离。如Paper服务端破坏了大量原版特性,不过你可以使用Purpur服务端来解决问题。当然啦,如果您使用的是Mod服务端。如果您使用的是 Mod 服务端,其性能通常会比插件服务端略逊一筹。

如果您仍然不知道如何选择,可以参考以下这张图

转载至《我的世界服务器搭建指南》

您应该优先选择较高版本服务器,而不是1.7.10, 1.8.8, 1.12.2这些扁平化之前版本,因为大部分服务端团队只会更新最新的几个版本

Spigot 和 Paper 提供的设置能够显著提升性能。本文将介绍如何通过优化服务端设置来减少卡顿、提升人数上限和提高 TPS。对于模组服务器,建议选择 Fabric 等优化模组服务端,或安装优化模组来解决卡顿问题。此外,调整 server.properties 文件也是一种有效的优化方式

在当前主流服务端中,Purpur 的综合性能优于 Leaves 服务端,但不具备假人功能(不过leaves服务端的原版还原性优于purpur服务端,非常适合用于生电)

注意:卡顿不仅仅表现为玩家在群里或服务器中反馈卡顿,还需要从多方面分析原因,否则优化效果会大打折扣
如果你想了解更多关于MC卡顿的原理,建议看到上面的🎮高级 | java版服务器概念一览

目录:

  • bukkit.yml文件优化选项
  • spigot.yml文件优化选项
  • paper.yml文件优化选项
  • server.properties文件优化选项
  • 优化插件/mod推荐
  • 使用mod/插件判断卡顿原因
  • 使用优化参数解决卡顿原因
  • 优化插件/mod推荐

    bukkit.yml文件优化选项(插件服)

bukkit.yml一般在插件服务端生成,可千万不要找错了哦~

找到bukkit.yml文件

点击它打开文件编辑

这其中,有几个设置可以进行调整以达到优化的目的,请选择合适的设置进行调整



这一块是用来调整刷怪的,简单来说,就是每个玩家加载区块生成的怪物多少
默认值: monsters:70, animals:10, water-animals:15, water-ambient:20, ambient:15
推荐值:monsters:50, animals:8, water-animals:7, water-ambient:10, ambient:1

性能影响:重


这一行的作用是用来调整每个区块的卸载时间,如果能更好的,有效地卸载空块,在一定程度上会影响TPS,搭配优化模组/插件chunky有奇效
默认值: 600
推荐值: 400
性能影响: 中


限制小怪的公式是[playercount] * [limit],其中“玩家数”是服务器上的当前玩家数量。从逻辑上讲,数字越小,你看到的小怪就越少。per-player-mob-spawn对此施加了额外的限制,确保怪物在玩家之间平均分配
额,巴拉巴拉一大堆,反正就是在玩家视野范围内调整刷怪的
默认值: Monster:1,water:1,water-ambient:1,ambient:1
推荐值:monster:5,water:11,water-ambient:21,ambient:31
性能影响:视情况而定

小贴士:如果您的服务器有成员需要建设刷怪塔,如果不是万不得已,请不要修改此参数。如果刷怪效率略小,可以将此参数调至推荐值

spigot.yml文件优化选项(插件服)

找到spigot.yml文件

点击它打开文件编辑,在这之中,有几个设置可以进行调整以达到优化的目的,请选择合适的设置进行调整



这一行默认为false,如果设为true,则刷怪笼生成的怪物将没有ai(也就是彻底傻掉)
这对于使用很多很多刷怪笼来打造刷怪农场很有效,但一般没人会这样….
性能影响:中

paper.yml文件优化选项(插件服)

需要注意的是,paper.yml文件在高版本被划分为两个文件

这里的优化选项在paper-world-default文件里面


这一行默认为false,如果设为true,猫在箱子上无法打开箱子的特性就会被取消,对于性能的影响视情况而定


设置为true将不会让玩家进入未加载的区块(也就是加载滞后的区块)副作用也是明显的,如果你服务器真的卡到无药可救了,这样设置会更加加重,甚至会导致玩家被卡退
性能影响:中

server.properties文件优化选项(插件服/mod服)

打开server.properties文件

点击它打开文件编辑,在这之中,有几个设置可以进行调整以达到优化的目的,请选择合适的设置进行调整


模拟距离是服务器将在玩家周围互动的距离。本质上是与玩家发生事情的距离。这包括熔炉冶炼、农作物和树苗生长等
也就是说,调的越高越好,但同时性能损耗也跟着明显
推荐值: 4-8
性能影响: 视情况而定,建议与下文的渲染距离相等

这是整个教程里最大头的文件,对于性能的影响对比其他设置是最高的因为它限制了块渲染距离。开放世界服务器(如生存)应该努力使用 6+,但如果块生成导致延迟,共享主机、低规格或大量玩家数量的其他服务器可能会考虑 4-5
默认值: 10(大部分服务器)
推荐值: 4-8
性能影响: 十分重

使用mod/插件判断卡顿原因

spark插件/modhttps://spark.lucko.me/download#
下载完毕后,放进mod/插件文件夹,重启服务器
首先,你可以开启/spark profiler start开启性能分析
之后,请在控制台(或op)输入/spark profiler open(控制台需要撤掉斜杠)即可查看检测效果
稍作等待之后,我们点击给出的网址,就可以加以佐证卡顿的原因啦

使用优化参数解决卡顿问题

关于内存泄露

内存泄露是什么?简单来说,它是指如果服务器啥事没干但却有着大量内存且十分卡的情况下,内存爆满,比如说我刚开服内存4.3g而平时却是2.2g,这显然不符合常理,因此可以初步推断是内存泄露,关于内存泄露的优化解决方案十分简单,可以输入这一条

-XX:+UseG1GC -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -Dfml.ignoreInvalidMinecraftCertificates=True -Dfml.ignorePatchDiscrepancies=True

开启修复内存泄露,亦或者

点击荧光色的部分就可以了
(!)此办法高度有效

关于多线程

多线程是什么?简单来说,就是同时处理的事情,这个概念比较抽象,打个比方,小明在A地打螺丝,小刚在B地打螺丝,小芳在C地打螺丝,这么几个人如果同时打螺丝,那么就是多线程而同时处理这些螺丝,就是多线程处理
了解了这些,我们再看优化参数
-XX:ParallelGCThreads=4设置并行垃圾收集线程数
-XX:+UseDynamicNumberOfGCThreads 参数允许根据服务器的负载和可用的处理器核心动态调整垃圾收集线程的数量

未使用跑图

使用后跑图

为什么要选择跑图来测试?因为跑图本身就是一种多线程处理方式,是我的世界为数不多的世界生存多线程了,因此如图可以看出,使用了此参数增加了53.08%的CPU利用率
tips:尽管在实际没有差别,但具体还是要看人数及刷新区块决定

并非所有优化参数都有效。优化参数的效果取决于服务器的具体情况。如果某项优化参数对服务器没有帮助,请及时停用(尤其是内存回收相关参数)。在某些情况下,优化参数不仅无法提升性能,反而会加重负担,请根据实际情况谨慎使用**

如果你希望实现明显的多线程效果,建议使用支持多线程的服务端(如 Folia 等分支)。仅靠优化参数来实现显著的多线程优化,就好比指望在上课时间睡觉来补觉一样不切实际

最后,海绵科创的我的世界服务器尚未收录多线程优化参数(那我讲了有什么用…),请联系管理人员进行添加*

优化插件/mod推荐

除了这些设置之外,您也可以安装优化mod/插件来解决卡顿问题
以下是一些常用的优化插件:

  • Chunky 非常好用的预加载插件/mod,让跑图不在卡顿(除非你有恐怖的硬盘容量和至少4核的CPU,否则装了也只能实现50%的功能,不过这也够用了,真的)
  • Lagfixer 总体来说,这个插件对于原版差别不大,提供了8个优化选项,其中有2个是破坏原版玩法的,其他的大体还行,不过没有中文,得自己汉化总体质量不错,优化比较有效果,但从单个优化来看确实和原版差别不大,建议多个一起使用(不要开里面的扫地装置,否则你将会收到一大堆的扫地信息占满你的聊天框)
  • Spark 也…算是一个,毕竟可以帮你总结性能情况和分析实体占用,区块加载数量等等,可以再一定程度上辅佐优化,当然了,前提是你的英语够好亦或不用看文字就知道啥意思的专业大佬,否则就只能靠机翻了
  • Memory Leak Fix 一个支持forge/fabric的内存泄露修复插件,更好的管理内存,和chunky一样,即装即用,十分方便,对内存占用有一定的减少
  • 除此之外,你也可以使用客户端优化插件,不过这一功能仅限于客户端,但可以有效避免因为客户端配置问题而闹出的乌龙

    需要注意的是,chunky的mod版本forge和fabric都兼容,属于是平民神器了;我们非常不建议您去写一个或找人写一个优化插件,亦或者买一个,因为这是非常没有性价比的选择。
    **请记住:
    一般地,闭源优化插件/mod导致存档/红石/生物的破坏是很严重的(当然这也并不排除某一些真的很好用的闭源插件/mod)
    **建议不要使用任何存档瘦身/优化类mod/插件,会对存档造成不可逆的后果

总结:升级服务器能解决99.99%的卡顿问题😎(主观)

作者:tangbao  创建时间:2024-09-06 19:04
最后编辑:tangbao  更新时间:2025-07-09 11:22