メインコンテンツまでスキップ

Nightbreakセットアップとコンテンツ管理

このページは、Nightbreak管理プラグインの共有セットアップガイドです。

以下のプラグインに直接適用されます:

  • EliteMobs
  • BetterStructures
  • FreeMinecraftModels
  • EternalTD
  • ResurrectionChest
  • WorldCannon

これらのプラグインは、同じ全体的なライフサイクルを共有するようになりました:

  1. プラグインと必須の依存関係をインストールします。
  2. ファイルとメニューが生成されるように、サーバーを一度起動します。
  3. プラグインに初回セットアップコマンドがある場合は実行します。
  4. /nightbreaklogin <token> でNightbreakトークンをリンクします。
  5. プラグインのセットアップメニューを使用して、コンテンツの閲覧、インストール、有効化、無効化、更新を行います。
  6. より速い初期ブートストラップが必要な場合は、プラグインの一括ダウンロード/更新コマンドを使用します。

MagmaCoreが実際に共有するもの​

MagmaCoreは、Nightbreak管理フローの背後にある共有レイヤーです。以下を提供します:

  • 共有コマンド /nightbreaklogin <token>(権限 nightbreak.login、デフォルトはOP)
  • サーバーとNightbreakアカウントの接続を解除する共有コマンド /nightbreaklogout(権限 nightbreak.login、デフォルトはOP)
  • 現在のサーバーログを mclo.gs にアップロードする共有コマンド /logify(権限 logify.*、デフォルトはOP)。logs/latest.log(存在しない場合は最も新しい .log ファイル)を、IPv4アドレスとポートの数字をマスクしたうえでアップロードし、クリック可能なリンクで応答します
  • Nightbreakプラグインカタログを閲覧する共有コマンド /nightbreak plugins(権限 nightbreak.plugins、デフォルトはOP)
  • plugins/MagmaCore/nightbreak.yml での共有トークン保存
  • プラグインセットアップメニューで使用される共有セットアップメニュープリミティブ
  • 共有のNightbreakアクセス、バージョン、ダウンロードチェック
  • 所有プラグインの imports フォルダにファイルをダウンロードする共有一括ダウンロードロジック
  • プラグインまたはインストール済みコンテンツパッケージに未読のリリースノートがあることをゲーム内で管理者に伝える共有変更履歴インボックス(Nightbreak変更履歴通知を参照)
  • applypluginupdate と nightbreak.applyPluginUpdatesWithoutRestart 設定による再起動不要のプラグイン更新(下記を参照)
  • すべてのNightbreak管理プラグインが自身のルートコマンド配下に登録する標準サブコマンドセット(下記参照)

/nightbreaklogin、/nightbreaklogout、/logify、/nightbreak は、MagmaCoreを最初にロードするNightbreak管理プラグインによってサーバーごとに一度だけ登録されるため、ランタイムでどのプラグインがそれらを「所有」しているかに関係なく利用できます。

共有される標準サブコマンド​

以下のサブコマンドは、各プラグインが個別に実装しているものではありません。MagmaCoreが、プラグインの宣言するルートコマンド(/em、/bs、/fmm、/etd など)の下に同じ実装を登録します。どこでも同じ挙動になるのはこのためです。

サブコマンド動作権限
setupプラグインのセットアップメニューを開きます。プレイヤー専用。プラグインのsetup権限
initializeプラグインが初回設定フローを登録している場合に、プレイヤー向けの初回セットアップメニューを開きます。プリセットモードは必須ではなく、FreeMinecraftModels も登録しています。各プラグインのコマンドページを確認してください。プラグインのinitialize権限
recommendedplugins推奨される連携プラグインを表示します(ゲーム内ではメニュー、コンソールからはチャットの一覧)。プラグインのsetup権限
downloadpluginupdateプラグインのアップデートjarのみをダウンロードします。コンテンツは対象外です。プラグインのadmin権限
applypluginupdateダウンロード済みのプラグインのアップデートを、サーバーを再起動せずに適用します。再起動せずにアップデートを適用するを参照してください。プラグインのadmin権限
downloadallプラグインのアップデートをダウンロードし、続いて利用可能なすべてのコンテンツをダウンロードします。プラグインのadmin権限
downloadallcontent利用可能なすべてのコンテンツをダウンロードします。プラグインのアップデートは対象外です。コンテンツパッケージを同梱するプラグインでのみ登録されます。プラグインのsetup権限
updatecontent(エイリアス updateallcontent)既に古くなっているコンテンツのアップデートのみをダウンロードします。コンテンツパッケージを同梱するプラグインでのみ登録されます。プラグインのsetup権限
forcereinstallcontent <package|all>インストール済みのバージョンが最新であっても、通常の認証付きインポートおよびリロード経路を通じてコンテンツを再ダウンロードします。all はダウンロード済み・インストール済み・古くなっているすべてのパッケージを対象とします。ファイルが完全に失われている場合は、そのパッケージのスラッグを直接指定してください。コンテンツパッケージを同梱するプラグインでのみ登録されます。プラグインのadmin権限

