《我的世界》新mod將允許服務(wù)器支持上千名玩家
- 來源:PCgamer
- 作者:3DM編譯
- 編輯:爆裂真菌
《我的世界》目前情況下,僅在單個CPU上單線程處理有關(guān)服務(wù)器的所有信息。這意味著不論你有多強(qiáng)的電腦,一旦游戲中有數(shù)十甚至數(shù)百名玩家時,游戲的運(yùn)行效率性能就一定會大打折扣,服務(wù)器的刷新率會降低到無法正常游玩的程度。目前,《我的世界》同一世界的最多玩家世界紀(jì)錄數(shù)為 2622 名玩家,但是在這種情況下這些玩家什么事情都做不了。
但是不用擔(dān)心,一個由程序員 Jackson Roberts 開發(fā)的 mod 可能會改變這一切!
在 2020 年時他想要一個隔離期間能做的項目,因此決定創(chuàng)建一個超大的《我的世界》服務(wù)器,并且可以沒有延遲地容納數(shù)千名玩家。《我的世界》目前的單線程服務(wù)器軟件顯然無法勝任這項工作,因此 Roberts 和合作者 Harvey298 決定它們將研究如何構(gòu)建自己的服務(wù)器軟件,并將該項目稱為 Mammoth(猛犸象)。
Roberts 解釋說,第一次嘗試是一個概念證明系統(tǒng),它將《我的世界》中的世界分成 1024 個塊,每個塊都由自己的服務(wù)器運(yùn)行:邊界區(qū)域?qū)煌剑?wù)器在彼此之間傳輸移動對象。但是,它有太多問題:玩家無法“跨”服務(wù)器看到彼此,一臺服務(wù)器宕機(jī)導(dǎo)致該部分世界無法訪問,而且如果許多玩家聚集在一個小區(qū)域內(nèi),該方案根本無法解決任何問題。
在這次經(jīng)歷之后,Roberts 為 Mammoth 設(shè)定了一系列目標(biāo),包括:玩家必須能夠看到彼此,即使在不同的服務(wù)器進(jìn)程中;當(dāng)玩家放置方塊或更新標(biāo)志時,所有其他玩家都應(yīng)該立即看到;如果一臺服務(wù)器宕機(jī),整個世界應(yīng)該仍然可以訪問;如果需要,可以隨意添加或刪除服務(wù)器以適應(yīng)玩家數(shù)量。
他提出的想法是一個集中的后端數(shù)據(jù)庫,當(dāng)《我的世界》服務(wù)器出現(xiàn)和消失時,它可以在它們之間進(jìn)行通信,并不斷傳遞有關(guān)例如玩家移動等信息。在嘗試了一些現(xiàn)有軟件(例如 redis 和 SpatialOS)后,Roberts 發(fā)現(xiàn)它不適合他的目的,因此決定構(gòu)建自己的軟件 WorldQL,他將其描述為“為多人游戲構(gòu)建的實(shí)時、可編寫腳本的空間數(shù)據(jù)庫,它可以替代傳統(tǒng)游戲服務(wù)器或用于平衡現(xiàn)有游戲服務(wù)器?!?
所以,將于 9 月 8 日發(fā)布的新版 Mammoth mod 將建立在 World QL 上,它存儲“所有永久的世界變化并在服務(wù)器之間傳遞實(shí)時玩家信息(例如位置)”?;旧?,每個服務(wù)器都在不斷地向 World QL 報告其數(shù)據(jù),然后根據(jù)這些報告向其他服務(wù)器提問:如果它知道一個玩家在另一個玩家附近,并且第一個玩家的服務(wù)器說他們已經(jīng)移動了,WorldQL 會詢問另一個正在做什么。
演示視頻:
“在 Mammoth 中,沒有一個 Minecraft 服務(wù)器負(fù)責(zé)存儲世界。來自基礎(chǔ)種子的所有塊更改都集中存儲在 WorldQL 中。這些更改按塊坐標(biāo)和時間進(jìn)行索引,因此《我的世界》服務(wù)器只能請求它需要的更新。”
Jackson Roberts 的帖子更詳細(xì)的介紹了該 mod 其它的功能,例如“實(shí)時塊同步”、消息代理以及在 World QL 腳本環(huán)境中創(chuàng)建的 Minecraft 迷你游戲的未來潛力。更多詳情可以查看 Mammoth 項目的 github 頁面。
Github頁面:點(diǎn)擊這里
玩家點(diǎn)評 (0人參與,0條評論)
熱門評論
全部評論