手動インポートとゲーム内管理の比較
Nightbreak管理プラグインは現在、ゲーム内でのセットアップとコンテンツ管理を推奨していますが、手動インポートはフォールバックとして引き続き存在します。
推奨:ゲーム内管理
以下が必要な場合は、セットアップメニューとリンクされたNightbreakトークンを使用してください:
- アクセス対応のコンテンツ閲覧
- ワンクリックまたはメニュー駆動のインストール
- 一括ダウンロードおよび更新コマンド
- 自動の古いパッケージチェック
- 現在のコードベースに合ったワークフロー
以下のプラグインの推奨パスです:
- EliteMobs
- BetterStructures
- FreeMinecraftModels
- EternalTD
- ResurrectionChest
- WorldCannon
この6つはすべて共有インポーターを実行するため、6つとも以下の手動フォールバックにも対応しています。
フォールバック:手動インポート
手動インポートは以下の場合に引き続き有用です:
- パッケージのzipファイルを既にダウンロード済みの場合
- サーバー間でファイルを移動する場合
- テスト中にNightbreakからオフラインで作業したい場合
- パッケージがゲーム内ダウンロードパス外で意図的に配布されている場合
Nightbreakの一括ダウンロードもプラグインの imports フォルダに保存されます。違いは、ゲーム内パスがアクセスチェックとダウンロードステップを代行してくれることです。
インポートフォルダマップ
| プラグイン | インポートフォルダ |
|---|---|
| EliteMobs | plugins/EliteMobs/imports |
| BetterStructures | plugins/BetterStructures/imports |
| FreeMinecraftModels | plugins/FreeMinecraftModels/imports |
| EternalTD | plugins/EternalTD/imports |
| ResurrectionChest | plugins/ResurrectionChest/imports |
| WorldCannon | plugins/CannonRTP/imports |
WorldCannonのプラグインフォルダは CannonRTP という名前です。これはプラグインの
内部名であり、imports フォルダとインストール済みコンテンツの両方がここに置かれます。
手動インポートルール
- プラグイン固有のドキュメントで別途指定がない限り、ダウンロードしたパッケージはzipのままにしてください。
- パッケージを正しい
importsフォルダに配置してください。 - プラグイン固有のドキュメントで必要とされている場合は、プラグインをリロードまたは再起動してください。
- その後、セットアップメニューを再度開いてインストール状態を確認してください。
共有インポーターは以下を処理できます:
importsに配置された.zipパッケージpack.metaを含む特定の既に解凍済みのフォルダFreeMinecraftModels用の.bbmodelファイル
アーカイブは imports 内の隠しステージングフォルダに展開され、そこからのみインストールされます。インポーターは成功時も失敗時もこのステージングフォルダを削除するため、通常のインポート失敗では、中途半端に展開されたパッケージが隣に残るのではなく、再試行できる状態の元のzipが残ります。
インポーターが受け付けるもの
pack.meta がコンテンツの行き先を決める
パッケージは、対象とするプラグインプラットフォームを指定する pack.meta ファイルをトップレベルに同梱できます — elitemobs、betterstructures、freeminecraftmodels、eternaltd、extractioncraft、resurrectionchest、megablocksurvivors、worldcannon(cannonrtp や world_cannon も受け付けます)。この名前は大文字小文字を区別せずに照合され、前後の空白、改行コード、先頭のバイトオーダーマークは無視されるため、Windowsのエディタで保存したファイルでも問題なく動作します。
アーカイブに pack.meta がない場合は、そのアーカイブが置かれた imports フォルダを持つプラグイン向けのパッケージとして扱われます。
pack.meta がインポーターの知らないものを指定していた場合、そのパッケージは拒否され、修正して再試行できるようにzipは imports に残されます。
トップレベルのフォルダ名は認識可能である必要がある
インポーターは、パッケージ内の各トップレベルフォルダを名前によって行き先へ振り分けます。一部の名前はすべてのプラットフォームで機能します:
| フォルダ | 行き先 |
|---|---|
worldcontainer | サーバーのワールドコンテナ(各サブフォルダが1つのワールドになります) |
models または modelengine | FreeMinecraftModelsのモデルフォルダ。ModelEngineのみがインストールされている場合はModelEngineのブループリントフォルダ |
scripts | plugins/FreeMinecraftModels/scripts |
freeminecraftmodels、elitemobs、betterstructures | そのプラグインのデータフォルダ(plugins/FreeMinecraftModels、plugins/EliteMobs、plugins/BetterStructures)。フォルダはデータフォルダと同じ構成にしてください(例:freeminecraftmodels/enchantments/) |
pack.meta | 無視されます — コンテンツではなくメタデータです |
freeminecraftmodels/models/ 内のモデルは、FreeMinecraftModelsが読み込むモデルフォルダ(古いインストールの Models フォルダを含む)に送られます。
インポーターは、それ以外のすべてのトップレベルフォルダを、パッケージが対象とするプラットフォームに応じて解決します。表に別の記載がない限り、各フォルダはそのプラグインのデータフォルダ内にある同名のフォルダに送られます:
| プラットフォーム | そのプラグイン用のフォルダ | 別のプラグイン用のフォルダ |
|---|---|---|
elitemobs | custombosses、customitems、customtreasurechests、content_packages(dungeonpackages もここに送られます)、customevents、customspawns、customquests、customarenas、npcs、npc_scripts、behaviors、transport_routes、transport_networks、wormholes、powers、world_blueprints、resource_pack、enchantments | なし |
betterstructures | content_packages、schematics、spawn_pools、components、modules、module_generators、treasures、generators | EliteMobs:custombosses、customitems、customtreasurechests、powers、enchantments |
freeminecraftmodels | content_packages、recipes、enchantments | EliteMobs:customitems(EliteMobsが有効でない場合はスキップ) |
eternaltd | npcs、levels、waves、worlds、content_packages、content_markers | なし |
resurrectionchest | content_packages | なし |
worldcannon | content_packages、cannons(fun_rtps もここに送られます)、およびデータフォルダそのもの(plugins/CannonRTP)を指す cannonrtp、worldcannon、world_cannon | なし |
extractioncraft | content_packages、loot_pools、loot_tables | EliteMobs:customquests、npcs、custombosses、customitems、customtreasurechests、powers、enchantments、npc_scripts、behaviors。BetterStructures:schematics、spawn_pools、components、modules、module_generators、treasures、generators |
megablocksurvivors | content_packages、npcs、schematics、worlds、content_markers、およびデータフォルダそのもの(plugins/MegaBlockSurvivors)を指す megablocksurvivors | なし |
enchantments/ フォルダにはエンチャント定義とそのローカルLuaエフェクトが入り、共通の scripts/ の行き先は使いません。別のプラットフォームのパッケージでFreeMinecraftModelsのエンチャントを配布するには、freeminecraftmodels/enchantments/ を使ってください。
そのプラットフォームでインポーターが認識できないトップレベルフォルダがあると、部分的にインストールされるのではなくパッケージ全体が拒否され、アーカイブはそのまま残されます。パッケージがインポートできない場合、コンソールが問題のフォルダ名を示します。
別のプラグインのフォルダへのインポート
プラグインは、起動時またはリロード時にコンテンツフォルダを読み込みます。パッケージが別のプラグインのフォルダにファイルをインポートした場合:
- FreeMinecraftModelsは、インポートされたコンテンツを自動的にリロードします。
- BetterStructuresは、自身の起動が完了してから新しいコンテンツをリロードします。10分経ってもまだ起動中の場合は、
/bs reloadを実行するようコンソールに表示されます。 - EliteMobsのコンテンツをインポートするBetterStructuresのパッケージは、EliteMobsをリロードします。
- Extractioncraftがパッケージをインポートすると、BetterStructuresをリロードし、パッケージがEliteMobsのコンテンツを追加した場合はEliteMobsもリロードします。
それ以外の場合は、そのフォルダを所有するプラグインをリロードまたは再起動してください。
読み込み済みワールドの更新
読み込み済みワールドを置き換える前に、インポーターはそのプレイヤーを別の読み込み済みワールドのスポーン地点へ移動し、対象ワールドのアンロードをサーバーに要求します。別のワールドがない場合、テレポートが失敗した場合、またはサーバーがアンロードを拒否した場合は、インポートが停止し、アーカイブは保持されます。再試行する前にプレイヤーを退避させ、報告された問題を解決してください。
インポート内の廃止されたファイル
担当プラグインはインポートの前後に廃止された設定形式を確認します。該当ファイルは、使用中のコンテンツフォルダの外にある plugins/MagmaCore/outdated files/ に保存されます。古いパッケージが廃止済みのコンテンツをインストールする場合は、更新版をダウンロードしてください。廃止された設定ファイルを参照してください。
パッケージの更新で同梱されなくなったファイル
インポートはファイルをコピーして上書きするだけなので、それだけでは新しいバージョンのパッケージで削除されたファイルが残ってしまい、プラグインがそれを読み込み続けます。そこで MagmaCore は、各パッケージが plugins フォルダ内にインストールしたファイルを、パッケージごとに 1 つの JSON ファイルとして plugins/MagmaCore/import manifests/ に記録します。パッケージ名は、zip またはフォルダの名前から .zip と、_v22 のような末尾のバージョンを取り除いたものなので、the-vampire-manor_v22.zip と the-vampire-manor_v23.zip は同じパッケージです。
そのパッケージの次回のインポートで、前回のインポートがインストールしたファイルが同梱されなくなっていた場合、インポーターはそのファイルを plugins/MagmaCore/outdated files/<plugin folder>/<time>-<package>/ に、プラグインフォルダ内のパスを保ったまま移動し、移動したファイルをコンソールに一覧表示します。この移動はインポートのトランザクションの一部なので、インポートが失敗するとファイルは元に戻されます。ファイルは削除されずに移動されるため、あなたが加えた編集は、アーカイブされたコピーに残ります。
次の場合、ファイルは元の場所に残ります。
- 別のパッケージの記録にまだそのファイルが載っている
- 前回と今回のインポートで共通するファイルがない(無関係なパッケージが同じ名前を使い回したことを意味する)
- ワールドフォルダのように
pluginsフォルダの外にある(インポートではフォルダごと置き換えられる)
パッケージを初めて記録したインポートでは、何もアーカイブされません。クリーンアップは、次の更新から始まります。
失敗したインポートはロールバックされる
ロールバックが不完全な場合、MagmaCore は復旧用ディレクトリを保持し、そのパスと復元できなかった保存先をログに記録します。復旧用ファイルを保持し、報告された問題を解決してからインポートを再試行してください。
インポートは1つのトランザクションとして適用されます。既存のファイルは置き換えられる前にバックアップされ、置き換えられるワールドフォルダは削除されるのではなく退避され、途中で失敗した場合はパッケージが触れたすべての行き先が復元されます。zipは、問題を解決してから再試行できるよう imports に残ります。ロールバック自体がファイルシステムのエラーに遭遇した場合、コンソールはロールバックが不完全であったことを明示的に報告し、再試行する前にログに記録された行き先を確認するよう指示します。
アーカイブが削除されるのは、インポートが完全にコミットされた後だけです。リロード後もパッケージが imports に残っている場合、それはインストールされなかったことをインポーターが伝えています — 理由についてはコンソールを確認してください。
重要な違い
ゲーム内パス
- トークン対応
- ロックされたコンテンツや古いコンテンツを表示可能
- 一括操作後、通常は自動的にリロード
- 現在意図されている管理ワークフローを反映
手動パス
- ゲーム内ダウンロードアクセスなしで動作
- zipファイルを自分で管理する必要がある
- プラグインのリロードが必要な場合がある
- プラグインによっては、コンテンツがダウンロード済みだが有効化されていない状態になる可能性がある
- ゲーム内アクセスフローがインストール時まで通常隠すパッケージ構造の問題が露出する可能性がある