切换风格

我的世界论坛 - MCPlugin- Minecraft交流社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1.5K|回复: 13

[教程] 论服务器的优化以及其他注意事项。

    [复制链接]
发表于 2020-3-29 00:55:05 | 显示全部楼层 |阅读模式
本帖最后由 Misaka。 于 2020-3-29 15:17 编辑
——浅谈服务器的优化  
                                                                                                     ——  Mod服

写在前面:

以下内容皆为个人理解,如有误差,希望多多包涵。  (基于Mod服)
Minecraft的服务器优化一直都是一个十分令人头疼的事情,现目前已有很多的各种优化的方案,其中,我认为最有效的方案就是.....
砸钱,租更好的机器! 要想服务器能流畅运行,很大程度上和你花多少钱在上面是有很大关系的。

什么,你说资金并不丰裕?金钱不足嘛,那我们就花时间和精力来填补它。  (不然我写这个帖子干嘛...  XD)

——T P S :
  • 首先,你需要大概了解一下什么是TPS? (嗯...懒得去网上搬来翻译了,就给你们说说我的理解吧)
  • tps基本就等于你服务器的流畅程度,我就不去说那些硬核解释,就直接说吧.  (咱先不考虑网络延迟Ping的影响.)
  • 服务器的TPS受到很多方面的影响,其中影响最大的莫过于CPU了。服务器的一切操作基本都需cpu进行运算,什么玩家挖掘,聊天,加入,退出等等各种操作。一个流畅的服务器,tps应该在18以上。
  • TPS:18~20 —— 流畅运行的服务器基本都在这个段位,玩家感觉良好。
  • TPS:16~14 —— 服务器开始有些许延迟了,具体可能是吃东西花的时间变长了,箱子打开出现延迟之类的.
  • TPS:14~10 —— 服务器已经无法正常运行了,玩家游戏体验极差,东西吃不下去,聊天,开箱子,建筑,指令等等都有很大延迟.
  • TPS:10以下 —— 服务器已经不是可以玩的,响应时间过长,玩家可能已经开始掉线,以及其他各种问题.

——配置文件优化:
以下是一些可以优化的配置,常见的服务端核心应该都有这些配置。(不包含Forge和sponge等等的服务端/主要我也没接触过... XD)
值得注意的是,这里我只列出了我觉得需要注意并修改的项目哦。以及所有配置,请不要直接复制粘贴.
bukkit:
allow-end: true

是否开启末地 | 你可以设置为false来关闭它以禁用末地的生成.
————————————————————————————————
spawn-limits:
  monsters: 70
  animals: 15
  water-animals: 5
  ambient: 15

配置实体的生成数量,这和服务器有多少人挂钩,例如monsters设置为70,则表示有一位玩家在线,最多可生成70个怪物。
monster - 怪物数量   推荐值:45-60   生存服一般调至45就可以了。
animals - 生物数量  推荐值:10-15  一般我设置为12
water-animals - 水生生物 推荐值:1-5  我一般设置为2,因为这就一种生物呀,墨鱼。
ambient - 蝙蝠 推荐值:1-2  你要那么多蝙蝠干嘛?说,还想在屋里待多久!
————————————————————————————————
chunk-gc:
  period-in-ticks: 400
   load-threshold: 300

控制区块进行回收的配置。一般这里设置后,就不需要其他卸载区块的插件了.
period-in-ticks - 400 这是说多久回收一次无用区块,单位是tick,请根据自己的实际情况设置,我这里推荐400,也就是20秒. (20tick=1秒)
load-threshold: 300 有多少区块了才进行回收,我这里设置的300,你可以根据自己的实际情况进行修改。 (两项都为0以关闭该功能)
————————————————————————————————
ticks-per:
  animal-spawns: 800
  monster-spawns: 2
  autosave: 0

怪物以及生物的生成速度以及服务器地图的自动保存功能.
animal-spawns: 800 这里我设置为800,默认是400来着,多久刷新一只动物,单位也是tick
monster-spawns: 2 多久刷新一只怪物,默认是1,我这里设置的是2,此项请根据自己服务器的在线情况修改 (2tick刷新一只呀....)
autosave:0 多久保存一次存档,我设置的是0,有部分人说此项已经优化,个人感觉,还是卡得慌,就设置为0关闭了,默认6000.
保存地图推荐单独使用插件进行,自带的这个真的不敢恭维  XD



spigot:
item-despawn-rate: 6000

设置掉落物的消失时间,建议不要去改它,物品清理可以另加插件,你可以减小此项加快掉落物的清理,玩家可能会有脾气的....
————————————————————————————————
merge-radius:
  item: 4.5
  exp: 5.0

