Nightbreak 設定與內容管理
本頁面是 Nightbreak 管理外掛程式的共享設定指南。
它直接適用於:
- EliteMobs
- BetterStructures
- FreeMinecraftModels
- EternalTD
- ResurrectionChest
- WorldCannon
這些外掛程式現在共享相同的整體生命週期:
- 安裝外掛程式和所有硬性相依性。
- 啟動伺服器一次,以便產生檔案和選單。
- 如果外掛程式有首次設定命令,請執行它。
- 使用
/nightbreaklogin <token>連結 Nightbreak 權杖。 - 使用外掛程式設定選單瀏覽、安裝、啟用、停用和更新內容。
- 當您需要更快的初始啟動時,使用外掛程式的批次下載/更新命令。
MagmaCore 實際共享的內容
MagmaCore 是 Nightbreak 管理流程背後的共享層。它提供:
- 共享命令
/nightbreaklogin <token>(權限nightbreak.login,預設為 OP) - 共享命令
/nightbreaklogout,用於解除伺服器與其 Nightbreak 帳戶的連結(權限nightbreak.login,預設為 OP) - 共享命令
/logify,可將當前伺服器日誌上傳至 mclo.gs(權限logify.*,預設為 OP) - 共享命令
/nightbreak plugins,可瀏覽 Nightbreak 外掛程式目錄(權限nightbreak.plugins,預設為 OP) plugins/MagmaCore/nightbreak.yml中的共享權杖儲存- 外掛程式設定選單使用的共享設定選單原語
- 共享的 Nightbreak 存取、版本和下載檢查
- 將檔案下載到所屬外掛程式
imports資料夾的共享批次下載邏輯 - 共享的更新日誌收件匣,會在外掛程式或已安裝內容包有未讀發行說明時於遊戲中通知管理員(請參閱 Nightbreak 更新日誌通知)
- 每個 Nightbreak 管理外掛程式都會註冊在自己根命令之下的標準子命令集(見下方)
/nightbreaklogin、/nightbreaklogout、/logify 與 /nightbreak 皆由首個載入 MagmaCore 的 Nightbreak 管理外掛程式在每台伺服器註冊一次,因此無論執行時是哪個外掛程式「擁有」它們,這些命令都可以使用。
共享的標準子命令
以下子命令並非由每個外掛程式各自撰寫。MagmaCore 會把同一套實作註冊到外掛程式所宣告的任何根命令之下(/em、/bs、/fmm、/etd、⋯),這正是它們在各處行為一致的原因。
| 子命令 | 作用 | 權限 |
|---|---|---|
setup | 開啟該外掛程式的設定選單。僅限玩家。 | 外掛程式的 setup 權限 |
initialize | 當外掛程式註冊了首次設定流程時,為玩家開啟該選單。預設模式並非必要條件;FreeMinecraftModels 也註冊了此命令。請查看各外掛程式的命令頁面。 | 外掛程式的 initialize 權限 |
recommendedplugins | 顯示推薦的搭配外掛程式(遊戲內為選單,主控台則為聊天清單)。 | 外掛程式的 setup 權限 |
downloadpluginupdate | 僅下載外掛程式更新 jar,不含內容。 | 外掛程式的 admin 權限 |
downloadall | 下載外掛程式更新,接著下載所有可用內容。 | 外掛程式的 admin 權限 |
downloadallcontent | 下載所有可用內容,不含外掛程式更新。只有提供內容套件的外掛程式才會註冊它。 | 外掛程式的 setup 權限 |
updatecontent(別名 updateallcontent) | 僅下載已過時內容的更新。只有提供內容套件的外掛程式才會註冊它。 | 外掛程式的 setup 權限 |
forcereinstallcontent <package|all> | 即使已安裝的版本已是最新,仍透過正常的已驗證匯入與重載路徑重新下載內容。all 涵蓋每個已下載、已安裝或已過時的套件;若某個套件的檔案完全遺失,請直接傳入該套件的 slug。只有提供內容套件的外掛程式才會註冊它。 | 外掛程式的 admin 權限 |
各欄背後確切的權限節點由該外掛程式自行選擇,因此請查看該外掛程式自己的頁面以取得節點名稱。initialize 是首次引導流程 —— 它不會取代設定選單或內容管理命令。
由於 downloadall 從外掛程式更新開始,當帳戶沒有權杖或權杖驗證失敗時,它會在進入內容步驟之前停止。請先修正權杖,再重新執行。
MagmaCore 還有一個單獨的外掛程式啟動初始化系統,但這與此處記錄的面向玩家的 initialize 命令並非同一回事。
自動更新
每個 Nightbreak 管理外掛程式都會在自己的 config.yml 中寫入一個共享的鍵:
nightbreak:
autoDownloadPluginUpdates: false
設為 true 時,該外掛程式會在啟動幾分鐘後自動下載:
- 可用的外掛程式更新 jar,以及
- 它所管理之任何過時內容套件的更新檔案。
已下載的外掛程式與內容更新要在伺服器重新啟動後才會被使用 —— 不會有任何東西被熱抽換進執行中的伺服器。此設定預設為 false,因此開箱即用時你仍是使用遊戲內的更新按鈕。
外掛程式 jar 的自動下載同時需要有效的帳戶權杖,以及所連結 Nightbreak 帳戶上有效的支持者 Patreon 會員資格。若缺少其中之一,下載會被拒絕且外掛程式會記錄原因。下載也會經過驗證:該 jar 會先經過校驗和檢查並驗證為真正的外掛程式產物,才會被放入伺服器的 update 資料夾;檢查失敗則會丟棄該檔案而不安裝。
與自動下載設定分開,每個外掛程式大約每小時會安靜地重新檢查一次是否有更新版本,好讓設定選單能顯示準確的更新狀態。該檢查本身永遠不會下載任何東西。
伺服器擁有者推薦流程
1. 首先安裝外掛程式
將外掛程式 jar 檔案和所有必需的硬性相依性放入 plugins/,然後啟動伺服器一次。
2. 執行首次設定流程
如果外掛程式提供 initialize 命令,請先使用它。當前選單的設計目的是:
- 將首次設定標記為已完成
- 引導您進行 Nightbreak 帳戶連結
- 引導您進入當前的設定選單
- 說明何時手動匯入仍然有效
當外掛程式註冊了首次設定流程時,為玩家開啟該選單。預設模式並非必要條件;FreeMinecraftModels 也註冊了此命令。請查看各外掛程式的命令頁面。
3. 連結您的 Nightbreak 帳戶
前往 Nightbreak 帳戶頁面,取得您的伺服器權杖,然後執行:
/nightbreaklogin <token>
權杖透過 MagmaCore 共享,因此一個已連結的權杖可以被該伺服器上所有相容的 MagmaGuy 外掛程式重複使用。
4. 使用設定選單進行日常內容管理
設定選單是以下內容的當前權威來源:
- 套件狀態
- 存取狀態
- 已安裝與已下載的內容
- 需要修復的部分安裝內容
- 過時的內容
- 按類別篩選的內容
如果您有已連結的權杖,設定選單是安裝和更新內容的推薦位置。
5. 需要速度時使用批次安裝/更新
當您想快速架設伺服器時使用 downloadall 命令,當您想重新整理所有過時內容時使用 updatecontent 命令。
共享批次下載器僅嘗試符合以下條件的 Nightbreak 管理套件:
- 具有 Nightbreak slug
- 對已連結的權杖可存取
- 尚未下載,或已被標記為過時
互動式批次命令會在至少一次下載成功後,要求所屬外掛程式重新載入。啟動時的自動內容下載則刻意不重新載入外掛程式;它們會在伺服器重新啟動後生效。
共享概念
已下載與已安裝
一個套件可以在本機存在但未啟用。確切含義因外掛程式而略有不同,但設定選單狀態比 imports 中是否存在 zip 檔案更為重要。
批次下載同樣會落入手動匯入所使用的相同外掛程式 imports 資料夾,並在外掛程式特定的匯入/重載步驟完成之前。
存取感知內容
設定選單現在可以區分以下內容:
- 對您的權杖可用
- 需要購買或解鎖
- 已安裝
- 僅部分安裝
- 已下載但已停用
- 已過時
手動匯入仍然有效
Nightbreak 管理的外掛程式仍然支援手動匯入工作流程。手動匯入現在是備用路徑,而非預設路徑。請參閱手動匯入與遊戲內管理。
不使用此流程的外掛程式
並非此 Wiki 中的每個外掛程式都使用 Nightbreak 管理的可下載內容。
- BetterFood 不使用 Nightbreak 套件管理
- ResourcePackManager 管理資源包,而非 Nightbreak DLC 套件
這兩個外掛程式仍然會註冊共享的設定外殼,以及共享的外掛程式更新與更新日誌命令; 它們所缺少的只是 Nightbreak 內容套件。
ResurrectionChest 與 WorldCannon 並非例外 —— 兩者都宣告了內容套件、 都註冊了共享的內容子命令,也都會執行共享匯入器,因此它們同樣接受手動放置的套件 zip。請參閱 手動匯入與遊戲內管理。