网易首页 > 网易游戏 > 正文

我的世界服务器太卡怎么办 MC服务器优化攻略

0
分享至

我的世界很多玩家都有自己的服务器,但是很多玩家并不知道怎么优化和维护服务器,从而导致服务器很卡,今天小编为大家带来的是我的世界服务器优化攻略,还不知道怎么优化服务器的小伙伴不要错过哦。

系统的选择

(网页后台可以跳过本段)关于系统的选择,Linux类系统(Centos、Redhat等)固然高效、稳定,但选择系统也一定要考虑到自己的熟悉程度和学习能力。不要盲目为了高效而选择一个自己完全不熟悉甚至从未使用过的系统,一旦出现了突发情况,原本只需要几分钟解决的问题由于不熟悉系统的操作用几个小时来解决,这样真的合适么?在内存足够使用的情况下,Windows和Linux开服的性能差距几乎可以忽略。但是如果你熟悉Linux的操作,我依然会推荐你使用Linux系统,毕竟大服需要的Mysql、Redis在Linux下的性能往往高过Windows不少。如果你有较强的学习能力,打算入坑Linux开服,我会推荐你使用Centos6.6(稳定性突出、可靠性不俗、大量教程和文档)。

JVM版本的选择

(网页后台可以跳过本段)JVM(Java Virtual Machine)也就是Java虚拟机,俗称Java运行环境。关于选择JRE还是JDK的选择,我推荐使用JDK,JDK包括运行环境(JRE),在此基础上增加了一些性能调优工具如VisualVM。而JVM的版本,非常不推荐使用Java6,因为有不少插件已经放弃了Java6的支持。Java7和 Java8则是不错的选择,如果不是模组服务器,推荐使用Java8,Java8相比Java7主要的性能提升便在于HashMap上,而无论Minecraft服务端本身还是插件都大量使用了HashMap。所以对于Minecraft服务器来说,使用Java8带来的性能提升还是比较可观的。

服务端的选择

从服务端的选择开始就注定了性能优劣的起步水平,现在依然有不少人认为CraftBukkit(水桶服)的兼容性、稳定性要远远好于 Spigot(水龙头)。然而这是一个误区,Spigot是在CraftBukkit基础上优化而来的,几乎100%兼容原有的插件API,所以可以认为只要同版本水桶服能用的插件就可以在Spigot上运行。如果你选择使用1.7.10以下的版本开服(纯净服),强烈推荐你使用Spigot服务端,Spigot相比水桶服拥有近百项的优化,例如异步加载、读取区块,限制实体的活动范围,修复一些内存泄露的问题等等。所以同版本下可以很容易感受到 Spigot有着更出色的性能和更低的内存占用。如果你开服的版本在1.8+,我会推荐你使用PaperSpigot服务端,这款服务端是在Spigot 基础上优化而来的,相比Spigot有着显著的性能提升(Tiles几乎不再消耗CPU时间,爆炸算法优化,红石不再卡服,流水算法优化,区块压缩节约内存,优化Spigot自带的Anti X-ray等等),并且有许多可自定义项目(船损坏依然掉落船,各种地形生成的开关等等)。在最后需要提醒的是,如果没有特殊原因,建议使用最新版本的服务端,最新版本的服务端往往修复了目前已知的绝大多数BUG和有着更多的性能提升。例如目前的1.8.8版本就比1.8.7多修复了数个可以卡服、蹦服的 BUG(利用旗帜样式堆叠卡服等)。

启动脚本

(网页后台可以跳过本段)越多的启动参数反而导致越多的性能损耗。在不了解JVM工作原理的情况下,不要随随便便增加一大堆无用的启动参数。一般情况下指定最小内存、最大内存即可,Java7还需要指定一个大于等于128MB的MaxPermSize。GC回收模式等等参数都应该由JVM自动选择,例如国外论坛流传的使用G1GC可以优化MC性能,的确,G1GC减少了Full GC的时间,但是会额外增加10%~30%的CPU时间占用,完全得不偿失。还有流传很广的设置MaxGCPauseMillis参数。这个参数的含义是控制GC垃圾回收的最大时间。设置一个很小的数值的确从表面来看服务器没有瞬卡的问题了,但是这样会导致每次垃圾回收都不够深入和全面,这样的结果就是服务端运行时间越久越卡,而且很可能出现OOM(内存不够了)直接蹦服。

例如Java7的开服参数可以是(大型插件非常多,MaxPermSize可以设置得更高):

-Xms最小内存 -Xmx最大内存 -XX:MaxPermSize=128M -XX:+AggressiveOpts -XX:+UseCompressedOops

