Nightbreakセットアップとコンテンツ管理
このページは、Nightbreak管理プラグインの共有セットアップガイドです。
以下のプラグインに直接適用されます:
- EliteMobs
- BetterStructures
- FreeMinecraftModels
- EternalTD
- ResurrectionChest
- WorldCannon
これらのプラグインは、同じ全体的なライフサイクルを共有するようになりました:
- プラグインと必須の依存関係をインストールします。
- ファイルとメニューが生成されるように、サーバーを一度起動します。
- プラグインに初回セットアップコマンドがある場合は実行します。
/nightbreaklogin <token>でNightbreakトークンをリンクします。- プラグインのセットアップメニューを使用して、コンテンツの閲覧、インストール、有効化、無効化、更新を行います。
- より速い初期ブートストラップが必要な場合は、プラグインの一括ダウンロード/更新コマンドを使用します。
MagmaCoreが実際に共有するもの
MagmaCoreは、Nightbreak管理フローの背後にある共有レイヤーです。以下を提供します:
- 共有コマンド
/nightbreaklogin <token>(権限nightbreak.login、デフォルトはOP) - サーバーとNightbreakアカウントの接続を解除する共有コマンド
/nightbreaklogout(権限nightbreak.login、デフォルトはOP) - 現在のサーバーログを mclo.gs にアップロードする共有コマンド
/logify(権限logify.*、デフォルトはOP) - Nightbreakプラグインカタログを閲覧する共有コマンド
/nightbreak plugins(権限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 はダウンロード済み・インストール済み・古くなっているすべてのパッケージを対象とします。ファイルが完全に失われている場合は、そのパッケージのスラッグを直接指定してください。コンテンツパッケージを同梱するプラグインでのみ登録されます。 | プラグインのadmin権限 |
各列の背後にある正確な権限ノードはプラグインが選択するため、ノード名についてはそのプラグイン自身のページを確認してください。initialize は初回ガイダンスフローであり、セットアップメニューやコンテンツ管理コマンドを置き換えるものではありません。
downloadall はプラグインのアップデートから始まるため、アカウントにトークンがない場合や、トークンの認証に失敗した場合は、コンテンツのステップに進む前に停止します。まずトークンを修正してから再実行してください。
MagmaCoreにはプラグイン起動時の別の初期化システムもありますが、ここで説明されているプレイヤー向けの initialize コマンドとは異なります。
自動アップデート
すべてのNightbreak管理プラグインは、自身の config.yml に共通のキーを1つ書き込みます:
nightbreak:
autoDownloadPluginUpdates: false
true に設定すると、そのプラグインは起動から数分後に以下を自動的にダウンロードします:
- 利用可能なプラグインのアップデートjar
- そのプラグインが管理する、古くなったコンテンツパッケージのアップデートファイル
ダウンロードされたプラグインおよびコンテンツのアップデートは、サーバーの再起動後に適用されます — 稼働中のサーバーにホットスワップされることはありません。この設定のデフォルトは false なので、初期状態ではゲーム内のアップデートボタンを使う運用のままです。
プラグインjarの自動ダウンロードには、有効なアカウントトークンと、連携済みNightbreakアカウントでの有効なサポーターPatreonメンバーシップの両方が必要です。それらがない場合、ダウンロードは拒否され、プラグインが理由をログに出力します。ダウンロードは検証も行われます。jarはチェックサムで検証され、実際のプラグイン成果物であることを確認したうえでサーバーの update フォルダに置かれます。検証に失敗した場合は、インストールせずにファイルを破棄します。
自動ダウンロード設定とは別に、各プラグインはおよそ1時間に1回、新しいバージョンがないかを静かに再チェックします。これによりセットアップメニューが正確なアップデート状態を表示できます。このチェック自体が何かをダウンロードすることはありません。
サーバーオーナー向け推奨フロー
1. まずプラグインをインストールする
プラグインのjarファイルと必要な必須依存関係を plugins/ に配置し、サーバーを一度起動します。
2. 初回セットアップフローを実行する
プラグインが initialize コマンドを提供している場合は、最初に使用してください。現在のメニューは以下のように設計されています:
- 初回セットアップを完了済みとしてマークする
- Nightbreakアカウント連携を案内する
- 現在のセットアップメニューに誘導する
- 手動インポートがまだ有効な場合を明確にする
プラグインが初回設定フローを登録している場合に、プレイヤー向けの初回セットアップメニューを開きます。プリセットモードは必須ではなく、FreeMinecraftModels も登録しています。各プラグインのコマンドページを確認してください。
3. Nightbreakアカウントをリンクする
Nightbreakアカウントページにアクセスし、サーバートークンを取得して、以下を実行します:
/nightbreaklogin <token>
トークンはMagmaCoreを通じて共有されるため、リンクされた1つのトークンを、そのサーバー上のすべての互換性のあるMagmaGuyプラグインで再利用できます。
4. 日常のコンテンツ管理にはセットアップメニューを使用する
セットアップメニューは、以下の現在の正式なソースです:
- パッケージの状態
- アクセスの状態
- インストール済み vs ダウンロード済みのコンテンツ
- 修復が必要な部分的にインストールされたコンテンツ
- 古くなったコンテンツ
- カテゴリ別のコンテンツフィルター
リンクされたトークンがある場合、セットアップメニューはコンテンツのインストールと更新に推奨される場所です。
5. 速度が必要な場合は一括インストール/更新を使用する
サーバーを素早くブートストラップしたい場合は downloadall コマンドを、古くなったすべてのコンテンツを更新したい場合は updatecontent コマンドを使用します。
共有一括ダウンローダーは、以下のNightbreak管理パッケージのみを試行します:
- Nightbreakスラッグを持つ
- リンクされたトークンでアクセス可能
- まだダウンロードされていない、または古いとマークされている
対話的な一括コマンドは、少なくとも1件のダウンロードが成功した後、所有プラグインにリロードを要求します。起動時の自動コンテンツダウンロードは意図的にプラグインをリロードしません。これらはサーバーの再起動後に反映されます。
共有コンセプト
ダウンロード済み vs インストール済み
パッケージは、有効化されていなくてもローカルに存在できます。正確な意味はプラグインによってわずかに異なりますが、imports にzipが存在するかどうかよりも、セットアップメニューの状態が重要です。
一括ダウンロードも、プラグイン固有のインポート/リロードステップが完了する前に、手動インポートで使用されるのと同じプラグインの imports フォルダに保存されます。
アクセス対応コンテンツ
セットアップメニューは、以下のコンテンツを区別できるようになりました:
- トークンで利用可能
- 購入またはアンロックが必要
- インストール済み
- 部分的にのみインストール済み
- ダウンロード済みだが無効
- 古くなっている
手動インポートは引き続き有効
Nightbreak管理プラグインは、手動インポートワークフローを引き続きサポートしています。手動インポートは現在、デフォルトパスではなくフォールバックパスです。手動インポートとゲーム内管理の比較を参照してください。
このフローを使用しないプラグイン
このWikiのすべてのプラグインがNightbreak管理のダウンロード可能なコンテンツを使用するわけではありません。
- BetterFoodはNightbreakパッケージ管理を使用しません
- ResourcePackManagerはリソースパックを管理し、Nightbreak DLCパッケージは管理しません
これら2つのプラグインも、共有セットアップシェルと、共有のプラグインアップデートコマンドおよび 変更履歴コマンドは登録します。持っていないのはNightbreakコンテンツパッケージだけです。
ResurrectionChestとWorldCannonは例外ではありません。どちらもコンテンツパッケージを宣言し、 共有コンテンツサブコマンドを登録し、共有インポーターを実行するため、手動で配置したパッケージzipも 受け付けます。 手動インポートとゲーム内管理の比較を参照してください。