第一中文网

第三十二章 tickgarea-基岩版控制常加载区块 (第1/2页)

天才一秒记住【第一中文网】地址:www.dyzww.cc

在“第二十八章——区块”中,我曾提到过Java版和基岩版分别有一条指令用于控制常加载区块。

在基岩版中,这条指令是:\/tickingarea,即一直执行游戏刻(ticking)的地区(area)。

\/tickingarea

作用:增加、减少或查看常加载区块。

需要权限等级:1

需要作弊:是

格式:

\/tickingarea add <起点方块坐标><终点方块坐标>[此区域名称:字符串]

\/tickingarea add circle <区域圆心坐标><区域半径:整数>[此区域名称:字符串]

\/tickingarea remove <地区位置:坐标>

\/tickingarea remove <地区名称:字符串>

\/tickingarea remove_all

\/tickingarea list [维度选项:all-dimensions]

书接前文,那个我的世界网易版租贷服在建完回城雪球后,发现一个问题:有时候这雪球不灵。

经过腐竹的仔细排查,发现是因为该命令方块链所在的区域虽然是在主城正下方,但因为基岩版并没有出生点区块,就导致有时候主城里玩家都跑光了,区块停止加载,回城雪球就不管用了。

为此,这位腐竹使用了以下指令:

\/tickingarea add 303 100 92 343 20 52 home

这条指令的作用是:

将与(303,100,92)到(343,20,52)这块区域有重叠部分的所有区块列为常加载区域,并取名为home。

其中,选取区域的模式和\/fill是一样的,即选定区域的对角坐标。虽然这里选取时有使用Y轴,但由于区块并不考虑Y轴,其实没多大用处。

游戏并不会将选取的区域直接列为常加载区域,而是会将与选取区域有重叠部分的所有区块(哪怕只有那么一块方块)列为常加载区域,不然游戏计算时就非常麻烦(因为精确到了每个方块)。

也就是说,哪怕你只选取了一格方块,也会将该格方块所在的区块列为常加载区域。

在使用这条指令过后的第三天下午,服务器的mSpt突然从原本的39ms\/t~57ms\/t暴增到了265ms\/t~527ms\/t,最高值甚至达到了3761ms\/t。虽然网易租贷服看不到那么直接的数据,但直观上的游戏卡顿已经快到玩不下去的地步了。腐竹接到管理员的消息过后,立马进服排查问题(因为存档上一次备份还在一个月前)。在忍受了数小时的超高延迟后,终于找到了问题:

主城范围冒险并没有覆盖到主城的地下,但这儿仍然是常加载区域。一位资深熊孩子在一个月前尝试炸服无果后,仔细钻研最终发现了这个漏洞。于是在主城的地下搞出了大量已经命名的生物(非法获取到刷怪蛋,命名后放入发射器,配备专门研制的高频红石)。这些被命名的生物无法消失,又因为处于常加载区块,造成了服务器卡顿。

腐竹为了解决这个问题,使用了如下指令:

\/kill @e[type=!player,r=50]

\/kill @e[type=item,r=50]

(此时服务器在经历一阵达好几万mSpt的卡顿后,终于顺畅了许多,然后腐竹就拆掉装置了,并将需要常加载区域的东西全部转移到了一个很远很远

本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!

如遇章节错误,请点击报错(无需登陆)

新书推荐

都市超品仙医 活在两个世界 大秦:这个太子总想着造反 与其说瞎话不如 穿越万界:神功自动满级 诛神乾坤 多子多福,仙女都被他抢了怎么办