Java8的参数可以是:

-Xms最小内存 -Xmx最大内存 -XX:+AggressiveOpts -XX:+UseCompressedOops

* -XX:+AggressiveOpts的含义是尽可能的使用更多对性能有帮助的优化功能

* -XX:+UseCompressedOops的含义是指针压缩,可以减少一定的内存占用(64位才支持)

参数的优化

不要小瞧参数的修改带来的优化空间,有时候只修改一个参数,就是在线100人TPS19和TPS16的差距。参数的调整分别为 server.properties(原版服务器就有),bukkit.yml(水桶服或者衍生版就有),spigot.yml(Spigot或者衍生版就有),paper.yml(PaperSpigot才有)。

* 其中对性能有显著影响的前面为红色的星号,有中等程度影响的为蓝色的星号,没有颜色的星号是建议设置项

server.properties中可以优化性能的参数:

* view-distance,视距,默认值是10。含义是玩家的视距也就是加载的区块范围,默认是10个区块,视距10加载的区块是视距5的四倍。加载更多的区块则需要更多的内存和运算能力。推荐将这个值设置在5或者6,如果在线人数非常多可以设置为4。降低视距可以有效减少内存的占用,也能有效提高 TPS,还可以减少宽带的使用量。这个参数对性能提升是立竿见影的。

* generate-structures,默认值是true。含义是生成和计算一些特殊的环境,例如女巫塔、村民到达数量生成铁傀儡等等。设置为 false可以减少这些特殊环境生成和周期性检查带来的开销。这个参数很少被提起,但是对性能的提升有着不少的帮助。例如我的服务器生存子服有130人左右在线,TPS在17左右,关闭这个功能后提高到了19左右。需要彻底关闭这个参数,还需要在spigot.yml中把save-structure- info设置为false。并且关服后手动删除每个世界(例如world、world_nether、world_the_end)下的data文件夹里的Fortress.dat、Mineshaft.dat、Stronghold.dat、Temple.dat、Village.dat文件。

network-compression-threshold,默认值是256。这个参数只有1.8的服务端才有,含义是网络封包压缩的阀值。例如设置为16,代表封包大于16才被压缩,设置成256代表着封包大于256才被压缩。设置的值越小则会压缩更多的封包,可以使得宽带使用减少,提高网络流畅程度,但是也会增加性能的开销。如果性能够用可以设置为128,使得更多通讯封包被压缩,一定程度上减少宽带使用率又不会带来太多的性能开销。设置的值太小,例如小于等于32会明显增加对性能的开销,不建议这么做。

bukkit.yml中可以优化性能的参数:

* spawn-limits,意思是限制实体的生成。这个并不是限制一个区块生成多少实体,而是针对一个人可以生成多少实体。例如monsters: 70,在线人数只有10个人,则最多只能生成700个怪物实体(僵尸、骷髅、蜘蛛等等),适当的设置这些参数可以减少实体对性能的影响。

* chunk-gc,控制着区块的回收,单位是Tick(1/20秒),period-in-ticks是指每过多少tick回收一次需要回收的区块,设置的太小会导致回收过于频繁而影响性能,设置的太大会导致需要回收的区块迟迟不回收使得内存占用过大。合理的数值一般是300~400。load- threshold是指达到多少需要回收的区块的时候才进行回收。例如设置成300,只有当需要回收的区块到达300以上才进行回收,合理的设置这个数值可以使得额外只多占用一丁点内存却使得区块回收的性能开销可以被无视。一般设置为300~600比较合适。

autosave,自动保存存档(地图、玩家数据等)的周期,单位是Tick(1/20秒),如果你使用了定时保存的插件,例如Saveit、AutoSave等等,你可以将他设置为0,即关闭这个功能。这样可以减少服务器瞬卡发生的可能。

spigot.yml中可以优化性能的参数:

* user-cache-size,1.7.5以上版本才有,其控制用户缓存的大小,如果你的服务器玩家很多,可以设置的更大一些,例如5000。

* save-user-cache-on-stop-only,1.7.5以上版本才有,其含义是是否只在服务器关闭/重启的时候保存用户缓存,设置为true可以提高性能。

* view-distance,同server.properties里的view-distance一样。

* chunks-per-tick,是指每tick(1/20秒)扫描计算多少区块,计算的内容是作物的生长。默认值是650,可以设置成350来提高性能。极端的情况可以设置成150,但是会使得作物生长的速度明显变慢。

