《我的世界》新mod將允許伺服器支援上千名玩家
《我的世界》目前情況下,僅在單個CPU上單執行緒處理有關伺服器的所有資訊。這意味著不論你有多強的電腦,一旦遊戲中有數十甚至數百名玩家時,遊戲的執行效率效能就一定會大打折扣,伺服器的重新整理率會降低到無法正常遊玩的程度。目前,《我的世界》同一世界的最多玩家世界紀錄數為 2622 名玩家,但是在這種情況下這些玩傢什麼事情都做不了。
但是不用擔心,一個由程式設計師 Jackson Roberts 開發的 mod 可能會改變這一切!
在 2020 年時他想要一個隔離期間能做的專案,因此決定建立一個超大的《我的世界》伺服器,並且可以沒有延遲地容納數千名玩家。《我的世界》目前的單執行緒伺服器軟體顯然無法勝任這項工作,因此 Roberts 和合作者 Harvey298 決定它們將研究如何構建自己的伺服器軟體,並將該專案稱為 Mammoth(猛獁象)。
Roberts 解釋說,第一次嘗試是一個概念證明系統,它將《我的世界》中的世界分成 1024 個塊,每個塊都由自己的伺服器執行:邊界區域將會被同步,伺服器在彼此之間傳輸移動物件。但是,它有太多問題:玩家無法“跨”伺服器看到彼此,一臺伺服器當機導致該部分世界無法訪問,而且如果許多玩家聚集在一個小區域內,該方案根本無法解決任何問題。
在這次經歷之後,Roberts 為 Mammoth 設定了一系列目標,包括:玩家必須能夠看到彼此,即使在不同的伺服器程式中;當玩家放置方塊或更新標誌時,所有其他玩家都應該立即看到;如果一臺伺服器當機,整個世界應該仍然可以訪問;如果需要,可以隨意新增或刪除伺服器以適應玩家數量。
他提出的想法是一個集中的後端資料庫,當《我的世界》伺服器出現和消失時,它可以在它們之間進行通訊,並不斷傳遞有關例如玩家移動等資訊。在嘗試了一些現有軟體(例如 redis 和 SpatialOS)後,Roberts 發現它不適合他的目的,因此決定構建自己的軟體 WorldQL,他將其描述為“為多人遊戲構建的實時、可編寫指令碼的空間資料庫,它可以替代傳統遊戲伺服器或用於平衡現有遊戲伺服器。”
所以,將於 9 月 8 日釋出的新版 Mammoth mod 將建立在 World QL 上,它儲存“所有永久的世界變化並在伺服器之間傳遞實時玩家資訊(例如位置)”。基本上,每個伺服器都在不斷地向 World QL 報告其資料,然後根據這些報告向其他伺服器提問:如果它知道一個玩家在另一個玩家附近,並且第一個玩家的伺服器說他們已經移動了,WorldQL 會詢問另一個正在做什麼。
演示視訊:
“在 Mammoth 中,沒有一個 Minecraft 伺服器負責儲存世界。來自基礎種子的所有塊更改都集中儲存在 WorldQL 中。這些更改按塊座標和時間進行索引,因此《我的世界》伺服器只能請求它需要的更新。”
Jackson Roberts 的帖子更詳細的介紹了該 mod 其它的功能,例如“實時塊同步”、訊息代理以及在 World QL 指令碼環境中建立的 Minecraft 迷你遊戲的未來潛力。更多詳情可以檢視 Mammoth 專案的 github 頁面。
Github頁面:點選這裡
相關攻略文章
網飛與微軟聯手打造《我的世界》動畫劇集
《我的世界》 六一來了!誰還不是個小朋友呢
《我的世界》6月兌換碼2024年
《我的世界》res領地指令大全彙總
《我的世界》標記家的在哪裡方法
《我的世界》一鍵整理箱子方法介紹
《我的世界》execute指令使用方法介紹
《我的世界》不是哥們 誰把我整這樣了
《我的世界》方塊世界申請出戰!
《我的世界》保管符咒效果介紹
《我的世界》莫?520還有皮膚拿?
《Minecraft》Java版新手教程 Java版萌新入坑指南