Nukkit

出自Minecraft基岩版开发Wiki

核能驅動的Minecraft基岩版伺服器軟體。

——Nukkit

Nukkit(簡稱NK)是由MagicDroidX發起的,使用Java編寫的基岩版伺服器端核心。初版Nukkit的GitHub倉庫於2015年5月23日首次提交,現已停止維護。NukkitX是被原Nukkit團隊官方認可並由CloudburstMC團隊積極維護的分支版本。

Nukkit擁有相當豐富的社群分支,例如PM1EPowerNukkitPowerNukkitX等。它們自攜帶版0.12更迭至今,共同成就了燦爛輝煌的Nukkit社群。

特點[編輯]

優勢[編輯]

  • 作為老牌開源伺服器端,Nukkit擁有強大的社群支援和良好的社群生態;
  • Nukkit提供完善、便捷、強大的外掛支援[1],目前公開發布的外掛已多達數千個[2][3]
  • Nukkit適於大型伺服器的搭建,其可靠地支撐了諸如花雨庭、EaseCation等玩家眾多的知名基岩版伺服器;
  • Nukkit的大多數分支仍在迅速更新維護,龐大的社群幫助開發人員及時有效解決問題,第一時間跟進遊戲版本;
  • Nukkit提供PocketMine風格API,卻有更大的效能優勢;
  • 相較於其他伺服器端,在Linux上使用Nukkit有極大的效能優勢,在Windows上同樣表現優異。

劣勢[編輯]

  • Nukkit最初為小遊戲伺服器設計,拋棄了很多原版遊戲特性[注 1]
  • Java虛擬機(jvm)環境版本相容性差;
  • Java多線程的優勢並未得到充分利用。

社群歷史[編輯]

時間 事件
2014—2015年 MagicDroidX開始策劃開發API與PocketMine、Bukkit相似,效能比PocketMine更高的伺服器端。
2015年5月17日 MagicDroidX主導的團隊[4]建立了Nukkit開源倉庫並開始開發Nukkit。
2016年2月 Nukkit初步定型,Nukkit社群也蓬勃發展起來。
2017年10月 Nukkit開源版本不再進行內容更新,並標註「Inactive(不活躍)」。此後,社群將精力放在NukkitX的開發上,NukkitX也成為了Nukkit官方推薦的繼承者。[5]
2020年1月23日 NukkitX開發組宣布,因Nukkit內核歷史遺留問題太多,他們決定重寫一個新的Nukkit,最初命名為Nukkit2.0。
2020年5月2日 NukkitX併入CubeCraft團隊,成為CubeCraft團隊的一部分。[6]
2020年7月3日 NukkitX團隊名更名CloudburstMC,NukkitX的java包名也由cn.nukkit改為org.cloudburst。[7]
2020年7月5日 CloudburstMC抹去了NukkitX分支後綴「X」,使用Nukkit的名稱繼續維護,但社群通常仍稱呼為NukkitX以進行區分。[8]

分支[編輯]

官方團隊[編輯]

官方團隊的GitHub倉庫最後提交於2019年6月,隨後便被歸檔,宣告Nukkit官方版本停止維護。許多社群開發人員自行組建團隊,繼續為Nukkit做新遊戲版本的維護工作。

CloudburstMC團隊[編輯]

CloudburstMC團隊是原Nukkit團隊官方認可的繼承者,隸屬於CubeCraft Games[9],擁有著可靠的後方支援和可觀的發展前景。他們目前維護著以下兩個分支:

  • Nukkit[注 2]:原名NukkitX,以維持版本更新與修復穩定性為主的分支,不對遊戲新功能進行加入。
  • Cloudburst:原名Nukkit2.0,是Nukkit基礎上的重構版本。目前不推薦在生產環境中使用。

PowerNukkit[編輯]

PowerNukkit

PowerNukkit由外國團隊維護,目標是提供完整的Minecraft遊戲體驗。它持續加入了遊戲的新特性,如含水方塊、紅石、非慣用手槽等,支援幾乎所有方塊和物品,且相容大部分Nukkit外掛;然而缺少一定的穩定性。同時,PowerNukkit地圖檔案中的物品ID與Nukkit略有不同,二者地圖無法完美轉換。

PowerNukkitX[編輯]

PowerNukkitX