* max-tick-time: (仅较新的版本有该参数,如1.8.3+)是指每tick,实体和tile最多可以用的时间(单位是毫秒),要明白其含义首先要解释什么是TPS,TPS 的意思是每秒有多少tick,最大值是20,也就是每秒tick20次,每次50毫秒。如果运算量过大导致每tick计算了超过了50毫秒,那么TPS就会下降,一旦TPS低于15就会产生明显的卡顿。在这参数中tile代表着熔炉、箱子、牌子、骷髅头等等所能占用的最大时间,entity是指的实体,例如动物、怪物、村民、展示框、掉落物、船、矿车等等。设置tile和entity的总和小于等于30则能明显降低tile和entity对TPS的影响,而服务器运算资源几乎一大半都是由这两者消耗的。设置tile为10,entity为20比较合适,如果实体非常多,还可以设置tile为 6,entity为24。

* anti-xray,服务端自带的反透视功能,俗称假矿。这个功能相比插件版的假矿来说,额外内存占用极少,少到可以忽略,并且矿物的变动计算是异步进行的,对TPS的影响很小。engine-mode为1则是隐藏矿物,engine-mode为2则是将非矿物也伪装成矿物,engine-mode设置为 2的效果最好,但是会额外吃一定的性能和宽带,但是engine-mode设置为1无法防御矿追。具体如何权衡请自行决定。如果你不需要本功能,例如你是纯RPG服务器,可以直接把enabled设置为false关闭这个功能,提高性能。

nerf-spawner-mobs,简单来说就是让刷怪笼生成的怪物变成白痴,直观感受就是刷怪笼刷出的怪不能攻击了。默认为false,意思是不开启。设置为true可以获得一定的性能提升。

* entity-activation-range,这个参数是控制实体的活跃范围,例如monsters: 32意思是在玩家附近32格范围内的怪物才会活跃(被计算AI等),减少这个数值可以明显提升性能,但是设置得过小会使得游戏难度大幅降低。一般可以把 monsters设置为24,animals设置为12,misc设置为2(misc主要是掉落物,设置2可以使得掉落物几乎不再卡服)。

entity-tracking-range,这个参数是控制实体的可见范围,这个参数不会影响性能,对宽带的影响也极小。不建议修改这个参数,但是适当的降低数值可以减少客户端的卡顿。

* random-light-updates,随机的光照更新,设置为true的话服务器会随机更新光照,并且在区块加载的第一个tick运算光照逻辑。设置为false可以提高不少性能。

* save-structure-info,在前面已经介绍了。

max-bulk-chunks,1.7.10+才有这个参数,意思是每个数据封包里塞多少个区块。适当提高这个数值,例如从10提高到15可以减少网络卡顿和客户端读取区块的速度,但是设置得过高会导致客户端崩溃。

* max-entity-collisions,实体碰撞箱的阀值。建议设置为2,可以减少密集卡服的问题。

* max-tnt-per-tick,每tick(1/20秒)最多计算多少TNT爆炸,设置为20可以显著防御TNT蹦服。

paper.yml中可以优化性能的参数:

keep-spawn-loaded,spawn区块是否常驻内存,设置为false可以减少一定的内存占用和计算量

* tick-next-tick-list-cap,每tick最大的运算量,减少数值可以提高TPS,例如设置为8000

* tick-next-tick-list-cap-ignores-redstone,达到上面的运算阀值是否无视红石运算,设置为true可以显著减少红石对服务器性能的影响。

* optimize-explosions,是否开启爆炸算法优化,设置为true可以提升一定的服务器性能

* use-async-lighting,是否让光照的逻辑运算异步化,设置为true可以使得光照运算不再影响TPS,强烈推荐设置为true

* cache-chunk-maps,是否缓存chunkmaps,可以让区块的数据更多得被复用,可以一定程度提高性能,推荐设置为true

* fast-drain,快速液体流动运算,推荐设置为true,可以减少液体流动运算对服务器性能的影响

相关推荐
热点推荐
不声不响从5元涨到132,上涨26倍,有几个投资者能拿到现在?

不声不响从5元涨到132,上涨26倍,有几个投资者能拿到现在?

丁丁鲤史纪
2026-05-26 17:44:43
伊朗媒体:伊朗全面恢复国际互联网连接

伊朗媒体:伊朗全面恢复国际互联网连接

界面新闻
2026-05-26 23:27:13
法网首轮爆大冷!17岁新星横扫前美网冠军,09后大满贯赢球第一人

法网首轮爆大冷!17岁新星横扫前美网冠军,09后大满贯赢球第一人

全景体育V
2026-05-26 19:55:48
由戴耳环的女支书,想到戴耳钉的李局长!

由戴耳环的女支书,想到戴耳钉的李局长!

