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

EternalTDセットアップ

現在のEternalTDセットアップフローは、Nightbreakが管理するコンテンツ、FreeMinecraftModelsによるオプションのモデルサポート、およびリソースパックヘルパーコマンドを中心に構築されています。

要件​

  • EternalTD。この手順は現在のソース 1.7.8 に基づきます
  • Java 21
  • 現在の 1.21.4 APIラインのPaper/Spigot互換サーバー

オプションの統合:

  • EternalTDのカスタムモデル用の FreeMinecraftModels
  • EternalTDが server.properties に書き込む代わりに公式リソースパックを登録する場合は ResourcePackManager
  • floodgate と LibsDisguises はソフト依存であり、現在のセットアップフローの要件ではありません

plugin.yml はソフト依存をちょうど4つ宣言しています: FreeMinecraftModels、LibsDisguises、floodgate、ResourcePackManager。ModelEngineはプラグイン内のどこからも参照されなくなりました。

EternalTDが作成するもの​

起動時に、EternalTDはこれらのパスを初期化または使用します:

plugins/EternalTD/config.yml
plugins/EternalTD/content_packages/
plugins/EternalTD/imports/
plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
plugins/EternalTD/worlds/

レガシーに関する注記:

  • プラグインは現在、levels/ と npcs/ を正規のフォルダ名として扱います。
  • 起動時とリロード時に、レガシーの Levels/ と NPCs/ フォルダを自動的に小文字のパスに移行します。
  • 移行でファイルが上書きされることはありません。小文字のフォルダに同じ名前のファイルがすでにある場合、移動は停止し、移動されなかったファイルはレガシーフォルダか levels_migration/(npcs_migration/)に残り、EternalTDは初期化の失敗をログに記録します。ファイルを手動でマージしてから再起動してください。
  1. EternalTDをインストールし、サーバーを一度起動します。
  2. /nightbreaklogin でNightbreakアカウントをリンクし、表示されるリンクでサーバーを承認します。
  3. /etd downloadall を実行して、アクセス可能なすべてのEternalTDパッケージを plugins/EternalTD/imports にダウンロードします。
  4. /etd install を実行して、公式のEternalTDリソースパック設定を適用します。
  5. 個別のパッケージを閲覧、有効化、無効化、または更新したい場合はいつでも /etd setup を実行します。

/nightbreaklogin は共有のNightbreak/MagmaCoreアカウントフローの一部であり、EternalTDの plugin.yml で宣言されたコマンドではありません。

/etd initialize メニュー​

setupDone が false の間、eternaltd.* を持つプレイヤーには参加から10秒後にセットアップのリマインダーが届きます。これには /etd initialize と /etd setup へのリンクが含まれます。

/etd initialize は初回セットアップメニューを開きます。3つの選択肢はいずれも setupDone: true を設定し、リマインダーを止めます:

  • Recommended Setup は、ガイド付きのセットアップ手順を表示し、サーバーがまだリンクされていない場合は、あなたの代わりに /nightbreaklogin のリンクを開始します。
  • Manual Setup は、パックの管理をあなたに任せ、/etd install を実行するよう案内します。
  • Use Current Content は、既存のEternalTDコンテンツフォルダをそのまま維持します。

/etd setup メニュー​

/etd setup は共有のMagmaCoreセットアップメニューを開きます。EternalTDのコンテンツパッケージ(Free Content、Premium Packs、Resources でフィルタリング)と並んで、このメニューは以下の標準的なMagmaCoreコントロールも公開します:

  • インストール済みと最新のEternalTDバージョンを表示し、利用可能な場合はプラグインアップデートをダウンロードする Plugin Update エントリ(再起動時に適用されますが、nightbreak.applyPluginUpdatesWithoutRestart が許可していればそれより早く適用されます)、
  • コンパニオンプラグインの推奨ビューを開く Recommended Plugins エントリ(/etd recommendedplugins でも到達可能)、
  • nightbreak.autoDownloadPluginUpdates 設定値のオン/オフを切り替える Automatic Updates トグルボタン、
  • /etd downloadall(プラグインアップデートと利用可能なすべてのコンテンツ)を実行する Download All エントリ。

スポーンとハブの動作​

