《我的世界》新mod將允許伺服器支援上千名玩家

發佈日期

《我的世界》目前情況下,僅在單個CPU上單執行緒處理有關伺服器的所有資訊。這意味著不論你有多強的電腦,一旦遊戲中有數十甚至數百名玩家時,遊戲的執行效率效能就一定會大打折扣,伺服器的重新整理率會降低到無法正常遊玩的程度。目前,《我的世界》同一世界的最多玩家世界紀錄數為 2622 名玩家,但是在這種情況下這些玩傢什麼事情都做不了。

《我的世界》新mod將允許伺服器支援上千名玩家

但是不用擔心,一個由程式設計師 Jackson Roberts 開發的 mod 可能會改變這一切!

在 2020 年時他想要一個隔離期間能做的專案,因此決定建立一個超大的《我的世界》伺服器,並且可以沒有延遲地容納數千名玩家。《我的世界》目前的單執行緒伺服器軟體顯然無法勝任這項工作,因此 Roberts 和合作者 Harvey298 決定它們將研究如何構建自己的伺服器軟體,並將該專案稱為 Mammoth(猛獁象)。

《我的世界》新mod將允許伺服器支援上千名玩家

Roberts 解釋說,第一次嘗試是一個概念證明系統,它將《我的世界》中的世界分成 1024 個塊,每個塊都由自己的伺服器執行:邊界區域將會被同步,伺服器在彼此之間傳輸移動物件。但是,它有太多問題:玩家無法“跨”伺服器看到彼此,一臺伺服器當機導致該部分世界無法訪問,而且如果許多玩家聚集在一個小區域內,該方案根本無法解決任何問題。

在這次經歷之後,Roberts 為 Mammoth 設定了一系列目標,包括:玩家必須能夠看到彼此,即使在不同的伺服器程式中;當玩家放置方塊或更新標誌時,所有其他玩家都應該立即看到;如果一臺伺服器當機,整個世界應該仍然可以訪問;如果需要,可以隨意新增或刪除伺服器以適應玩家數量。

《我的世界》新mod將允許伺服器支援上千名玩家

他提出的想法是一個集中的後端資料庫,當《我的世界》伺服器出現和消失時,它可以在它們之間進行通訊,並不斷傳遞有關例如玩家移動等資訊。在嘗試了一些現有軟體(例如 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頁面:點選這裡

相關攻略文章

最新攻略