设置物品以及经验的合并距离
item:4.5 就是说,4.5格内的物品,都会聚集起来堆成一组,适当调大此项,可以减缓掉落物的卡顿,我推荐调4.5
exp:5.0 范围5格内的经验将会聚集到一起,生存服有刷怪塔等设施的推荐改为5,基本可以忽略掉落经验带来的卡顿
————————————————————————————————
view-distance: 5

此项非常nice,设置玩家周围加载的区块范围,一般的生存服,设置为5-6最为合适,极端情况也可以更低,但不能为0.
请确保和 "server.properties" 里的设置为相同的,否则将不会生效.
注意,此项过高,会急剧加大服务器的带宽和cpu消耗!
————————————————————————————————
arrow-despawn-rate: 100

弓箭的消失时间,就是小白,无限弓射出去的弓箭,你可以适当调低,默认多少来着我忘了,设置100就完事.
单位是毫秒。 (1000毫秒=1秒)
————————————————————————————————
mob-spawn-range: 3

怪物以玩家为中心的生成范围,默认是4,我推荐设置为3,单位是区块。 请不要过高设置此项!
————————————————————————————————
ticks-per:
  hopper-transfer: 8
  hopper-check: 8

这是控制漏斗的传输数量的配置,如果你服务器有很多漏斗,我建议你可以去和该玩家谈谈人生,然后把此项都设置为8来减缓卡顿...
————————————————————————————————
entity-activation-range:
      animals: 12
      monsters: 24
      misc: 2

控制生物的激活范围,单位是格.一般生存服像我这样设置就可以了,
animals是动物,monsters是怪物,misc表示掉落物.
激活范围过大也会导致服务器加大运算量,请根据服务器的主题进行设置。
————————————————————————————————
random-light-updates: false
max-tnt-per-tick: 20

第一个是控制光线刷新的,就是你偶尔会看见的山下面一片漆黑什么的,生存服请关闭此项,巨卡.
第二个是控制没tick最多计算多少个tnt爆炸,设置为20以后基本就可以忽略tnt爆炸导致的卡顿了
————————————————————————————————
max-tick-time:
      tile: 20
      entity: 20

这个也是优化大头,title表示箱子,熔炉,机器等东西;entity表示一切的生物,怪物,玩家什么的.
设置服务器计算实体和tile的消耗时间;简单来说,服务器在每个任务里对这俩的时间消耗,如果超过了这个时间,还没有处理完,就会跳过它,其结果就会导致,玩家或者生物移动一卡一卡的,机器速度变慢,植物生长变慢.但如果此项设置得很高,服务器就会计算更多,这会加剧服务器的性能消耗,而导致tps降低。
此项,请务必根据自己实际测试情况调试。
这个一直有很大的争议,部分人推荐两项都设置为1000来禁用此项。
个人测试,Mod生存服设置为1000,会导致很严重的卡顿 (测试阶段为科技服大后期,端已运行半年之久的测试结果)
如果你服处于刚起步的阶段,可以设置为1000优化玩家的游戏体验什么的 XD




server.properties:
network-compression-threshold

服务器压缩数据包的大小,默认是256,生存服可以调到512. 如果你是群组服,可以设置为-1关闭它。
————————————————————————————————
view-distance: 6generate-structures: true

第一个已经说过了,是控制区块加载范围的,请保证和spigot的设置一样。
第二个是控制特殊区块检测的,比如女巫,凋零骷髅等等的生成条件,设置为false可以适当减少服务器开销,
但还需要手动删除已生成世界里的:Fortress.dat、Mineshaft.dat、Stronghold.dat、Temple.dat、Village.dat等等文件。
说一下,禁用此项,会导致地狱无法刷新凋零骷髅哦!



——核心的选择:
上面写了这么多,才想起核心还没做介绍...  XD
1.7.10的核心,我比较推荐Uranium核心,此端目前还在更新(大雾,或许是半断更阶段?)
你可以加入他们的官方群获取信息。378325103
其他列如Th、Kc什么的已经脱坑很久了,不推荐使用。

1.12.2的核心我比较推荐catserver核心,此端...虽然闹出了一些风波,但也不影响它是一个优秀的高版本mod服+插件的核心。
部分原因,请自行查找相关。
其他例如墨端,海绵sponge端,forge端什么的,没用过,故不做介绍。

你问我这些核心具体有什么优点? 简单来说,就是兼容性更高,优化更好,且在更新中呗,具体的他们自己有做详细介绍...


——其他可能需要的优化:
既然是mod服的优化,自然也避免不了要对一些mod本身进行一定的优化,多数情况下,mod本身就带自带一些优化的设置,部分情况我们也可以通过其他插件或者mod来对一些比较卡的物品进行限制。
  • 工业2:
