[分享] 清除服务器因BUG所产生的隐形实体

楼主: softpak (喔喔喔)   2017-04-22 00:58:17
相信很多人应该都曾经被这件事所困扰著
不外乎是整个洗白或者那个区块的档案删掉
但在经过我3天的研究之后
有了突破性的解答
本来这篇我有发在巴哈
不过4个月之后文章就不见了
还好还有快取可以开网页
好了
=================以下正文(做了些许修改)=====================
这个问题可能很多开服的玩家都会遇到,
而这个问题你无论使用什么TAG或是把空间填充
都无法消除这些隐形的实体(invisible entity),
于是我大概研究了一下地图存盘的机制,
发现所有的资料都是以CHUNK为单位储存在各自的档案里,
上面是句废话,
不过我觉得我好像花了太多时间去理解这件事情了。
通常有几个方法可以解决这个问题:
1. 地图整个删除重新来过
2. 该区块档案删除重新来过
但是玩家的心血通常就这样子没了,
所以我发现透过WE(WorldEdit)这个插件简单的操作,
可以将损害降至最低,
首先需要将所有的告示牌、箱子、指令方块这些东西备份或暂时搬到别处,
站在该CHUNK内并依序执行以下指令:
//chunk (选取该区块)
//copy (复制该区块 此举可有可无)
//regen (重新生成该区块)
//undo (复原该区块)
这样那个CHUNK内所有无法删除的隐形实体都会消失,
注意该备份或要移动物品要先进行备份或移动,
我是比较推荐移动的方式,
较为保险。
至于为什么会产生这些隐形实体,
我只能观察到这些ENTITY并没有完整的ID,
但其他资料都是完整的,
只能说游戏内部可能需要实作复原或者删除这些实体的办法,
避免产生无法选取的实体。
希望对大家有帮助
作者: haidai (haidai)   2017-04-22 08:11:00
6666666
作者: bespace (香草._.)   2017-04-22 13:31:00
直接用TNT呢XD?
作者: cs8425 (cs)   2017-04-22 13:55:00
用指令如何? /kill @e[r=32]
作者: tonylo2ooo (Logo)   2017-04-22 16:58:00
tnt不一定炸得死,有时候是一些什么原地坐下插件当时坐下就用系统写一个无敌的矿车,直到使用者站起来才再用指令清掉,但是判定没写好或是服务器整个大断线其实可以写一些简单的插件,进行entity purge例如清除所有无法被伤害的entity之类了我之前的restoreNature插件把回填方块改成上面的涵式应该就可以了 剩下purge的排程就照本来插件来弄
楼主: softpak (喔喔喔)   2017-04-22 17:27:00
kill杀不死
作者: mamaya3 (mamaya)   2017-04-22 17:39:00
没遇过这状况 但opis的purge world不知道能不能用
作者: BUHUDAIN (任性骄傲的猫)   2017-04-24 22:54:00
因为UUID重复造成系统无法处理,所以杀了第一只再来就喷找不到实体,但是实体依旧在,而且重新加载该区块那个实体又回来了我有试过一只一只抓出来改UUID 不过好像没有用....
楼主: softpak (喔喔喔)   2017-04-25 00:24:00
那个好像是初期症状 ID还是完整的 我们之后遇到的都是ID不完整的实体所以我想regen chunk会有用应该就是把实体都给清除了

Links booklink

Contact Us: admin [ a t ] ucptt.com