ランとワールドの隔離
ラン(run) とは、1 つのグループによるダンジョンの 1 回の攻略です。このページでは、ランが何を所有するか、そのワールドがどう作られるか、どの隔離モードを選ぶかを説明します。
ランが所有するもの
どのランも、次のものを専用に持ちます。
- メンバー: グループのプレイヤー。プレイヤーは同時に 1 つのランにしか参加できません。
- ワールドまたはスロット: そのランのためだけにダンジョンが存在する場所。
- 制限時間: ダンジョンの
cooldownSecondsフィールド(最大の継続時間。空または0は無制限)。 - 状態: 各メンバーがいるルーム、使用済みの
onceルーム、チェスト、すでにスポーンしたモブ。 - オーディエンス: ランの NPC とチェストは、そのメンバーにだけ表示されます。
同じダンジョンの複数のランを、maxSimultaneousInstances まで同時に存在させられます。この数は、そのダンジョンのロビーの数でもあります。すべてが埋まっているとき、次のグループには「All the runs of this dungeon are taken.」と通知されます。
グループ
グループとは、一緒にロビーに参加した人たち、または Dungeon Enter アクションの 1 人のプレイヤーです。プレイヤーが MMOCore、Parties、または Typewriter のパーティ拡張機能にパーティを持っている場合、全員分の空きがあれば、そのパーティ全員が一緒にロビーに参加します。Dungeon はそれらのパーティを読み取るだけで、作成も変更もしません。
グループの人数は minPartySize と maxPartySize の間でなければならず、全メンバーがダンジョンの criteria に一致する必要があります。/typewriter dungeon force-start を使う管理者は、最小人数とクライテリアを免除されます。
隔離モードの選択
Dungeon Instance の isolation フィールドを設定します。
| モード | 隔離 | コスト | 必要なもの |
|---|---|---|---|
SLIME_CLONE | あり | 低: メモリ上のクローン | Advanced Slime Paper と、読み込み済みの Slime ワールドであるテンプレート。 |
WORLD_PER_RUN | あり | 高: テンプレートフォルダをコピーし、その後コピーを削除 | サーバーのルートにあるテンプレートワールドのフォルダ。 |
SHARED_WORLD_SLOTS | なし | 最低: 何もコピーしない | すべてのスロットで同一に建築されたワールド。 |
AUTO(デフォルト) | Advanced Slime Paper がインストールされていれば SLIME_CLONE、なければ WORLD_PER_RUN。 |
サーバー上で動作できないモードは、ランを拒否します。他のモードにフォールバックすることは決してありません。プレイヤーには「The dungeon cannot be started on this server.」と表示され、サーバーログに理由が出ます。
SLIME_CLONE
各ランは、Slime ワールドのメモリ上のクローンを得ます。完全に隔離されるモードの中で、最も軽量です。Advanced Slime Paper が必要で、templateWorld は読み込み済みの Slime ワールドを指す必要があります。
WORLD_PER_RUN
各ランは、テンプレートワールドのフォルダのコピーを得ます。これは本物の新しいワールドです。コピーはサーバースレッドの外で作られ、新しいワールドは拡張機能によって名前が付けられ、マーカーファイルが刻まれるため、拡張機能が作ったワールドだけが削除対象になります。ランの終了時、ワールドは保存せずにアンロードされ、そのフォルダは削除されます。
- テンプレートが、拡張機能によって読み込まれたり、書き込まれたり、削除されたりすることは決してありません。
- テンプレートフォルダ内のどこかにリンク(シンボリックリンク、ジャンクション)があると、コピーは拒否されます。
- テンプレート名に使えるのは、英字、数字、
_、-だけです(64 文字まで)。サーバーのメインワールドと、ランのワールドに見える名前は拒否されます。 - プレイヤーが残っているためにワールドをアンロードできない場合、ワールドは読み込まれたままになり、次回の起動時に削除されます。
これは、生成型ダンジョンを扱える唯一のモードでもあります。拡張機能がランのために空のワールドを作り、そこにルームを貼り付けます。ジェネレーターがある場合、AUTO と WORLD_PER_RUN は動作し、SLIME_CLONE と SHARED_WORLD_SLOTS は拒否されます。
SHARED_WORLD_SLOTS
ダンジョンのすべてのランは、テンプレートワールドそのものの中で、グリッドのそれぞれのスロットで行われます。拡張機能は、あなたが指定したすべての位置(スポーン、ルーム、チェスト、NPC、モブの位置)を、そのランのスロットのオフセット分だけずらします。そのため、原点のスロットにダンジョンを一度建築し、その後他のすべてのスロットにも同一に建築します(例えば貼り付けで)。
sharedSlots フィールドが、グリッドを決めます。
| フィールド | 意味 | デフォルト |
|---|---|---|
spacingX, spacingZ | 2 つのスロットの間のブロック数。少なくとも占有範囲(フットプリント)以上。 | 512 |
columns | 1 行あたりのスロット数。0 = すべてのスロットを X 方向の 1 行に並べる。 | 0 |
footprintX, footprintZ | テンプレートの大きさ(ブロック単位)。 | 256 |
モブ、ドロップしたアイテム、ブロックは、ワールドのすべてのスロットで共有されます。ランが終わると、そのモブ、チェスト、NPC は削除されますが、ワールド自体は修復されません。地面に落ちたアイテムや、プレイヤーやモブに壊されたブロックは、そのまま残ります。他のスロットのプレイヤーは互いに見えず、ランのチェスト、NPC、モブはそのメンバーに絞って表示されますが、破壊的なモブやワールドの編集があるダンジョンは、痕跡を残します。共有ワールドでは、Dungeon Mob Spawn エントリの blockDamage と dropVanillaLoot をオフにしておいてください。
同じ共有ワールド上に建てられた 2 つのダンジョンは、そのスロットを共有します。両方で同じ maxSimultaneousInstances を使ってください。
ランの開始
開始は、全部か、なしかです。
- クライテリアとグループの人数が確認され、隔離モードが決まります。
- 枠が確保されるため、ダブルクリックしても 2 つではなく 1 つのランになります。
- 生成型ダンジョンの場合、レイアウトが作られ、1 ティックにいくつかのルームずつ、新しいワールドに貼り付けられます。
- ワールドが準備されます(クローン、コピー、またはスロット)。
- 参加コストが徴収されます(全額か、なしか)。
- 各メンバーの出発地点が記録され、全員がテレポートされます。
- ランがアクティブになり、続いてチェスト、
onStart、モディファイア(生成型ダンジョンではアフィックスも)が各メンバーに対して実行されます。
どのステップが失敗しても、プレイヤーは元の場所にとどまり、コストは返金され、ワールドは解放され、枠は返されます。
ランの終了
次のうち最初に起きたものが有効になり、複数が同時に起きても、実行される終了は 1 つだけです。
- Dungeon Complete(ダンジョンが完了した)。
- 制限時間(
cooldownSeconds)が尽きた。 - Dungeon Close または
/typewriter dungeon close <instance>。 - 全メンバーが退出した、ワールドを移動した、または切断した。
終了すると、オンラインの各メンバーに対して onEnd が実行され、ランのチェスト、NPC、モブが片付けられ、メンバーが送り返され(Complete と Close の exitPoint が設定されていればそこへ、なければそれぞれが元いた場所へ)、その後ワールドが解放されます。ランの最中に切断したプレイヤーは、次回の参加時に元いた場所に戻されます。再接続の猶予(reconnectGrace、既定 2 分)以内に戻った場合は、代わりに席が保たれます。切断時の扱いを参照してください。
リロードと再起動
| イベント | ランに起こること |
|---|---|
typewriter reload、Publish | ランが再び引き継がれます。メンバー、ワールド、期限、ルームの状態、開けたチェスト、スポーン済みのモブが戻ります。onStart とモディファイアは再実行されません。 |
| サーバーの再起動 | ランは終了します。ワールドは失われます。プレイヤーは次回の参加時に元の場所へ送り返され、孤立したワールドフォルダは削除されます。 |
引き継ぎを機能させるには、runtimeArtifact フィールドに Active Dungeon Instance Artifact をリンクします。これがない場合、ランは拡張機能の runs.json ファイルに書き込まれ、読み込み時にサーバーログが警告します。複数のダンジョンが 1 つのアーティファクトを共有できます。
引き継げないラン(ダンジョンが削除された、ワールドが読み込まれていない、生成されたレイアウトを再構築できない)は、起動時に閉じられ、そのプレイヤーは元の場所へ送り返されます。ログに理由が出ます。
ロビーは、リロードでも再起動でも復元されません。引き継がれたランのロビーを除き、空の状態で戻ります。