IC2最明显的就是风力发电机核电带来的卡顿了,具体表现呢,就是它们无时无刻的都在进行着各种检查,例如风力,它会不停的检测周围是否有遮挡物,当前的高度,风力,是否下雨等等各种环境因素,一般来说,少量的风力组是不会对服务器造成太大负担的,但是!如果这个数量多了,服务器可能就吃不消了,核电嘛,大同小异.
然后就是 回路导线 这个东西。大量如此放置之后,服务器甚至可以直接卡死线程... 非常恐怖,兄弟.jpg
首先你可以降低风力和核电的发电量,来迫使玩家使用其他发电机来发电,例如太阳能什么的。
; Base energy generation factors - increase for higher energy yield.
[balance / energy / generator]
generator = 1.0
geothermal = 1.0
water = 1.0
solar = 1.0
wind = 1.0
nuclear = 1.0
semiFluidOil = 1.0
semiFluidFuel = 1.0
semiFluidBiomass = 1.0
semiFluidBioethanol = 1.0
semiFluidBiogas = 1.0
Stirling = 1.0
Kinetic = 1.0
radioisotope = 1.0

打开配置文件(一般在服务端的config\ic2.ini),打开后大概在200多行的位置,可以看见以上配置.
其中“wind”就是风力的发电量,你可以调到0.5来减半发电量;核电是“nuclear”,具体怎么调,完全可以自己决定,这里是倍数关系。
另一个思路,也可以加大这些发电机的发电量,然后限制玩家放置的数量,毕竟电量上去了,限制一些数量,玩家比较好接受。
你可以使用一些辅助插件来限制他们的数量,目前我还没发现支持工业机器的限制数量的插件(工业机器ID太独特了)其他的发电量都是可以改的,请自行合理搭配。
然后关于回路导线的了

你可以使用 AntiLoop 插件来完美解决它。 (你问我什么地方找这个插件?你猜,猜对了我就告诉你.)


  • 植物魔法:
这个mod卡服基本就是大量的产能花、火花、魔力发射器造成的,请适当限制玩家放置这些物品的数量,极端情况,可以把产能花公共化,禁止玩家自行放置(做到这份上了,你还加什么植魔哦...). 目前也并没有流通可以限制产能花的插件,魔力发射器和火花倒是可以很好的限制.
你可以使用 ChunkBlocksLimit 插件来限制魔力发射器的数量,使用 SummonAnimalLimit 来限制火花的数量,这些插件的具体操作,原贴都有介绍,我此项就不赘述了然后能就是盖亚造成的卡服,建议限制玩家召唤的数量,还是使用 SummonAnimalLimit 来限制. (这插件真的是一个神器)


  • 暮色森林:
