MinecraftMOBA ― OP・運営ガイド¶
MinecraftMOBA の導入・マップ設定・config・権限・管理コマンドをまとめます。
基本情報¶
| 項目 | 値 |
|---|---|
| プラグイン名 | MinecraftMOBA |
| バージョン | 1.2.2 |
| api-version | 26.1.2 |
| メインコマンド | /moba(エイリアス /mb)、/shop |
| 依存プラグイン | なし |
| 設定ファイル | plugins/MinecraftMOBA/config.yml |
実装状況:チャンピオン制MOBA
チャンピオン/スキル制・中立クリープ・ワード・リコール・AFK対策・HUD・ルーン(スタッツ装備) まで実装されました。プレイヤーは5チャンピオンから選択し、スキル(マナ・CD・レベル解放)で戦います。詳細は下記「実装状況」を確認してください。
導入手順¶
- ビルドした
MinecraftMOBA-1.2.2.jarをサーバーのplugins/フォルダに配置する。 - サーバーを起動すると
plugins/MinecraftMOBA/config.ymlが自動生成される。 - 後述の手順でマップ座標を設定する。
- 設定を変更したら
/moba reloadで再読み込みする。
マップのセットアップ手順¶
専用ワールドを用意し、OP権限で以下のコマンドを その場に立って 実行します(実行位置が座標として保存されます)。
コマンドの代わりにGUIでも設定できます
以下のセットアップは、/moba book で開く 管理GUIメニュー からクリック操作でも行えます(下記「管理GUIメニュー(/moba book)」参照)。コマンドとGUIは等価で、どちらで設定しても config に即保存されます。
セットアップコマンドはすべてフラット化されました
旧 /moba setup <core\|tower\|minion\|creep> のサブコマンド形式は廃止され、setcore / setturret / setlane / setcamp の独立コマンドに統合されました。コア・タワー・レーン・クリープ湧きなどの ステージ固有のジオメトリ は、setstage で選んだ編集ステージ(STAGES.<識別子>.*)配下に保存されます。
コマンド体系について
初期リスポーン・ロビーはステージ非依存の独立コマンド(setstartspawn / setlobby)です。エリア範囲・チームスポーン・コア・防衛塔・レーン・クリープ湧きは、いずれも 編集ステージ固有 の独立コマンド(setfield <1\|2> / setspawn <red\|blue> / setcore <RED\|BLUE> / setturret <RED\|BLUE> <1-5> / setlane <RED\|BLUE> <LANE> <番号> / setcamp <NORMAL\|BUFF\|BOSS>)です。数値設定は setmax / setmin / settime で行い、実行時に config へ即保存・自動リロードされます。
複数ステージ(マップ)の運用
/moba setstage <識別子> で編集対象ステージを切り替えると、以降のジオメトリ設定は STAGES.<識別子>.* に保存されます。試合は /moba start <識別子> または該当ステージの開始看板から、ステージを指定して開始できます。識別子を省略した場合は編集ステージ(単一運用なら default)が使われます。登録済みステージは /moba status や各コマンドのタブ補完で確認できます。
ミニオン経路(ウェイポイント)
/moba setlane <RED\|BLUE> <LANE_TOP\|LANE_MID\|LANE_BOT> <番号> でも設定できますが、経路はまとめて config.yml の STAGES.<識別子>.MINION_WAYPOINTS を直接編集したほうが確実です。RED_TEAM / BLUE_TEAM それぞれに LANE_TOP / LANE_MID / LANE_BOT の通過座標を順に並べます(既定ステージの既定値は MAP_SETTINGS.MINION_WAYPOINTS にあります)。
参加・退出看板の作成¶
ロビーの導線として、看板をコマンドで登録します(moba.admin 権限が必要)。看板は 参加 / 退出 / ショップ / チャンピオン選択 / ソロ / 開始 の6種類です。
看板の種類は join(参加)/ leave(退出)/ shop(ショップ)/ champion(チャンピオン選択)/ solo(ソロ練習)/ start(開始) の6種類で、いずれも setsign で登録します。
看板は複数設置できます(v更新)
各種別の看板を 複数拠点に設置 できるようになりました。開始看板は ステージ識別子ごと(/moba setsign start <識別子>)に、それぞれ複数設置できます。setsign は上書きではなく 追記 され、setsign delete は視線先の1枚だけ解除します。人数・状態表示は全枚数が同時に更新されます。既存の看板データは自動で引き継がれるため、設定のやり直しは不要です。
- 看板を設置する。
- 看板を見た状態(5ブロック以内)で上記コマンドを実行する。
- テキストはプラグインが自動で書き込みます。
開始看板は setsign start で登録します(ステージ別に複数可)
開始看板は /moba setsign start [識別子] で登録します(独立した setstart コマンドは廃止されました)。識別子を省略すると編集ステージで登録され、開始看板だけは識別子ごとに複数登録できます(他の4種は1つずつ)。プレイヤーは チャンピオン選択看板 をクリックしてGUIでチャンピオンを選び、開始看板 をクリックすると、その看板に紐づくステージでゲームが開始されます。手書き登録は廃止済みで、必ずコマンドで登録してください。/moba status で各看板の登録状況(開始看板は登録数)を確認できます。
看板の登録解除
登録を取り消すときは、対象の看板を見た状態で /moba setsign delete を実行します。種類(参加/退出/ショップ/チャンピオン/開始)は自動判別され、看板テキストもクリアされます。
管理GUIメニュー(/moba book)¶
コマンドを覚えなくても、チェスト型のGUIメニュー から地点設定・看板登録・ゲーム制御・数値設定をまとめて行えます。以降のセットアップコマンドと同じ操作を、その場のクリックで実行できます(moba.admin 権限が必要)。
メニューは以下の4ページで構成されます(トップメニューから各ページへ移動)。
| ページ | 内容 |
|---|---|
| 設定状況 | 各地点・看板・ステージ・数値・ゲーム状態を一覧表示(/moba status と同等の読み取り) |
| ゲーム制御 | 登録ステージごとの 開始 ボタン/強制停止/リロード |
| 地点・看板設定 | 現在地 に各地点(初期スポーン・ロビー・フィールド・チームスポーン・コア・防衛塔・クリープ湧き)を設定。看板の設置/解除。編集ステージの切替 |
| 数値設定 | 最大人数・最小人数(左クリック +1/右クリック −1、Shiftで ±10)、制限時間(±10、Shiftで ±60) |
GUIからの看板登録は「ボタン→対象看板を右クリック」
地点・看板設定ページで看板ボタン(参加/離脱/ショップ/チャンピオン/開始/登録解除)をクリックすると、メニューが閉じて 保留状態 になります。続けて対象の看板を 右クリック すると登録(または解除)が確定します。開始看板は、その時点の 編集ステージ に紐づけて登録されます。なお ソロ看板 はGUIにボタンがなく、/moba setsign solo コマンドでのみ登録します(解除は視線先を見て /moba setsign delete)。
GUIとコマンドは等価
/moba book の各操作は、対応するコマンド(setcore / setturret / setsign / setmax など)と同じ処理を呼び出し、実行時に config へ即保存・自動リロードされます。どちらで設定しても結果は同じです。新しいステージ(マップ)の作成だけは、先に /moba setstage <名前> で識別子を用意してください。
config.yml 主要項目¶
ゲーム基本設定(GAME_SETTINGS)¶
| キー | 既定値 | 説明 |
|---|---|---|
MAX_DURATION |
3600 | 最大ゲーム時間(秒)。0で無制限 |
TEAM_SIZE |
5 | 1チームの最大人数 |
MIN_PLAYERS_TO_START |
2 | 開始に必要な最小人数 |
AUTO_TEAM_BALANCE |
true | チーム人数の自動均等化 |
COUNTDOWN_TIME |
30 | 開始前カウントダウン(秒) |
END_SCREEN_DURATION |
10 | ゲーム終了後の統計表示時間(秒) |
経済(ECONOMY)¶
| キー | 既定値 | 説明 |
|---|---|---|
GAIN_PLAYER_KILL |
5 | プレイヤー撃破の獲得エメラルド |
GAIN_TOWER_DESTROY |
25 | タワー破壊ボーナス |
GAIN_PASSIVE_RATE |
5 | 自動獲得量(PASSIVE_INTERVAL=10秒ごと) |
DEATH_EMERALD_LOST_PERCENT |
0.10 | デス時に失う割合(10%) |
経験値・レベル(EXPERIENCE)¶
| キー | 既定値 | 説明 |
|---|---|---|
PLAYER_MAX_LEVEL |
18 | 最大レベル |
EXP_PLAYER_KILL |
100 | プレイヤー撃破の獲得経験値 |
HEALTH_PER_LEVEL |
2.0 | レベルごとの体力増加 |
DAMAGE_PER_LEVEL |
0.1 | レベルごとの攻撃力増加(10%) |
構造物(STRUCTURES)¶
| キー | 既定値 | 説明 |
|---|---|---|
CORE.BASE_HEALTH |
1000 | コアのHP |
CORE.ATTACKABLE_REQUIREMENT |
ALL_TOWERS_DESTROYED | コア攻撃の条件 |
TOWER.COUNT |
2 | 1チームのタワー数(ARAM想定。既定マップは各2基。実際の数は TOWERS の設定数で決まる) |
TOWER.BASE_HEALTH |
300 | タワーのHP |
TOWER.ATTACK_RANGE |
15 | タワーの攻撃範囲(ブロック) |
スキル解放レベル(EXPERIENCE.LEVEL_UP_REWARDS.SKILL_UNLOCK_LEVELS)¶
| キー | 既定値 | 説明 |
|---|---|---|
SKILL_UNLOCK_LEVELS |
[6, 11, 16] |
2つ目以降のスキルが解放されるレベル。空だと2つ目以降が即解放(Lv1)になる ため、既存サーバーは要確認 |
ミニオン・クリープ・ショップ¶
MINION… スポーン間隔(30秒)、有効レーン(既定LANE_MIDのみのARAM想定)、構成(ゾンビ3+スケルトン2)、時間強化係数を設定。NEUTRAL_CREEPS… 通常(ゾンビ)/バフ(アイアンゴーレム・撃破で力)/ボス(ウィザー・チーム強化)の有効化・HP・報酬・RESPAWN_TIMEなどを設定。湧き座標は 編集ステージ固有 でSTAGES.<識別子>.CREEP_SPAWNS.<NORMAL\|BUFF\|BOSS>に保存され、/moba setcamp <NORMAL\|BUFF\|BOSS>で追加します。湧き座標が空だとクリープが湧きません(既定ステージの参考値はNEUTRAL_CREEPS.<タイプ>.SPAWN_LOCATIONSにあります)。SHOP… 現バージョンの店の品揃えはコード側にハードコードされており、config.ymlのSHOP.ITEMSは読み込まれていません。実際の店には 剣4種・鉄防具4種・金リンゴ・ワード・ルーン5種(攻撃の宝珠/守りの宝珠/俊足のブーツ/賢者のオーブ/加速のルーン)の計15品 が並びます(ワードの価格のみVISION.WARD.COST=既定75 を参照)。SHOP.ITEMSに書いた弓・矢・各ポーション・革防具等は店に反映されないため、品揃え変更にはコード修正が必要です。
チャンピオン/スキル・AFK・リコール・ワード¶
| セクション | 主なキー | 説明 |
|---|---|---|
AFK |
KICK_TIME(300) / CHECK_INTERVAL(60) / AUTO_KICK |
一定時間無移動で自動離脱 |
RECALL |
CHANNEL_TIME(8) / COOLDOWN(60) / CANCEL_ON_DAMAGE / CANCEL_ON_MOVE |
拠点帰還の詠唱・CD・中断条件 |
VISION.WARD |
DURATION(180) / VISION_RANGE(20) / MAX_WARDS_PER_PLAYER(3) / COST(75) |
ワードの持続・範囲・上限・価格 |
RESPAWN |
BASE_TIME(5) / TIME_PER_LEVEL(0.5) / KEEP_INVENTORY / INVINCIBLE_SECONDS(3) |
リスポーン時間・装備保持・復活直後の無敵秒数(スポーンキル防止・0で無効) |
KILLSTREAK |
REQUIRED_KILLS(3) / BONUS_EMERALD(2) |
キルストリーク |
SIGNS |
JOIN / LEAVE / SHOP / CHAMPION / SOLO / START.<識別子> |
看板位置(コマンドで自動保存)。開始看板のみ START 配下に識別子ごとのキーで複数保存される |
STAGES |
<識別子>.TEAM_RED / TEAM_BLUE / AREA / MINION_WAYPOINTS / CREEP_SPAWNS ほか |
ステージ固有のジオメトリ(コア/防衛塔/スポーン/エリア/レーン/クリープ湧き)。setstage で選んだ編集ステージ配下に保存 |
EDIT_STAGE |
(文字列・既定 default) |
現在の編集ステージ識別子(setstage で永続化) |
ソロ練習(solo)¶
ソロ(ラストヒット練習)の設定です。通常戦と同じステージ(スポーン・防衛塔・レーン経路)を使い、通常戦とソロは同時には動きません。ソロを始めるには、そのステージに ロビー・初期スポーン・挑戦側スポーン・敵防衛塔・両チームの対象レーン(2点以上) が設定されている必要があります(不足は /moba status の「ソロ」欄で確認できます)。
| キー | 既定値 | 説明 |
|---|---|---|
enabled |
true | ソロを使えるようにするか |
menu-delay |
3 | 挑戦終了後にソロメニューを開くまでの秒数 |
team |
BLUE | 挑戦者の側(BLUE/RED)。敵はもう一方 |
lane |
LANE_MID | ミニオンを湧かせるレーン(両チームの経路が2点以上必要) |
countdown |
3 | 開始前カウントダウン(秒・この間は動けない) |
spawn-creeps |
false | 中立クリープを湧かせるか(CSに数えるのはミニオンのみ) |
miss-notify-range |
10 | 取り逃し時にアクションバーで知らせる距離(ブロック・0で無効) |
cs.courses.<名前> |
3min: 180 / 5min: 300 |
CSチャレンジのコース(名前: 制限時間秒)。名前に . は不可。3min→画面では「3分」表示 |
cs.default-course |
3min | コース省略時に使うコース |
tower.time-limit |
600 | タワーアタックの上限(秒・超過で記録なし) |
ranking-size |
10 | /moba ranking solo で表示する人数 |
broadcast-top |
true | ステージ1位を更新したときサーバー全体へ告知するか |
ソロの記録データ
自己ベスト・ランキング(ステージ×モード×コース別)はプラグインのデータファイルに保存され、/moba ranking reset で消去できます。config のキーではありません。
既存サーバーを更新する場合(設定は自動追記・ジオメトリは要再設定)
起動時・/moba reload 時に ConfigUpdater が不足している設定キーを既定値+コメント付きで自動追記 します(既存の値は変更せず、変更がある場合のみ更新前のファイルを config.yml.bak に保存)。そのため AFK / RECALL / VISION / NEUTRAL_CREEPS / SKILL_UNLOCK_LEVELS などの新セクションは旧 config でも自動補完されます。ただし ジオメトリ・看板などのデータ領域(MAP_SETTINGS / STAGES / SIGNS / EDIT_STAGE / solo.cs.courses)は補完対象外 です。さらに本バージョンからは ステージ固有ジオメトリが STAGES.<識別子>.*(既定 EDIT_STAGE: default)配下に保存される 仕様になったため、旧 MAP_SETTINGS.TEAM_RED 等に直接書いていた座標は読まれません(既定値の参考用としては残ります)。コア・防衛塔・スポーン・エリア・レーン・クリープ湧きは setstage で編集ステージを選んだうえで setcore / setturret / setspawn / setfield / setlane / setcamp で再設定してください。
設定変更後は必ず /moba reload
config.yml を編集したら /moba reload を実行してください。マップ座標・経済・ショップ・クリープ・看板などの変更が反映されます。
権限ノード¶
plugin.yml で定義されている権限は moba.admin のみ です。コード上でも moba.admin のみがチェックされ、/shop や /moba stats には専用の権限ノードはありません(一般プレイヤーはそのまま実行可能)。
| 権限 | 既定 | 用途 |
|---|---|---|
moba.admin |
OP | book / stop / reload / setstage / setsign / setstartspawn / setlobby / setfield / setspawn / setcore / setturret / setlane / setcamp / setmax / setmin / settime などの設定・管理コマンド、および /shop の実行に必要 |
プレイヤー向け権限について
/moba join・leave・start・stats・status・solo・ranking solo は 権限不要で全員が使えます(status は読み取り専用)。join・leave・stats でプレイヤー名を指定して他者を対象にする操作、solo <プレイヤー>・ranking reset のみOP限定です。一方 /shop は plugin.yml で moba.admin 限定 のため、一般プレイヤーは /shop コマンドを直接使えません(ショップ看板から開きます)。
コマンド¶
プレイヤー用(全員可)¶
| コマンド | 説明 |
|---|---|
/moba join [名前] / leave [名前] |
ロビーに参加 / 退出する(看板と同等)。名前を指定して他者を対象にするのはOP限定 |
/moba start [識別子] |
ゲームを開始する(開始看板と同等・全員可)。識別子でステージ指定(省略時は編集ステージ) |
/moba stats [名前] |
統計を表示する(自分の試合中はライブ成績/非試合中・名前指定は通算成績) |
/moba solo [cs [コース] [ステージ] \| tower [ステージ]] |
ソロ練習(ラストヒット)に参加・開始。引数なしでソロメニューを開く |
/moba ranking solo [cs\|tower] [コース] [ステージ] |
ソロのランキングを表示する |
/moba status |
地点・看板・ステージ・ゲーム状況を確認する(読み取り専用・権限不要) |
管理用(moba.admin)¶
| コマンド | 説明 |
|---|---|
/moba book |
管理GUIメニュー(管理メニュー)を開く。地点設定・看板登録・ゲーム制御・数値設定をGUIで行える |
/moba stop |
ゲームを停止する(ソロ挑戦中はその挑戦だけを停止し、挑戦者をロビーへ戻す) |
/moba forceunlock <プレイヤー> [confirm] |
他ゲーム参加中フラグ(参加ロック)を強制解除する(コンソール可) |
/moba solo <プレイヤー> [cs\|tower] |
指定プレイヤーをソロへ参加させる/即開始(コンソール可) |
/moba ranking reset <プレイヤー\|all> [cs\|tower\|all] [ステージ\|all] |
ソロの記録を消去する |
/moba reload |
config.yml を再読み込み(看板・構造物も再構築) |
/moba setstage <識別子> |
以降の地点設定の編集ステージを切り替える |
/moba setstartspawn / setlobby |
初期リスポーン地点 / 待機ロビーを現在地に設定(ステージ非依存) |
/moba setfield <1\|2> |
ゲームエリアの角1/角2を現在地に設定(編集ステージ) |
/moba setspawn <red\|blue> |
チームスポーンを現在地に設定(編集ステージ) |
/moba setcore <RED\|BLUE> |
コア位置を現在地に設定(編集ステージ) |
/moba setturret <RED\|BLUE> <1-5> |
防衛塔位置を現在地に設定(編集ステージ) |
/moba setlane <RED\|BLUE> <LANE_TOP\|LANE_MID\|LANE_BOT> <番号> |
ミニオン経路のウェイポイントを現在地に設定(編集ステージ) |
/moba setcamp <NORMAL\|BUFF\|BOSS> |
中立クリープの湧き地点を現在地に追加(編集ステージ) |
/moba setmax <人数> / setmin <人数> / settime <秒> |
最大人数 / 開始最低人数 / 最大試合時間を設定(即保存・自動リロード) |
/moba setsign <join\|leave\|shop\|champion\|solo\|start [識別子]\|delete> |
視線先の看板を各種看板として登録、または delete で登録解除 |
ゲームの運営¶
- プレイヤーがロビー看板から参加し、
MIN_PLAYERS_TO_START以上集まるのを待つ。 - 必要に応じて
/moba startで開始(自動開始の挙動は実装状況に依存)。 - 異常時は
/moba stopで強制停止。
トラブルシューティング¶
プレイヤーがゲームに参加できない
参加導線は ロビー看板 です。看板が正しく設置されているか、/moba setlobby でロビー座標が設定済みかを確認してください。
中立クリープが湧かない
クリープの湧き座標は編集ステージ固有で STAGES.<識別子>.CREEP_SPAWNS.<タイプ> に保存されます。これが空だと湧きません(この座標領域は ConfigUpdater の補完対象外です)。/moba setcamp <NORMAL|BUFF|BOSS> で湧き地点を追加するか、config に座標を記載してください。NEUTRAL_CREEPS の有効化設定自体は起動時に自動補完されます。
2つ目以降のスキルが最初から使える / おかしい
EXPERIENCE.LEVEL_UP_REWARDS.SKILL_UNLOCK_LEVELS が空(旧config)だと、2つ目以降のスキルがLv1で即解放されます。[6, 11, 16] を設定してください。
チャンピオンが選べない
チャンピオン選択看板を /moba setsign champion で登録してください。/moba status の「チャンピオン看板」が設定済みか確認できます。
ミニオンが進軍しない/挙動がおかしい
ミニオンのAI(Pathfinding)は簡易実装です。config.yml の MINION_WAYPOINTS の経路が正しくても期待通り動かない場合があります。既定は ARAM 想定で LANE_MID のみ有効です。
実装状況¶
実装済みの主要機能
- チャンピオン/スキル制(5職・各スキル3種・パッシブ・マナ・CD・Lv6/11/16解放・レベルスケール)
- 中立クリープ(通常/バフ/ボス・報酬・バフ・リスポーン)
- ワード(敵の発光・上限3個)、リコール(拠点帰還)、AFK自動離脱
- HUDサイドバー(KDA/CS/Lv/マナ/エメラルド/コアHP/チームキル)、ルーン(スタッツ装備)
- 経済・経験値・ショップ、チーム管理・状態管理、看板(参加/退出/ショップ/チャンピオン/ソロ/開始)
- ソロ練習(ラストヒット):CSチャレンジ/タワーアタック、自己ベスト・ステージ別ランキング(
/moba solo・/moba ranking・ソロ看板・ソロメニュー) - 管理GUIメニュー(
/moba book・設定状況/ゲーム制御/地点・看板設定/数値設定をクリック操作)
既知の制約・注意点
- ミニオンの Pathfinding は簡易実装で、経路が正しくても期待通り動かない場合があります。
- ボスクリープのバフは現状 力(STRENGTH)固定 で、
BUFF_EFFECTの設定値を反映しません。 - クリープをスキル/投射物で倒した場合、撃破者の判定(報酬付与)が状況により外れることがあります。
- ショップのルーンの価格/効果はコードにハードコードされており、
SHOPconfig の値とは連動しません(ワードの価格のみVISION.WARD.COSTを参照)。 - 既存サーバーは config の新セクションが自動追記されません(上記「既存サーバーを更新する場合」を参照)。
全ゲーム共通の改修(2026-09)¶
全ミニゲーム共通の改修が入り、本ゲームにも適用されています。
- 名前表示 … 参加中はチャット名・Tabリスト名・頭上の名札が「【ゲーム名】名前」になり、離脱で元に戻ります(表示名は config の
display-name)。 - 参加/離脱の全体告知 … 参加・離脱時にサーバー全体へ「【ゲーム名】名前 が参加しました (N人)」等を通知します。
- 同時参加は1ゲームまで … 他ゲームに参加中は参加が拒否されます(「【○○】に参加中です」)。異常で参加ロックが残った場合はOPが
/<コマンド> forceunlock <プレイヤー>で解除できます。 - 退避データのファイル保存 … ロビー入場時に退避した所持品を
plugins/<プラグイン>/vault/<UUID>.ymlに保存し、サーバークラッシュ後の再ログインでも復元 します(退避・復元は各1回、試合終了時は復元しません)。
追加された config キー¶
| キー | 説明 |
|---|---|
display-name |
ゲーム表示名(「【…】」の中身) |
messages.join-broadcast |
参加の全体告知文 |
messages.leave-broadcast |
離脱の全体告知文 |
messages.already-in-other-game |
他ゲーム参加中に拒否したときの文言 |
messages.vault-save-failed |
持ち物の退避(ファイル保存)に失敗して参加を中止したときの文言 |
config は自動で追記されるようになりました
起動時・/moba reload 時に、config.yml へ不足している項目を既定値+コメント付きで自動追記します(既存の値は変更しません/変更がある場合のみ更新前のファイルを config.yml.bak に保存)。これにより AFK / RECALL / VISION / NEUTRAL_CREEPS / SKILL_UNLOCK_LEVELS などの設定セクションは旧 config でも自動補完されます。座標・看板・ステージ(MAP_SETTINGS / STAGES / SIGNS / EDIT_STAGE / solo.cs.courses)などのデータ領域は補完対象外です。