各列の背後にある正確な権限ノードはプラグインが選択するため、ノード名についてはそのプラグイン自身のページを確認してください。initialize は初回ガイダンスフローであり、セットアップメニューやコンテンツ管理コマンドを置き換えるものではありません。

downloadall はプラグインのアップデートから始まるため、アカウントにトークンがない場合や、トークンの認証に失敗した場合は、コンテンツのステップに進む前に停止します。まずトークンを修正してから再実行してください。

MagmaCoreにはプラグイン起動時の別の初期化システムもありますが、ここで説明されているプレイヤー向けの initialize コマンドとは異なります。

自動アップデート​

すべてのNightbreak管理プラグインは、自身の config.yml に共通のキーを2つ書き込みます:

nightbreak:
autoDownloadPluginUpdates: false
applyPluginUpdatesWithoutRestart: never

autoDownloadPluginUpdates が true の場合、そのプラグインは起動から数分後に以下を自動的にダウンロードします:

  • 利用可能なプラグインのアップデートjar
  • そのプラグインが管理する、古くなったコンテンツパッケージのアップデートファイル

自動ダウンロードされたコンテンツのアップデートは、サーバーの再起動後に使用されます。ダウンロードされたプラグインのアップデートも再起動を待ちますが、applyPluginUpdatesWithoutRestart によってそれより早く適用される場合があります(再起動せずにアップデートを適用するを参照)。どちらの設定も初期状態ではオフなので、初期状態ではゲーム内のアップデートボタンを使う運用のままです。セットアップメニューのツールバーにある Automatic Updates ボタンで autoDownloadPluginUpdates のオン・オフを切り替えられます。このボタンと Plugin Update エントリには、ダウンロード済みのプラグインアップデートが、現在の applyPluginUpdatesWithoutRestart の値でいつ適用されるかが表示されます。ResourcePackManagerのものは、再起動するよう案内します。

ResourcePackManagerは、プラグインのアップデートに常に再起動が必要なため、autoDownloadPluginUpdates だけを書き込みます。

ゲーム内でのプラグインjarのダウンロードには、自動か、コマンドやメニューから開始したかにかかわらず、有効なトークンと、連携済みNightbreakアカウントの有効なPatreonサポーターメンバーシップが必要です。条件を満たさない場合はダウンロードを拒否し、公開ダウンロードページへのリンクとともにその理由を伝えます。ダウンロードしたjarに最終的なファイル名を付ける前に、つまりサーバーの update フォルダ、または新規インストールの場合は plugins フォルダに置く前に、MagmaCoreがjarのプラグイン名とバージョンが期待値と一致するか確認します。NightbreakがSHA-256チェックサムを提供した場合は、それも検証します。検証に失敗した一時ダウンロードは、インストールせず破棄します。

自動ダウンロード設定とは別に、各プラグインはおよそ1時間に1回、新しいバージョンがないかを静かに再チェックします。これによりセットアップメニューが正確なアップデート状態を表示できます。このチェック自体が何かをダウンロードすることはありません。一部のプラグインは、その結果が変わったときに最新の公開バージョンをコンソールに記録し、参加したオペレーターにバージョンが古いことをダウンロードリンク付きで伝えます。

再起動せずにアップデートを適用する​

