我们在开设Minecraft服务器的时候,经常遇到玩家反映游戏体验十分卡顿,下面我根据自身开服的经历与经验,系统的对服务器的优化方法做了一个概括与总结。在阅读之前,须确保你已经大体了解MC服务器的各项内容。

一、云服务器/物理服务器的选择
很多人会在选择开服服务器的时候不清楚应该如何选择,一般是先预估你的业务消耗,也就是服务器的游玩人数,然后再根据需求去挑选配置。用物理机在家里开设服务器,基本不需要担心性能问题。如果你用的是云服务器,可能需要注意所用的云服务商是否存在超开行为(给用户使用性能低于平均水平的云服务器)。然后记住要选游戏云,专门给游戏服务器准备的云服务器,而不是挂机宝等这种便宜的云服务器,因为它的性能非常低。
1. CPU:在选购云服务器的时候要避免选择E系列CPU,例如E3、E5、E7等。这类CPU是5-10年前发布的服务器专用CPU,多为数据中心长期服役后的二手硬件,虽本身为7×24小时高负载场景设计,硬件稳定性优于普通消费级CPU,但架构老旧、IPC(每时钟周期执行指令数)极低,单核性能孱弱,而Minecraft服务器对CPU单核性能要求较高,老旧的E系列CPU会直接导致服务器运算效率低、游戏卡顿,即便标注的睿频与新款CPU相近,实际性能也差距悬殊。你在购买前可以把CPU的型号输入到浏览器搜索一下,看一下这款CPU的性能以及发布日期等实际如何。你也可以去购买服务商的试用服务器,自己亲自用CPUZ进行性能测试。
2. 内存:这方面主要是家用电脑会比较关注,云服务商的内存普遍是DDR4 2133Mhz。在我自己实际使用测试开服情况下DDR4和DDR5的差别不大,差别大的是DDR3和DDR4,不过在这方面不会对服务器产生过多的性能问题。
3. 硬盘:在购买云服务器的时候要看清楚,我们一定要选用SSD固态硬盘,而不是HDD机械硬盘,因为机械硬盘的读取速度太低,会严重导致服务器变慢,尤其是加载地图与插件,家用电脑开服也是如此。
4. 网络宽带:在云服务器上无须过于担心,你只需要注意云服务商提供的网络上行宽带是多少就行,大部分云服务商标注的是Mbps,1MB/s=8Mbps。家用电脑如果没有公网,须用FRP内网穿透,但这样绕一圈就会使延迟增加一倍,也可能是导致游戏卡顿的原因之一。所以在搭建FRP时,中转节点强烈建议选择BGP节点(三大运营商一同接入的网络),这样在家里用物理器开服也可以使延迟较低。

二、软件优化
在服务器的电脑上,我们不能装太多的软件,仅需装一些必要的软件,尤其是不能安装类似360等高性能占用杀毒软件,会导致系统的性能拖慢,还会对服务器的运行产生影响。如果实在有需求,可以安装火绒这样占用较低的杀毒软件。如果电脑内存不够,你可以使用轻量内存清理软件MemoryCleaner清理冗余内存(可在往期文章找到)。
三、服务器配置文件优化
现在所有的服务器配置文件都会有CPU线程调用数量、玩家视距大小、模拟距离大小以及网络发包类型和网络包压缩大小。
1. CPU线程调用数量:MC服务器对多线程支持有限,不建议默认开启全部线程,易出现资源竞争导致卡顿,建议按硬件实际情况限制核心数。
max-threads=8
2. 玩家视距大小:客户端所能看见的最多区块范围。一般服务器写12就行,如果你的服务器上行宽带低于10Mbps,那我建议把玩的视距修改为8,如果太高的话会大量占用服务器的网络上行宽带。(如果你很有钱,用的是百兆以上的网络上行宽带,那就可根据需求灵活配置视距)。
view-distance=12
3. 模拟距离大小:指玩家所在的周围最大的常加载区块范围。这个和服务器的性能有挂钩,我不建议进行修改,修改后有很多特性会发生变动,影响游戏体验。如果实在有需要,可以按照实际的情况进行修改。
tick-distance=4
4. 网络发包类型与网络发包大小:需要跟据你的网络情况来进行修改。如果你的服务器性能强劲,但网络宽带不是很好,那么你需要用压缩模式,这样可以减少网络的占用。如果你的服务器性能不够好,但是网络宽带比较富足的话,那么你可以用不压缩模式。这样可以给你的服务器腾出一部分的性能空间(虽然很少)。
compression-algorithm=snappy
四、插件优化
1. 插件的数量过多和使用一些代码质量较差的插件也可能会导致游戏体验卡顿,我建议服务器选用功能较多的基础插件,而不是一个插件一个小功能。如果有能力,可以将自己使用的小插件合并为一个大插件,将里面重复运算的内容合并为一个。例如,JS插件把多个计时器合并为一个计时器。
2. 大部分服务器会使用反作弊插件,反作弊也是导致体验卡顿的原因之一,我建议各个服务器根据自己不同的游戏玩法,有针对性的对反作弊的配置文件进行修改,如果实在不会修改,也可以找别人修改好的使用。
五、世界优化
世界优化主要有生物AI、实体堆积和红石优化,同时这三项也是导致服务器游玩卡顿的主要原因之一,不过现在都可以通过插件和模组进行修改。
1. 生存/养老服务器:可以把红石这些做一些限制。
2. 生电服务器:须着手优化生物AI与实体堆积。
3. PVP/RPG服务器:可根据需要进行全部限制或部分限制。