仕道
2026-05-26 15:04:15
武契奇试驾小米汽车,幽默回应“想不想买一辆”:买不起,但车很漂亮

武契奇试驾小米汽车,幽默回应“想不想买一辆”:买不起,但车很漂亮

大风新闻
2026-05-26 17:48:04
王鹤棣父亲回应店铺遭多条差评:生意下降了40%,白天晚上都有影响

王鹤棣父亲回应店铺遭多条差评:生意下降了40%,白天晚上都有影响

封面新闻
2026-05-26 19:12:38
投毒杀人者、 三体公司原CEO许垚被执行死刑

投毒杀人者、 三体公司原CEO许垚被执行死刑

经济观察报
2026-05-26 09:53:04
中央开始严查,多地机关事业单位大整顿启动,这几类人受影响最大

中央开始严查,多地机关事业单位大整顿启动,这几类人受影响最大

细说职场
2026-05-26 14:40:46
63岁黄仁勋回台探亲,和父母一起吃饭,96岁父亲神采奕奕状态超好

63岁黄仁勋回台探亲,和父母一起吃饭,96岁父亲神采奕奕状态超好

丫头舫
2026-05-26 17:55:54
原版身材就是顶!伊芙体模亲自下场cos

原版身材就是顶!伊芙体模亲自下场cos

奶凶的小霸王
2026-05-26 15:47:03
快讯!林志玲戏份被删光除名!

快讯!林志玲戏份被删光除名!

故事终将光明磊落
2026-05-26 18:56:32
从世界第4到117位,郑钦文只用了10个月,詹俊:根源在这两点

从世界第4到117位,郑钦文只用了10个月,詹俊:根源在这两点

酷侃体坛
2026-05-26 18:11:48
中国“进口SUV”月冠军:卡宴第6,揽胜第5,第一名月销超2000台

中国“进口SUV”月冠军:卡宴第6,揽胜第5,第一名月销超2000台

柳先说
2026-05-26 20:03:00
创纪录的空袭中戏剧性的一幕

创纪录的空袭中戏剧性的一幕

西楼饮月
2026-05-26 11:14:36
曝苏超球员与未成年发生关系!未满14岁最高死刑 不满18可算强奸

曝苏超球员与未成年发生关系!未满14岁最高死刑 不满18可算强奸

念洲
2026-05-26 16:59:59
快讯!中国可能马上就要诞生第二个让美国忌惮的“任正非”了

快讯!中国可能马上就要诞生第二个让美国忌惮的“任正非”了

达文西看世界
2026-05-26 18:35:48
比预制菜更恐怖的,是被科技狠活承包的现制餐

比预制菜更恐怖的,是被科技狠活承包的现制餐

蓝鲸新闻
2026-05-25 19:47:39
胡金秋10中8高效18+7:陷犯规麻烦防守不敢做动作 末节爆发无用

胡金秋10中8高效18+7:陷犯规麻烦防守不敢做动作 末节爆发无用

醉卧浮生
2026-05-26 21:33:44
18.99万起,奔驰新车官宣:6月11日,正式上市

18.99万起,奔驰新车官宣:6月11日,正式上市

科技堡垒
2026-05-25 12:00:29
刚刚,美光科技大涨18%,市值突破10000亿美元!特朗普:美光真的很棒;瑞银:股价还要涨

刚刚,美光科技大涨18%,市值突破10000亿美元!特朗普:美光真的很棒;瑞银:股价还要涨

每日经济新闻
2026-05-26 23:01:13
2026-05-27 01:59:00

头条要闻

武契奇获授"友谊勋章":父母特意打电话 我们都哭了

头条要闻

武契奇获授"友谊勋章":父母特意打电话 我们都哭了

体育要闻

上赛季差点降入英甲,下赛季要踢英超了

娱乐要闻

台媒贴脸!S妈被问大S嗑药当场沉默

财经要闻

中国铝行业爆单 下一个“煤炭”大周期?

科技要闻

中国AI要向外卷,而不只是做第二个OpenAI

汽车要闻

涉水加强 福特烈马亚马逊限量版上市 售价39.98万

态度原创

教育
房产
数码
亲子
手机

教育要闻

不是知错了,是怕了!家长投诉老师,被老师起诉,哭着求老师谅解

房产要闻

招商地产接盘碧桂园!海口这个烂尾豪宅,要彻底改命?

数码要闻

惠普新本用上骁龙X,屏幕能到1800P 120Hz

亲子要闻

儿科医生提醒, 平时给孩子吃药一定要看时间~

手机要闻

荣耀600系列线下上手:体验之后,说说真实感受

无障碍浏览 进入关怀版