5.9 KiB
sidebar_position |
---|
1 |
概览
优化不是装插件,而是清理服务器的卡顿因素,由于 Minecraft 本身的性能低下、部分插件作者并没有优化代码的意识、服务器实体过多等。
每个服务器可能有自己的卡顿原因,在这部分先做最基础的通用优化,如果你使用后作用不大请参考性能分析板块。
在此之前,请一定查看 优化误区,停止此类无效"优化",然后根据下面的步骤进行操作。
第一步 - Java 优化
:::info
几乎任何情况下,所有服务器都会因为选择合适的Java而受益,而这本身是最没有代价的,仅仅需要你下载一个小小的 Java 安装程序,或者更改 JVM 参数(大白话来说就是开服参数)。
:::
选择合适的 Java
参考 Java 下载及安装安装合适的 Java
JVM 参数优化
可以在 JVM 参数生成器生成适合你服务器的基本 JVM 参数,然后复制并保存到你的启动脚本里,然后重启就完成了
别急,还有一些更高阶的参数。拓展阅读
第二步 - 更换核心
在插件和配置层面能进行的优化其实不多(受限于 API 还有服务端核心),所以最好的方法是更换服务器核心。
:::warning 什么年代了,任何时候都不要再使用 CraftBukkit 和 Spigot 了。追求稳定/性能上 Paper ,追求原版特性上 Leaves。 :::
选择更换的服务器核心
此处只是作为最基础的核心选择推荐,完整版请查看核心选择
Paper - 追求稳定 推荐度★★★★☆
如果是第一次开服,或者追求稳定,请使用 Paper 。任何时候想更换其他核心可以随时更换如 Purpur / Leaf 等核心。
Purpur - 稳定性与性能最佳选择 推荐度★★★★★
如果你并不是追求更极致的性能,Purpur 你最好的选择,只需要替换掉核心就可以,Purpur 兼容全部插件!!
Leaf - 极致性能 推荐度★★★★☆
前往 Leaf 的 Github Action 下载最新核心,然后替换!!,Leaf 兼容你的绝大部分插件(已知仅有一个不兼容,但在插件的分支解决)
Folia - 硬件利用率超高的高性能,但兼容性较差 推荐度★★★☆☆
如果你的服务器对插件的需求不大,或者你的插件已全部兼容 Folia ,那你就可以选择切换到这个核心,你的tps有绝对巨大的提升(甚至超过了 Leaf )
第三步 - 优化服务端配置
目前,Bilibili上面的配置都是很老的,不推荐使用
文档里的 调服务端配置 比较新,非常推荐
第四步 - 更换硬件
不要无脑换硬件! 首先要知道自己的硬件瓶颈在哪里。如果 CPU 负荷过高,建议先排除 CPU 异常占用,再看 CPU 总体占用情况。一般来说服务器卡顿换 CPU 是最有效的,单核性能和 MC 服务器 TPS 几乎呈线性相关,但是换 CPU 几乎就相当于要换一台机器,迁移对于新手来说并不是易事。
对于单端服务器来说,超过8核心的部分基本很难通过提升 CPU 核心数量提升 TPS 。不要动不动就买E5 然后卡了就加 4 核心 8G 内存,更多也没用的。
对于群组服务器来说,一般核心数量都会占用上,但是内存可能会有些捉急,对于每一个普通的生存服来说内存的推荐值为 8G - 20G 更多更少都是不推荐的。
:::warning 如果发现 CPU 占用和内存占用都不是很高但是服务器卡卡的,请考虑是不是服务器带宽受限导致玩家 ping 值突然升高的问题。请分清楚 TPS 低导致的卡顿,MSPT高导致的卡顿,带宽占满导致的卡顿。 :::
第五步 - 更换操作系统
Linux 比 Windows 更适合用于开服,对于 Linux 根据自己的使用经验选择即可,如果没有使用经验可以先使用Ubuntu等主流系统。
- 更快的发包速度和接收速度,接入服务器速度将提升数十毫秒起,当面对假人攻击/DDOS攻击时会更加稳定;
- 更好的性能,根据测试TPS能提升8-15%;
- 更低的内存占用,对于 Windows 服务器一般开机会占用1-2g内存,而一般的Linux系统开机后占用往往不到 0.5Gb;
- Linux 的稳定性是 Windows 无论如何也无法比拟的;
- Linux 安全性更高,开源系统,有社区的支持;
- Linux 支持文件占用直接删除(也就是说可以自动更新插件,不像 Windows 那样提示文件被占用)
:::info
可能会有小伙伴说:" Linux 太难操作了,根本不会用。" 其实大多数开 Linux 服务器的服主也不是纯纯使用 Linux 编辑插件配置,那么好,我们为小白推荐三个面板辅助我们开服。
- MCSM 全名 MCSManager 是一款开源,分布式,一键部署,支持 Minecraft 和 Steam 游戏服务器 的控制面板。
- 1Panel 是新一代的 Linux 服务器运维管理面板,支持 Web 图形界面管理、快速建站、应用商店、安全可靠、一键备份等功能。
- 宝塔面板 是一款支持Linux和Windows系统的服务器运维管理工具,提供资源监控、文件管理、软件安装等功能。
:::
第六步 - 性能分析
通用的一些解决方法看来已经差不多做好了,每个服务器都有自己最导致滞后的因素,可能是实体太多,可能是玩家机器多,也可能是某些插件写的太屎... 如此,那么应该如何知道服务器为何卡顿呢?对咯! 性能分析!
如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢? 请转跳到 怎么让大佬帮我 如果你不想求助别人,亦或者你想有一些进步,请参考 性能分析