ダウンロードされたプラグインのアップデートは、サーバーの update フォルダで待機します。/<root> applypluginupdate(例:/em applypluginupdate)を実行すると、稼働中のサーバーにアップデートを入れ替えます。このコマンドはプラグインのadmin権限を使い、コンソールからも実行できます。

入れ替えでは、そのプラグインと、それにdependまたはsoftdependしている有効なすべてのMagmaGuyプラグインを無効化し、jarを置き換えてから、再度読み込んで有効化します。一緒にリロードされるプラグインはチャットに一覧表示されます。新しいjarが有効化されなかった場合は以前のjarが再度読み込まれ、アップデートは次回の再起動まで update フォルダに残ります。一緒にリロードされた他のプラグインのためにそこで待機しているアップデートも、次回の再起動まで残ります。バージョンが変わるのは指定したプラグインだけです。

次の場合、コマンドはメッセージを表示して実行を拒否します:

  • ダウンロード済みのアップデートが待機していない、または待機中のjarが不正であるか実行中のバージョンより新しくない
  • 他の作者のプラグインがそのプラグインにdependまたはsoftdependしている。代わりにサーバーを再起動してください
  • 別のプラグインの入れ替えがすでに実行中である
  • そのプラグインが常に再起動を必要とする。ResourcePackManagerは、Geyser拡張機能がGeyserの起動時にしか読み込まれないため拒否します

サードパーティ製のプラグインリローダーではなく、このコマンドを使ってください。入れ替えか再起動が行われるまで、サーバーは古いjarのまま動作し続けます。

nightbreak.applyPluginUpdatesWithoutRestart は、プラグインのアップデートのダウンロード直後に何が起きるかを決めます。ダウンロードが downloadpluginupdate、downloadall、セットアップメニュー、自動ダウンロードのいずれによるものでも同じです:

値動作
neverデフォルト。アップデートは次回の再起動まで待機します。プラグインのadmin権限またはワイルドカード権限を持つオンラインのプレイヤーには、再起動が必要であることを示すタイトルとチャット通知が表示されます。通知に /<root> applypluginupdate が示されるのは、プラグインがそのコマンドを登録していて、再起動不要のアップデートを許可している場合だけです。
when-emptyオンラインのプレイヤーがいなければすぐにアップデートを適用します。いる場合、プラグインは30秒ごとに確認し、サーバーが無人になったときに適用します。
immediatelyダウンロードが完了した時点ですぐにアップデートを適用します。

それ以外の値は never として動作します。when-empty または immediately が上記の拒否条件のいずれかに当たった場合、アップデートは次回の再起動まで待機します。入れ替えはプラグインをリロードするため、進行中のボス、アリーナ、ダンジョンインスタンスは終了します。

1. まずプラグインをインストールする​

プラグインのjarファイルと必要な必須依存関係を plugins/ に配置し、サーバーを一度起動します。

2. 初回セットアップフローを実行する​

プラグインが initialize コマンドを提供している場合は、最初に使用してください。現在のメニューは以下のように設計されています:

  • 初回セットアップを完了済みとしてマークする
  • Nightbreakアカウント連携を案内する
  • 現在のセットアップメニューに誘導する
  • 手動インポートがまだ有効な場合を明確にする

この案内にプリセットモードは必要ありません。FreeMinecraftModelsも提供しています。利用できるかどうかは、各プラグインのコマンドページで確認してください。

Nightbreakアカウントページにアクセスし、サーバートークンを取得して、以下を実行します:

/nightbreaklogin <token>

トークンはMagmaCoreを通じて共有されるため、リンクされた1つのトークンを、そのサーバー上のすべての互換性のあるMagmaGuyプラグインで再利用できます。

4. 日常のコンテンツ管理にはセットアップメニューを使用する​

セットアップメニューは、以下の現在の正式なソースです:

  • パッケージの状態
  • アクセスの状態
  • インストール済み vs ダウンロード済みのコンテンツ
  • 修復が必要な部分的にインストールされたコンテンツ
  • 古くなったコンテンツ
  • カテゴリ別のコンテンツフィルター

リンクされたトークンがある場合、セットアップメニューはコンテンツのインストールと更新に推奨される場所です。

