MagicalStoneEX 地狱门的区块加载器是完全可以正常工作的,事实上我们的苔藓机就用到了加载器来防止意外卸载导致的卡圆石。
关于区块加载器,我认为这是一个某种程度上可以节约性能的代替挂机的方案。
这个观点看起来有点反直觉,明明加载了更多的区块,为什么反而称其节约性能?注意我的前提条件是用于“代替挂机”,即:同样都是生产,使用区块加载器生产比玩家挂机生产更节约性能。这是很显然的,因为单个区块加载器只会加载5x5区块范围内的红石以及3x3区块范围内的实体,这对于一个正常机器的大小来说已经绰绰有余。而一个挂机的玩家会加载服务器视距范围内的所有方块和模拟范围内的所有实体,更不用说玩家还会带来刷怪等问题。
上面这点在我之前的测试中就已经有所印证。如果我人站在家里挂苔藓机,造成的mspt的消耗大约10左右。但如果我回到出生点(出生点附近始终有其他玩家),通过加载器挂苔藓机,mspt消耗仅为2左右。当然这可能有点极端,因为我们家地底下能增加mspt消耗的东西太多了……猪人塔、村民交易等等。事实上也不推荐大家没事干站在工业区挂机。
虽说如此,但区块加载器确实会导致在线或者不在线的玩家“隐性”地消耗服务器性能,何况加载器一旦被滥用,会造成更为可怕的后果。考虑到可能的影响,我们目前也只是出于防故障设置了四处加载器,并且全都接入了机器开关或者中控来保证不会常驻加载某个区域。尽管如此,我依旧认为合理使用加载器能够有效地帮助缓解服务器压力。设想如果我需要大量羊毛来进行一些工程,比起自己呆在羊毛厂挂机生产,不如我通过加载器生产,但自己跑到出生点、地狱出生点挂机甚至下线,通过TG来获取游戏内消息。
所以讨论了这么多,想要解决性能问题,最后还是要回归产生性能问题核心原因:生产。我们固然需要生产,而且不少时候需要大量生产。我前几天闲着没事在毛线飞着逛了好几圈,看到了很多优秀的大型建筑和规划。石材、木材……这些都是完成这些大型建设所需要的基础物资,对应的树场、刷石机、熔炉组等等也是很重要的基础生产设施。但在真正开始造机器,挂机器之前,我希望能够想清楚几个问题
为什么需要生产?需要产多少?
生产出来的资源需要被使用消耗,才能产生相应的价值。额外生产一部分作为备用也没有问题,但如果只是为了满足仓鼠症填满仓库,那样的生产则是没有意义的,我认为是不值得被提倡的。为了出售而生产也是可以理解的,因为他人可能会有需求。但市场总会饱和的,当某种资源的哪怕以极低的价格也卖不出去时,我觉得就需要考虑是否该继续生产了。
在这里我可能也需要做一下自我检讨。我严重低估了长时间自动生产所能带来的收益,这导致目前我们有着近500盒的橡木。我觉得整个服务器都用不了这么多,这属于是产量过剩的典型反面案例了。
如何获取?
虽然我们明确了需求,但有的时候真的需要我们自己动手吗?比如我们需要橡木时,真的有必要自己搭一个树场吗?也许在服务器的某个地方,有人或许囤积了几百盒的橡木?我认为游戏里的货币同样作为一种资源,也是需要被使用来发挥价值的,没有必要过于吝啬。当然如果买不起的话…… 我相信服务器的大家都比较好说话,总是会有办法的。
如何生产?
如果权衡了一些途径,最后真的打算自己生产了,那就去做吧。最好是找已经建成的机器。但如果找不到合适的机器,或者实在很想要自己动手,那就得考虑一些机器设计的事情了。
关于机器设计的学问很多,如果要细说就过于复杂了。我这里只是希望大家从实际需求出发,并多去关注机器的性能消耗。可以去寻找那些知名的、较为成熟的机器设计,尤其是那些经过多次迭代,优化过性能和稳定性的机器。简单的机器也可以自己手动制作,在实现功能后尽可能地去做一些性能优化,比如多锁几个漏斗,少摆一些红石线,减缓一些高频之类。
最重要的还是要强调一下,那就是根据实际的需求进行生产,而不是无限制的挂机。
实在是讲太多废话了,也是因为我最近同样关注毛线的性能问题。我昨天还找卷看了眼毛线的配置文件,可以说是把paper端里面不怎么影响原版特性的性能优化全都打开了。如果再继续优化,可能会对包括怪物刷新、AI产生严重影响,那样很多基于原版特性的机器都会无法继续使用了。