6.0 KiB
sidebar_position |
---|
1 |
概览
什么是优化? 优化不是装插件, 首先得明白为什么服务器会卡, TPS是什么, 每个服务器可能有自己的卡顿原因, 在这部分先做最基础的通用优化, 如果你使用后作用不大请参考性能分析板块.
如果你现在已经开好服务器有了一定的玩家数量, 那么请一定查看优化误区, 停止此类无效"优化", 然后根据下面的步骤进行操作.
第一步 - Java 优化
:::info 几乎任何情况下, 所有服务器都会因为选择合适的Java而受益, 而这本身是最没有代价的, 仅仅需要你下载一个小小的Java安装程序, 或者更改JVM参数(大白话来说就是开服参数). :::
选择合适的 Java
版本
原则上选择最新的兼容的Java版本, 可以体验到最新的优化, 并且大部分现代插件都对最新版的特性有专门的兼容(比如AuthMeReReload).
根据各路大佬的测试Zulu相较Oracle(你可以看做"公版")更适合开MC服务器
下滑并选择你的操作系统/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.5g.
- Linux的稳定性是Windows无论如何也无法比拟的.
- Linux安全性更高, 开源系统, 有社区的支持
- Linux支持文件占用直接删除(也就是说可以自动更新插件, 不像Windows那样提示文件被占用)
:::info
可能会有小伙伴说:"Linux太难操作了, 根本不会用." 其实大多数开Linux服务器的服主也不是纯纯使用Linux编辑插件配置, 那么好, 我们为小白推荐三个面板辅助我们开服.
- MCSM 全名 MCSManager 是一款开源,分布式,一键部署,支持 Minecraft 和 Steam 游戏服务器 的控制面板.
- 1Panel 是新一代的 Linux 服务器运维管理面板,支持 Web 图形界面管理、快速建站、应用商店、安全可靠、一键备份等功能.
- 宝塔面板 是一款支持Linux和Windows系统的服务器运维管理工具,提供资源监控、文件管理、软件安装等功能.
:::
第六步 - 性能分析
通用的一些解决方法看来已经差不多做好了, 每个服务器都有自己最导致滞后的因素, 可能是实体太多, 可能是玩家机器多, 也可能是某些插件写的太屎... 如此, 那么应该如何知道服务器为何卡顿呢. 对咯! 性能分析!
如果你是个完完全全的新手, 或者懒得分析, 想请教别人分析应该怎么办呢? 请转跳到 怎么让大佬帮我 如果你不想求助别人, 亦或者你想有一些进步, 请参考 性能分析
:::