5. 速度が必要な場合は一括インストール/更新を使用する​

サーバーを素早くブートストラップしたい場合は downloadall コマンドを、古くなったすべてのコンテンツを更新したい場合は updatecontent コマンドを使用します。

共有一括ダウンローダーは、Nightbreakスラッグを持つNightbreak管理パッケージのみを試行します。その中から:

  • downloadall と downloadallcontent は、まだダウンロードされていないパッケージや古くなったパッケージを選びます。アクセス権はNightbreakの認証付きダウンロードチェックが判断するため、アカウントでアクセスできないパッケージは最後に失敗として一覧表示されます。
  • updatecontent は、まずパッケージのバージョンを更新してから古くなったパッケージだけを選び、アクセスチェックですでにロック済みと判定されたものはスキップします。

対話的な一括コマンドは、少なくとも1件のダウンロードが成功した後、所有プラグインにリロードを要求します。起動時の自動コンテンツダウンロードは意図的にプラグインをリロードしません。これらはサーバーの再起動後に反映されます。

共有コンセプト​

ダウンロード済み vs インストール済み​

パッケージは、有効化されていなくてもローカルに存在できます。正確な意味はプラグインによってわずかに異なりますが、imports にzipが存在するかどうかよりも、セットアップメニューの状態が重要です。

一括ダウンロードも、プラグイン固有のインポート/リロードステップが完了する前に、手動インポートで使用されるのと同じプラグインの imports フォルダに保存されます。

アクセス対応コンテンツ​

セットアップメニューは、以下のコンテンツを区別できるようになりました:

  • トークンで利用可能
  • 購入またはアンロックが必要
  • インストール済み
  • 部分的にのみインストール済み
  • ダウンロード済みだが無効
  • 古くなっている

手動インポートは引き続き有効​

Nightbreak管理プラグインは、手動インポートワークフローを引き続きサポートしています。手動インポートは現在、デフォルトパスではなくフォールバックパスです。手動インポートとゲーム内管理の比較を参照してください。

プラグインカタログとおすすめ​

/nightbreak plugins は、MagmaGuyのプラグインを、ゲーム内ではメニューとして、コンソールからはチャットの一覧として表示します。メニューでインストール済みのプラグインをクリックすると、そのセットアップメニューが開きます。未導入のプラグインをクリックすると、そのjarがカタログのファイル名のまま plugins フォルダに直接ダウンロードされます。これにはリンク済みのトークンとサポーターのアクセス権が必要で、その後チャットメッセージで、新しいプラグインを読み込むためにサーバーの再起動を求められます。plugins フォルダに、そのプラグインのjarでサーバーが読み込んでいないものがすでにある場合は、代わりにそのjarの名前で update フォルダにダウンロードされます。トークンやアクセス権がない場合は、代わりに公開ダウンロードページへのリンクが表示されます。

/<root> recommendedplugins は、1つのプラグインに対する連携プラグインを、それぞれ Required、Recommended、Encouraged のラベル付きで一覧表示します。MagmaGuyのプラグインは /nightbreak plugins と同じように動作します。WorldEdit、WorldGuard、LibsDisguises、PacketEventsなどの外部プラグインは、公式ページにリンクします。セットアップメニューの Recommended Plugins ボタンは同じ一覧を開き、一覧のすべてのプラグインがインストールされると緑色に変わります。

このフローを使用しないプラグイン​

このWikiのすべてのプラグインがNightbreak管理のダウンロード可能なコンテンツを使用するわけではありません。

  • BetterFoodはNightbreakパッケージ管理を使用しません
  • ResourcePackManagerはリソースパックを管理し、Nightbreak DLCパッケージは管理しません

これら2つのプラグインも、共有セットアップシェルと、共有のプラグインアップデートコマンドおよび 変更履歴コマンドは登録します。持っていないのはNightbreakコンテンツパッケージだけです。

ResurrectionChestとWorldCannonは例外ではありません。どちらもコンテンツパッケージを宣言し、 共有コンテンツサブコマンドを登録し、共有インポーターを実行するため、手動で配置したパッケージzipも 受け付けます。 手動インポートとゲーム内管理の比較を参照してください。