作者softpak (喔喔喔)
看板Minecraft
標題[分享] 清除伺服器因BUG所產生的隱形實體
時間Sat Apr 22 00:58:17 2017
相信很多人應該都曾經被這件事所困擾著
不外乎是整個洗白或者那個區塊的檔案刪掉
但在經過我3天的研究之後
有了突破性的解答
本來這篇我有發在巴哈
不過4個月之後文章就不見了
還好還有快取可以開網頁
好了
=================以下正文(做了些許修改)=====================
這個問題可能很多開服的玩家都會遇到,
而這個問題你無論使用什麼TAG或是把空間填充
都無法消除這些隱形的實體(invisible entity),
於是我大概研究了一下地圖存檔的機制,
發現所有的資料都是以CHUNK為單位儲存在各自的檔案裡,
上面是句廢話,
不過我覺得我好像花了太多時間去理解這件事情了。
通常有幾個方法可以解決這個問題:
1. 地圖整個刪除重新來過
2. 該區塊檔案刪除重新來過
但是玩家的心血通常就這樣子沒了,
所以我發現透過WE(WorldEdit)這個插件簡單的操作,
可以將損害降至最低,
首先需要將所有的告示牌、箱子、指令方塊這些東西備份或暫時搬到別處,
站在該CHUNK內並依序執行以下指令:
//chunk (選取該區塊)
//copy (複製該區塊 此舉可有可無)
//regen (重新生成該區塊)
//undo (復原該區塊)
這樣那個CHUNK內所有無法刪除的隱形實體都會消失,
注意該備份或要移動物品要先進行備份或移動,
我是比較推薦移動的方式,
較為保險。
至於為什麼會產生這些隱形實體,
我只能觀察到這些ENTITY並沒有完整的ID,
但其他資料都是完整的,
只能說遊戲內部可能需要實作復原或者刪除這些實體的辦法,
避免產生無法選取的實體。
希望對大家有幫助
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.231.87
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Minecraft/M.1492793900.A.536.html
1F:推 haidai: 6666666 04/22 08:11
2F:推 bespace: 直接用TNT呢XD? 04/22 13:31
3F:推 cs8425: 用指令如何? /kill @e[r=32] 04/22 13:55
4F:推 tonylo2ooo: tnt不一定炸得死,有時候是一些什麼原地坐下插件 04/22 16:58
5F:→ tonylo2ooo: 當時坐下就用系統寫一個無敵的礦車,直到使用者站起來 04/22 16:58
6F:→ tonylo2ooo: 才再用指令清掉,但是判定沒寫好或是伺服器整個大斷線 04/22 16:58
7F:→ tonylo2ooo: 其實可以寫一些簡單的插件,進行entity purge 04/22 16:59
8F:→ tonylo2ooo: 例如清除所有無法被傷害的entity之類了 04/22 16:59
9F:→ tonylo2ooo: 我之前的restoreNature插件把回填方塊改成上面的涵式 04/22 17:00
10F:→ tonylo2ooo: 應該就可以了 剩下purge的排程就照本來插件來弄 04/22 17:00
11F:→ softpak: kill殺不死 04/22 17:27
12F:推 mamaya3: 沒遇過這狀況 但opis的purge world不知道能不能用 04/22 17:39
13F:→ BUHUDAIN: 因為UUID重複造成系統無法處理,所以殺了第一隻 04/24 22:54
14F:→ BUHUDAIN: 再來就噴找不到實體,但是實體依舊在,而且重新載入 04/24 22:55
15F:→ BUHUDAIN: 該區塊那個實體又回來了 04/24 22:55
16F:→ BUHUDAIN: 我有試過一隻一隻抓出來改UUID 不過好像沒有用.... 04/24 22:57
17F:→ softpak: 那個好像是初期症狀 ID還是完整的 我們之後遇到的都是 04/25 00:24
18F:→ softpak: ID不完整的實體 04/25 00:24
19F:→ softpak: 所以我想regen chunk會有用應該就是把實體都給清除了 04/25 00:24