Battleroyale ― OP・運営ガイド¶
Battleroyale の導入・初期設定・config・権限・管理コマンドをまとめます。
基本情報¶
| 項目 | 値 |
|---|---|
| プラグイン名 | Battleroyale |
| バージョン | 1.1.0 |
| api-version | 26.1.2 |
| メインコマンド | /battleroyale(エイリアス /btr) |
| 作者 | henry |
| 依存プラグイン | なし(Geyser / Floodgate は任意。統合版対応に使用) |
| 設定ファイル | plugins/Battleroyale/config.yml |
導入手順¶
- ビルドした
Battleroyaleの jar ファイルをサーバーのplugins/フォルダに配置する。 - サーバーを起動すると
plugins/Battleroyale/config.ymlが自動生成される。 - 後述の手順でスポーン地点・ロビー・ゲームエリア・看板を設定する。
- チェストとアイテムプールを登録する。
/btr statusで設定状況を確認する。
サーバー起動時の安全対策
プラグインは起動時に全ワールドのワールドボーダーをリセットします。また、サーバー再起動を検出するとゲーム状態を自動でリセットするため、ボーダーが縮小したまま残ることはありません。
config.yml 設定項目¶
config.yml には設定値とゲーム状態(プレイヤーUUIDなど)の両方が保存されます。基本的に下記の「ゲーム設定」項目をコマンドまたは直接編集で設定します。状態系の項目はプラグインが自動管理するため、手動編集は不要です。
ゲーム設定¶
| キー | 既定値 | 説明 |
|---|---|---|
maxPlayers |
16 | ロビーの最大参加人数 |
game.result-seconds |
10 | 勝敗確定後、結果発表を表示してからロビーへ戻すまでの秒数 |
shrinkTime |
60 | ワールドボーダーが縮小する 間隔(秒) |
shrinkAmount |
50 | 1回の縮小で縮むブロック数 |
shrinkSpeed |
5 | 1回の縮小にかける秒数(ボスバー演出) |
minBorderSize |
10 | これ以下には縮まない停止サイズ |
spawnMinY |
1 | スポーン地点の最小Y(地表探索の下限) |
spawnMaxY |
5 | スポーン地点の最大Y |
chestItemsMin |
3 | 1チェストに入れるアイテム数の最小 |
chestItemsMax |
9 | 1チェストに入れるアイテム数の最大 |
ボーダーの初期サイズは自動算出です
ワールドボーダーの 初期サイズは設定したフィールド範囲(areaPos1〜areaPos2)から自動で決まります(X幅・Z幅の大きい方)。初期サイズを直接指定する設定キー(旧 initialArea)はありません。shrinkTime 秒ごとに shrinkAmount ブロックずつ(shrinkSpeed 秒かけて)縮小し、minBorderSize で停止します。
地点・看板設定¶
| キー | 形式 | 説明 |
|---|---|---|
spawn |
ワールド名,x,y,z,yaw,pitch |
初期リスポーン場所(途中抜け時などの戻り先) |
lobby |
ワールド名,x,y,z,yaw,pitch |
受付エリア(ロビー) |
areaPos1 |
ワールド名,x,y,z |
ゲームエリアの角1 |
areaPos2 |
ワールド名,x,y,z |
ゲームエリアの角2 |
signs.join |
"ワールド名,x,y,z" のリスト |
参加看板の位置(複数設置可) |
signs.leave |
"ワールド名,x,y,z" のリスト |
退出看板の位置(複数設置可) |
signs.start |
"ワールド名,x,y,z" のリスト |
開始看板の位置(複数設置可・/btr setsign start で追加) |
signs.solo |
"ワールド名,x,y,z" のリスト |
ソロPvE看板の位置(複数設置可・/btr setsign solo で追加) |
看板は複数設置できます(v更新)
参加・退出・開始・ソロの各看板を 複数拠点に設置 できるようになりました。/btr setsign <join|leave|start|solo> は上書きではなく 追記 され、/btr setsign delete は視線先の1枚だけ解除します。クリック判定・人数表示は全枚数を対象に更新されます。旧形式の joinSign / leaveSign / startSign(単一文字列)は起動時に自動で signs.join / signs.leave / signs.start(リスト)へ移行され、旧キーは削除されます。設定のやり直しは不要です。
チェスト設定¶
| キー | 形式 | 説明 |
|---|---|---|
chestLocations |
座標のリスト | アイテムが補充されるチェストの座標一覧 |
itemPool |
重み付きエントリのリスト | チェストにランダムで入るアイテム。既定で6種が初期投入される。3形式に対応:①material 形式(material / weight / min-amount / max-amount)、②item 形式(ポーション効果・チップ矢・エンチャント等のメタ情報を含む ItemStack。/btr setitem で自動的にこの形式で保存)、③旧形式(アイテムID文字列のみ・重み1/個数1扱い)も後方互換で読み込み可 |
状態管理項目(自動管理)¶
| キー | 説明 |
|---|---|
isGameRunning |
ゲームが進行中かどうか |
deadPlayers |
敗北したプレイヤーのUUIDリスト |
teamData |
プレイヤーUUIDとチーム名の対応 |
lobbyPlayers |
ロビーに参加しているプレイヤーのUUIDリスト |
アイテムプールの動作
各チェストには、開始時に itemPool から chestItemsMin〜chestItemsMax(既定3〜9)個 のアイテムが補充されます。アイテムは 重み(weight)に応じて抽選 され、それぞれ min-amount〜max-amount の個数でスタック配置されます。itemPool が空の場合、チェストにはアイテムが入りません。
config は起動時に自動で最新版へ更新されます
本プラグインは起動時に jar 内の最新 config.yml とサーバー側を比較し、足りないキーがあれば自動で追記 します(ConfigUpdater)。更新時は 設定済みの値・看板や地点などのデータ・旧キーを保持したまま、最新版(説明コメント付き)へ書き換え、更新前のファイルを config.yml.bak-日時 に退避します(バックアップは最新5世代まで保持)。旧バージョンから更新しても spawnMinY / spawnMaxY / chestItemsMin / chestItemsMax や各共通セクションが自動で揃うため、手動追記は不要です。サーバー側の config.yml が壊れて読めない場合だけは安全のため自動更新せず、警告のみ出します。
ロビー共通インベントリ(lobby-inventory)¶
ロビー入場時に入る前の所持品を退避してインベントリを空にし、ロビー退室時に復元する共通システムです。退避データは plugins/Battleroyale/lobby-inventory.yml に自動保存され、サーバー再起動やクラッシュをまたいでも復元されます(試合の開始・終了では復元されず、ロビー在籍中はずっと空のまま)。
| キー | 既定値 | 説明 |
|---|---|---|
lobby-inventory.enabled |
true | falseでこの機能を丸ごと無効化(従来挙動に戻る) |
lobby-inventory.gamemode |
ADVENTURE | ロビー滞在中のゲームモード(ADVENTURE/SURVIVAL/CREATIVE/KEEP) |
lobby-inventory.clear-effects |
true | ロビー入場時にポーション効果を消す |
lobby-inventory.reset-health |
true | ロビー入場時に最大体力を既定へ戻し体力・満腹度を全回復 |
lobby-inventory.reset-exp |
true | ロビー入場時に経験値とレベルを0にする |
lobby-inventory.expire-days |
30 | 復元されずに残った退避データの保持日数 |
持ち物が戻らないときは /btr lobbyfix
まれに退避した持ち物が戻らないままになった場合は /btr lobbyfix <プレイヤー> で個別に復旧できます。force を付けると退避データを破棄してロックだけ解除します。未復元の件数は /btr status の「持ち物の未復元」で確認できます。
名前表示・参加通知(name-tag)¶
ミニゲーム共通の表示システムです。参加すると頭上ネームタグ・Tabリスト・チャットの名前が 【ゲーム名】名前 になり、離脱・ログアウト・プラグイン停止で元に戻ります。参加時にはサーバー全体へ参加通知を出します。
| キー | 既定値 | 説明 |
|---|---|---|
name-tag.enabled |
true | false で名前表示を付けない |
name-tag.display-name |
バトルロアイヤル | 【】 に入れる正式名 |
name-tag.color |
GOLD | 【ゲーム名】 の色(GOLD / AQUA / GREEN / RED / YELLOW など) |
name-tag.announce-join |
true | false でサーバー全体への参加通知を出さない |
統合版対応(bedrock)¶
Geyser / Floodgate 経由の統合版(Bedrock)プレイヤー向けの設定です。
| キー | 既定値 | 説明 |
|---|---|---|
bedrock.wax-signs |
true | 登録看板を蝋引きし、統合版でタップしても編集画面が開かないようにする |
bedrock.spectator-style |
AUTO | 観戦方式。AUTO=統合版だけゴースト観戦/GHOST=全員ゴースト/VANILLA=全員観戦モード(統合版は観戦モードでHUDが消えるため AUTO 推奨) |
bedrock.name-prefix |
"." |
Floodgate が無いときに統合版と見なす名前の接頭辞 |
ソロPvE(solo)¶
ソロPvE は通常戦と 同じフィールド・チェスト・アイテムプール を使う1人用モードです。通常戦の設定(setlobby / setfield / setchest / setitem)が済んでいれば、追加で必要なのは ソロ看板(/btr setsign solo)だけです。収縮する範囲の中で敵Mobと戦い、生き残った時間で競います。通常戦の試合中や、ほかの人がソロに挑戦している間は開始できません(同時に使えるのは通常戦かソロ1人のどちらか)。
| キー | 既定値 | 説明 |
|---|---|---|
solo.menu-delay |
3 | 試合が終わってロビーへ戻ってから、ソロメニューを開くまでの秒数 |
solo.spawn-distance-min |
10 | 敵が出現する距離の最小(挑戦者からのブロック数) |
solo.spawn-distance-max |
28 | 敵が出現する距離の最大(挑戦者からのブロック数) |
solo.difficulties.<キー> |
easy / normal / hard | 難易度ごとの設定。ソロメニューのボタンはここから自動生成される(キーに . は使えません) |
各難易度(solo.difficulties.<キー>)の項目は次のとおりです。
| 項目 | 説明 |
|---|---|
display-name |
メニューに出す名前 |
icon |
メニューのアイコン(アイテムID。不正なら IRON_SWORD) |
description |
メニューの説明文(行ごとのリスト) |
shrink-interval |
範囲が縮む間隔(秒) |
shrink-amount |
1回に縮む量(ブロック) |
shrink-speed |
縮むのにかける秒数(演出) |
min-border-size |
これ以上は縮まない最小範囲(ブロック) |
grace-seconds |
開始から最初の敵が出るまでの秒数(チェストを漁る時間) |
wave-interval |
敵が出現する間隔(秒) |
wave-base |
1回に出る敵の数(開始直後) |
wave-growth |
wave-growth-seconds ごとに1回の出現数を何体増やすか |
wave-growth-seconds |
出現数が増える間隔(秒) |
max-alive |
同時に存在できる敵の上限 |
health-per-minute |
1分ごとに敵の体力を何倍ぶん増やすか(0.1 なら10分で2倍) |
damage-per-minute |
1分ごとに敵の攻撃力を何倍ぶん増やすか |
time-limit-seconds |
制限時間(秒)。0 なら無制限(倒れるまで) |
mobs |
出現する敵と重み(エンティティID: 重み。使えない敵は無視され、1種も無いとその難易度は読み込まれない) |
既定では イージー/ノーマル/ハード の3難易度が投入されます。敵の出現位置は spawnMinY〜spawnMaxY(と挑戦者の高さ付近)で地面を探します。
ソロPvE の記録ファイル
記録は plugins/Battleroyale/solo-records.yml に難易度ごとの自己ベスト(生存秒数)・前回結果・撃破数で保存されます。死亡・制限時間到達のときだけ記録され、leave・切断・/btr stop・/btr reset では記録されません。統合版の記録も同じランキングに入り、表示に印(統)が付きます。ランキングをリセットしたいときは サーバー停止中にこのファイルを削除 してください。
ソロPvE の仕様メモ
ロビー在籍中はホットバーに「ソロメニュー」(ネザースター)が1つだけ入り、右クリック(統合版はタップ)でメニューを開き直せます(捨てる・移動・持ち替え・額縁設置は不可)。ソロの敵Mobは挑戦者だけを狙い、フィールドを壊さず(クリーパーの爆発でもブロックは壊れない)、日光で燃えず、ほかのプレイヤーやMobを攻撃しません。倒してもアイテム・経験値は落ちません。終了時に敵Mob・チェストの中身・落ちたアイテムをすべて片付けます。
設定ツール(管理ツール・管理メニュー)¶
/btr wand で 管理ツール(ブレイズロッド) を受け取り、右クリック(統合版はタップ/長押し)で 管理メニュー を開きます。/btr menu でも開けます。コマンドを打たずに GUI から主要な設定ができます(いずれも OP 限定)。
- 数値:+/−ボタンで 縮小間隔(10〜600秒)・縮小量(5〜500ブロック)・最小範囲(5〜500ブロック)・最大参加人数(1〜100人)・結果表示時間(0〜60秒)を変更(即保存・次の試合から反映)
- 地点:ボタンを押すと立ち位置に設定(初期スポーン・ロビー・フィールド角1・フィールド角2)
- 看板:看板を見ながら(5ブロック以内)押すと参加/退出/開始/ソロ看板を登録、ハサミで登録解除
- チェスト:チェストを見ながら(5ブロック以内)押すと戦利品チェストを登録(登録済みなら解除)
- 確認:フィールドの外枠・中央・登録チェストを10秒間パーティクルで表示/アイテムプールの一覧を表示
- 運用:開始・設定状況・リロード・強制停止(強制停止は5秒以内に2回押し。通常戦・ソロPvEのどちらも止められます)
管理ツールの注意
試合中(通常戦・ソロPvE)はフィールドとチェストを変更できません。バトルロアイヤルに参加中は管理ツールを受け取れません(離脱してから /btr wand)。捨てると消えるので、その場合は再度 /btr wand で取得してください。統合版はチェストGUIで操作し、数値は左右クリックに頼らず+/−の別ボタンで操作します。
セットアップ手順¶
OP権限で以下のコマンドを実行します。地点系のコマンドは 実行した位置 が座標として保存されます。看板・チェスト系のコマンドは対象ブロックを 5ブロック以内で見ながら 実行します。
ボーダーの初期範囲はコマンド不要
初期サイズはフィールド範囲(setfield 1/2)から自動算出されます。範囲を直接指定するコマンド(旧 setarea)はありません。縮小量・停止サイズ・縮小演出秒は config.yml の shrinkAmount / minBorderSize / shrinkSpeed で調整します。
看板について
/btr setsign <join|leave|start|solo> で登録した看板は、プラグインが自動的に装飾します([BattleRoyale] の見出しや参加人数表示など)。参加看板はクリックでロビー参加、退出看板はクリックで離脱、開始看板はクリックでゲーム開始(開始は全員可)、ソロ看板はクリックでソロPvE(ロビー参加+ソロメニュー)です。なお /btr join・/btr leave・/btr start・/btr solo コマンド(いずれも全員可)でも操作できます。登録した看板を解除したいときは、その看板を見ながら /btr setsign delete を実行すると config から削除され、看板の表示もクリアされます。
設定の確認
/btr status で、地点・看板・ゲーム設定・チェスト数・アイテムプール数・現在のロビー状況をまとめて確認できます。ゲーム開始前に未設定項目がないか確認してください。
管理コマンド¶
| コマンド | 説明 |
|---|---|
/btr wand |
管理ツール(ブレイズロッド)を受け取る |
/btr menu |
管理メニューを開く(参加中でも可) |
/btr setstartspawn |
初期リスポーン地点を設定 |
/btr setlobby |
受付ロビー地点を設定 |
/btr setfield <1\|2> |
ゲームエリアの角1または2を設定 |
/btr setsign <join\|leave\|start\|solo> |
参加/退出/開始/ソロPvE看板を設定 |
/btr setsign delete |
視線先の看板の登録を解除(表示もクリア) |
/btr setchest |
見ているチェストを登録 |
/btr setitem [重み] [最小] [最大] |
手持ちアイテムをアイテムプールに追加 |
/btr itemlist |
アイテムプールの一覧と出現割合を表示 |
/btr setweight <番号> <重み> |
指定アイテムの重みを変更 |
/btr removeitem <番号> |
指定アイテムを削除 |
/btr settime <秒> |
ワールドボーダーの縮小間隔を設定 |
/btr setmax <人数> |
最大参加人数を設定 |
/btr setteam <プレイヤー> <チーム名> |
指定プレイヤーのチームを設定(@p などのセレクタ可) |
/btr start |
ゲームを開始する |
/btr stop |
進行中の試合(通常戦・ソロPvE)を強制停止 |
/btr reload |
config.yml を再読み込み |
/btr reset |
緊急リセット(ゲーム状態とワールドボーダーを強制解除。ソロ挑戦中なら一緒に停止) |
/btr lobbyfix <プレイヤー> [force] |
ロビーに入る前の持ち物が戻らないときの復旧(force で退避データ破棄+ロック解除) |
/btr status |
設定状況・現在の状況を確認 |
ゲーム開始の前提条件
/btr start はロビー・ゲームエリア(pos1/pos2)が設定済みで、かつロビーにプレイヤーが1人以上いる場合のみ成功します。条件を満たさない場合はエラーメッセージが表示されます。
緊急リセット
ワールドボーダーが縮小したまま残ってしまった、ゲームが正常に終わらないなどの異常時は /btr reset を実行してください。ゲーム状態を強制リセットし、全ワールドのボーダーを解除します。
権限ノード¶
plugin.yml には次の2つの権限が定義されています。コード上でも、管理系コマンドは battleroyale.admin でチェックされています。
| 権限ノード | 既定 | 用途 |
|---|---|---|
battleroyale.admin |
OP | 管理系(wand / menu / setstartspawn / setlobby / setfield / setsign / setchest / setitem / itemlist / setweight / removeitem / settime / setmax / setteam / stop / reload / reset / lobbyfix。/btr join <名前>・/btr leave <名前> の他プレイヤー指定も含む) |
battleroyale.play |
OP | /btr team(チーム参加)の使用権限 |
権限不要で全員が使えるコマンド
/btr join・/btr leave(自分のみ)・/btr start・/btr status は権限チェックがなく、全プレイヤー(コマンドブロック/コンソール含む)が実行できます。/btr start は看板クリックと同じく誰でもゲームを開始できる点に注意してください。
join / leave は権限不要・team はOP権限
/btr join・/btr leave は 権限チェックがなく全プレイヤーが使えます(看板の右クリックと同じ動作)。一方 /btr team <チーム名> は battleroyale.play(既定OP)が必要なため、一般プレイヤーにチーム分けを使わせたい場合は権限プラグインで battleroyale.play を付与してください。
トラブルシューティング¶
ゲームが開始できない
/btr status で設定を確認してください。ロビー(lobby)とゲームエリア(areaPos1 / areaPos2)が未設定だと開始できません。また、ロビーにプレイヤーが1人以上いる必要があります。
ワールドボーダーが縮小したまま残った
/btr reset を実行してください。ゲーム状態を強制リセットし、全ワールドのボーダーを解除します。プラグインはサーバー起動時にもボーダーを自動リセットするため、サーバー再起動でも解消されます。
チェストにアイテムが入らない
アイテムプール(itemPool)が空の可能性があります。/btr setitem でアイテムを追加するか、config.yml の itemPool にアイテムIDを記載してください。また、登録した座標のブロックが実際にチェストでないとアイテムは補充されません。
看板をクリックしても参加・退出できない
/btr setsign join / /btr setsign leave で看板が登録済みか /btr status で確認してください。看板の位置を変更・破壊した場合は再登録が必要です。
プレイヤーがゲームエリア外にスポーンする
areaPos1 と areaPos2 がゲームエリアの正しい対角に設定されているか確認してください。スポーン地点はこの2点で囲まれた範囲内からランダムに選ばれます。