config.yml には現在以下が含まれています:

  • setupDone — 初回セットアップガイダンスが完了したかどうかを追跡するフラグ(デフォルトは false)。
  • spawnLocations — デフォルトは etd_spawn,0,65,0,0,0 で、常に設定ファイルに書き込まれます。EternalTDがこれを解決して使用するのは、etd_spawn ワールドが存在する場合だけです。
  • manageSpawn — デフォルトは true。利用可能な場合、参加するプレイヤーをEternalTDのハブワールドにテレポートします。
  • playerGuide — ゲーム内ガイドブックのテキスト。
  • nightbreak.autoDownloadPluginUpdates — デフォルトは false。共有のMagmaCore設定。true の場合、プラグインは起動時に利用可能なプラグインとコンテンツのアップデートを自動的にダウンロードします(nightbreak.applyPluginUpdatesWithoutRestart によってプラグインアップデートがそれより早く適用されない限り、次回の再起動後に使用されます)。これは /etd setup メニューの「Automatic Updates」ボタンからゲーム内でも切り替え可能です。
  • nightbreak.applyPluginUpdatesWithoutRestart(デフォルトは never)は、ダウンロードされたプラグインアップデートを再起動なしで適用するタイミングを制御する共有のMagmaCore設定です。never は次回の再起動まで待ち、when-empty は次にオンラインのプレイヤーがいなくなった時点で適用し、immediately はダウンロードが完了した時点ですぐに適用します。それ以外の値は never として扱われます。アップデートを適用するとEternalTDが無効化されてから再び有効化されるため、進行中のレベルは終了します。/etd applypluginupdate を使うと、ダウンロード済みのアップデートを任意のタイミングで適用できます。

manageSpawn: true で etd_spawn ワールドが存在する場合、参加するプレイヤーは設定されたEternalTDスポーン位置にテレポートされます。

公式ハブパッケージはゲームプレイマップとは別に追跡され、サーバーのワールドコンテナに etd_spawn ワールドとしてインストールされます。

Paper 26.1以降では、ワールドがワールドコンテナのルートから <level-name>/dimensions/minecraft/<world> へ移行されます。EternalTDは従来のルートと移行後の場所の両方で etd_spawn を探すため、移行済みのハブでもインストール済みとして検出され読み込まれます。Paperの移行処理は、移行済みのコピーの隣に旧来のコピーが並んでいるとマージを拒否するため、中途半端な移行の残骸はワールド作成前に隔離されます。

インポート後のリロード​

手動インポートや手動ファイルクリーンアップの後は /etd reload を使用してください。

/etd reload はプラグインの完全なインプレース再起動です — EternalTDの無効化・ロード・有効化のパスを実行するため、起動時に行われることがすべて再度実行されます:

  • 旧来の Levels/ および NPCs/ フォルダが小文字へ移行されます
  • インポーターが再実行されます
  • コンテンツパッケージ、ウェーブ、レベル、ワールドテンプレート、NPCがリロードされます
  • パッケージの更新/アクセス状態が更新されます
  • リソースパックヘルパーが再初期化されます

知っておく価値のある影響が2つあります:

  • 進行中のレベルセッションは、リロードがプラグインの通常のシャットダウンを通るため、すべて終了されます。
  • このリロードでモデルやその他のファイル(scripts など)がFreeMinecraftModelsのフォルダにインポートされ、FreeMinecraftModelsが有効な場合、共有インポーターがFMMのコンテンツをリロードします。FMMのフォルダー内のファイルを直接編集したり、そこにコピーしたりした場合は、FMM自身のリロードコマンドを使用してください。

すでにオンラインのプレイヤー​

manageSpawn は通常、参加時にプレイヤーをハブへテレポートしますが、EternalTDの初期化中に接続したプレイヤーはこれを受けられません(ハブワールドと参加リスナーは初期化完了後にしか存在しないためです)。初期化が完了すると、EternalTDはすでにオンラインの全員を確認し、まだハブワールドにいない者を設定済みのスポーンへテレポートします。

トラブルシューティング​

  • レベルに参加できない。 そのレベルのファイル、ウェーブファイル、ワールドテンプレートに関するエラーがコンソールに出ていないか確認し、/etd setupでパッケージがインストールされ有効になっていることを確かめてください。参加メッセージと開始メッセージは、ワールドのライフサイクルとセッション開始時の検証にまとめられています。
  • タワーがバニラのMobとして表示される、またはモデルにテクスチャがない。 2つの要素を分けて確認してください。モデルにはFreeMinecraftModelsとEternalTD Custom Modelsパッケージが必要です。テクスチャには、リソースパックがプレイヤーに届く必要があります。モデルとリソースパックを参照してください。
  • コンテンツを更新する前に、 編集したパッケージ済みのレベル、ウェーブ、NPCのファイルをバックアップしてください。コンテンツを更新すると、編集済みのコピーはパッケージのファイルで上書きされます。

サポートを依頼する際は、EternalTDとサーバーのバージョン、該当するレベル、関連する設定ファイル、サーバーログ全体を添えてください。/logifyはログをアップロードし、リンクを返します。