暮色卡一般都是因为地形的加载导致的,你可以调试一下暮色的配置文件,减少一些高大的树木的生成,来减缓加载地图的时候的卡顿,这里还有一个更好的解决办法,我在下面说;然后呢,消失的方块系列也可能会导致服务器卡顿,建议直接ban掉,用处也不大,禁止放置即可。
    performance {
        # Amount of canopy coverage. Lower numbers improve chunk generation speed at the cost of a thinner forest.
        # Min: 0.0
        # Max: 1.7976931348623157E308
        D:canopyCoverage=1.7000000476837158

        # If the dimension has per-block skylight values. Disabling this will significantly improve world generation performance, at the cost of flat lighting everywhere.
        # WARNING: Once chunks are loaded without skylight, that data is lost and cannot easily be regenerated. Be careful!
        B:enableSkylight=true

        # Setting this true will make Twilight Glaciers generate with Packed Ice instead of regular translucent Ice, decreasing amount of light checking calculations.
        B:glacierPackedIce=false

        # This controls the opacity of leaves, changing the amount of light blocked. Can be used to decrease complexity in some lighting checks.
        # Min: 0
        # Max: 255
        I:leavesLightOpacity=1

        # Chance that a chunk in the Twilight Forest will contain a twilight oak tree. Higher numbers reduce the number of trees, increasing performance.
        # Min: 1
        # Max: 2147483647
        I:twilightOakChance=48
我们打开暮色的配置文件TwilightForest.cfg,翻到大约150行左右的位置,可以看见以上的信息。
我们需要改动的,分别为leavesLightOpacitytwilightOakChance这两项。
第一个是设置暮色森林的树木覆盖率,减小此项可以大大减少树木的生成,建议直接0.1~0.5,要那么多树干嘛呀...
第二个是设置暮色那种非常高的树的生成间隔,建议普通服务器500起步,1000+什么的也是很正常的,甚至还可以更高,这种大树生成时非常的卡!

其他呢,除了消失的方块系列,我们还需要主要ban掉高大的树苗,反正那种很大树的树苗,最好都ban掉,这东西就是长一个卡一下那种....魔豆也得ban,这个长一个得卡半年!

然后是第二个办法,预加载地图!在开服阶段,就预先把暮色的地图加载好,
这里需要使用 WorldBorder 插件的预生成功能,一般设置一个5000的范围,地图占用大约在2个G左右,
然后我们把这个地图复制出来,下一次刷新暮色的时候,直接再粘贴进去就ok了。 (由于限制了边界,建议刷新的频率适当高一些)
说一下为什么预加载,众所周知,mc的地图加载后,需要把加载到的新区块写到硬盘里,预加载就是提前把它写进去了,玩家跑图时,就可以跳过这一步,而加载地图的卡顿,就是因为把缓存写进硬盘而出现的。

还有其他的一些,先鸽了,明天再写!  XD


游戏里的优化:
.....待编辑更新


剩下的内容,明天再写,
顺便问一下是否可以引用隔壁站的连接
如果可以的话,写得不会这么束手束脚的 XD

第一次编辑这种帖子,有什么问题请多多包涵,如果能友好提出来就更好了
排版实在太难了,我还是直接按顺序写吧









评分

参与人数 8威望 +19 金币 +397 贡献 +9 收起 理由
EmptyLava + 1 史诗评级高亮
戴风RichDemo + 1 MCPLUGIN不倒,陪你到老!
大自然的搬运工 + 3 + 15 MCP需要你这样的人才!!!
燕子 + 18 有你这样的人才,MCP将会越做越好!.
OasisCY + 24 有你这样的人才,MCP将会越做越好!.
小鸟游六花 + 15 这才是真真真的大神!
觉的舔狗 + 12 + 294 + 9 精一
Ke_Ke + 3 + 30 有你这样的人才,MCP将会越做越好!.

查看全部评分

楼主最新发布
发表于 2020-3-29 09:00:19 | 显示全部楼层
感谢楼主的分享,很干货的一篇文章!
学到了学到了,期待更新!!!
楼主的帖子如果太长,可以选择分页哦
我的世界论坛  我的世界中文论坛 论服务器的优化以及其他注意事项。 图片(1)

点评

分页嘛 我都写完后 再做个目录 然后再分页 /感觉可行 另外呐,可不可以指路隔壁站的地址,许多插件都是在哪里发布的[/backcolor]  详情 回复 发表于 2020-3-29 15:21
回复

使用道具 举报

发表于 2020-3-29 10:56:14 | 显示全部楼层
楼 主 辛 苦 了
我的世界论坛  我的世界中文论坛 论服务器的优化以及其他注意事项。 图片(2)

点评

这坑摆这里了 看看什么时候可以填完  详情 回复 发表于 2020-3-29 15:23
回复

使用道具 举报

 楼主| 发表于 2020-3-29 15:21:28 | 显示全部楼层
Ke_Ke 发表于 2020-3-29 09:00
感谢楼主的分享,很干货的一篇文章!
学到了学到了,期待更新!!!
楼主的帖子如果太长,可以选择分页哦

分页嘛 我都写完后 再做个目录 然后再分页 /感觉可行
另外呐,可不可以指路隔壁站的地址,许多插件都是在哪里发布的

点评

可以的哦!同时也欢迎发布插件到MCP!  发表于 2020-3-29 16:02
回复

使用道具 举报

 楼主| 发表于 2020-3-29 15:23:50 | 显示全部楼层

我的世界论坛  我的世界中文论坛 论服务器的优化以及其他注意事项。 图片(3) 这坑摆这里了 看看什么时候可以填完
回复

使用道具 举报

发表于 2020-4-2 10:36:59 | 显示全部楼层
我的世界论坛  我的世界中文论坛 论服务器的优化以及其他注意事项。 图片(4)
回复

使用道具 举报

发表于 2020-5-2 17:08:14 | 显示全部楼层
这是大佬,顶
回复

使用道具 举报

发表于 2020-5-30 10:04:40 | 显示全部楼层
这是我见过mcp排版最好看的帖子!!!我的世界论坛  我的世界中文论坛 论服务器的优化以及其他注意事项。 图片(5)
回复

使用道具 举报

发表于 2020-6-2 13:24:34 | 显示全部楼层
我爱你
谢谢我的世界论坛  我的世界中文论坛 论服务器的优化以及其他注意事项。 图片(6)
回复

使用道具 举报

发表于 2020-9-13 22:26:09 | 显示全部楼层
教程写的很不错 ,有些部分还是漏掉了哦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表
19