PowerNukkitX是由包括BlocklyNukkit團隊在內的中國Nukkit開發人員們負責開發維護的分支,它修復了PowerNukkit的眾多BUG,提高了效能,加入了LiteLoader外掛的支援,內建Terra地形生成器;並且及時跟進新版本支援、支援1.18所有新方塊和新物品、支援新版地獄。在這些大變更的情況下,PowerNukkitX仍然保持了良好的外掛相容性,Nukkit生態中的數千個外掛仍然可以良好執行。得益於完全開源的程式碼,開發人員在遵守開源許可的情況下使用PowerNukkitX沒有任何法律風險,內部的數十萬API可以隨意呼叫,也可以深入檢視實現,透過JVM生態中的各種工具及其方便地進行開發、除錯、注入、攔截。

目前,PowerNukkitX正在積極開發維護。

PetteriM1Edition[編輯]

NukkitPetteriM1Edition是Cloudburst核心開發人員PetteriM1為其伺服器SuomiCraft PE製作的分支。內建生物AI和生成,實現更多的方塊、物品和指令(地圖、盾牌、弩、更多紅石方塊等)。

中國版[編輯]

網易代理我的世界中國版後,聯合EaseCation開發組等國內團隊持續為中國版手遊網路遊戲伺服器維護特殊版本的Nukkit。他們為Nukkit加入了ModAPI的接入能力並且實現了原版的行為包功能。

評價[編輯]

MCPE 向來被認為是「落後的領域」,非但官方沒有出伺服器軟體,還透過頻繁變更協定的方法阻擾開服器作者的工作。Nukkit 頂住壓力,開發組日夜倒班,破解了 MCPE 大部分的協定和傳輸方式,一次次的扇某jang和某coshoft的開發人員的耳光。我們相信,有了我們活潑可愛我們的開發人員,Nukkit 總會度過無窮難關。[注 3][10]

——Snake1999

如果你是PC外掛開發人員,或許你可以很快適應NK的API;如果你是PE外掛開發人員,或許你可以很快適應Java的語法。NK它的很多API和PM差不多,所以PE可以很快上手。[11]

——zmdd

Nukkit社群是一個非常友善的社群,即使你是新手,也能在社群幫助下快速學習和上手。同時這也是一個開放包容的技術社群,可以透過很多方式來使用豐富的NKAPI建立外掛,這裡從不排斥新想法。[12]

——超神的冰涼

Nukkit在國內作為PM原生第三方伺服器端社群的繼承者,充分發揮了其高度可自訂的特色,同時具有更強勁的效能和青出於藍的生態。但也由於單機遊戲特性的大量缺失,導致其在面對BDS時缺乏了一定的核心競爭力,留不住許多有生電需求的生存服主。因此,我非常期待PNX分支給NK社群帶來新的發展。[13]

——YYT

余談[編輯]

  • Nukkit建立前期,因其API與Bukkit相似,存在可將Bukkit外掛移植到Nukkit上的可能性,Pokkit專案也因此發起。Pokkit吸引了很多JE開發人員加入,然而後續隨著Nukkit停更夭折。
  • 來自俄國的開發人員社群曾是Nukkit最主要和最活躍的社群力量,他們創辦了nukkit.ru網站。隨著Nukkit停更,nukkit.ru團隊轉而開發Voxelwind[14]
  • 知名小遊戲伺服器EaseCation[15]便採用Nukkit和Nemisys構建群組服,承載千位玩家共同線上遊玩,其主要開發人員也是Nukkit的核心貢獻者之一。
  • NukkitX開發團隊被CubeCraft收購後,主要開發Geyser,國外眾多開發人員也紛紛進入JE圈子,Nukkit開發強度從此急劇下降,也逐漸不再能跟上基岩版社群發展的步伐。[16]
  • Nukkit實際上並非沒有一個「官方」的中文名稱。Nukkit主要開發人員之一的洛佳在一次自我介紹中描述過自己參與開發Nukkit的經歷,他把Nukkit稱作「『核能』遊戲伺服器端引擎」。

注釋[編輯]

  1. 實際上也不乏有解決該問題較好的分支,如PowerNukkitPowerNukkitX
  2. 這裡只是延用了官方的名稱。
  3. 原帖發表於2016年2月,彼時BDS尚未推出。「開發組」指國內原版Nukkit的開發組,即MDX主導的團隊。

參考資料[編輯]