大富豪(Daifugo) ― OP・運営ガイド¶
大富豪の導入・初期スポーン/ロビー/席/看板の設定・管理ツール・開始条件・config・権限・管理コマンドをまとめます。地点・席・看板はコマンドや管理メニューで設定すると即 config に自動保存されます。
基本情報¶
| 項目 | 値 |
|---|---|
| プラグイン名 | Daifugo |
| バージョン | ${project.version}(ビルド時に決定) |
| メインコマンド | /daifugo(別名 /dfg) |
| api-version | 26.1.2 |
| softdepend | floodgate / Geyser-Spigot(統合版対応) |
| 設定ファイル | plugins/Daifugo/config.yml |
| 権限ノード | daifugo.admin(既定OP) |
導入手順¶
- ビルドした
Daifugoの jar をサーバーのplugins/フォルダに配置する。 - サーバーを起動すると
config.ymlが自動生成される(人数・時間・ルールは初期値で動作)。 /dfg setstartspawn・/dfg setlobbyで初期スポーン(途中抜けの戻り先)とロビーを設定する。/dfg setspawn <1〜6>で卓の各席を設定する(席が未設定でも、ロビーを中心に自動で円状に並びます)。- 参加・離脱・開始(形式ごと)の看板を設置する。
/dfg statusで設定状況を確認する。
席の並べ方
席(/dfg setspawn 1〜6)は 卓の中央を向いて 立って実行します(向きもそのまま使います)。時計回り(または反時計回り)に番号順 に並べてください。番号順が手番の順になります。席は必須ではなく、設定していない分はロビーを中心に半径 table.auto-radius(既定3.0)の円状へ自動配置します。設定済みの席から優先して使い、割り当てはランダムです。
セットアップ手順(コマンド)¶
地点・席は 実行した位置 を使い、看板系は看板を 見ながら 実行します。すべて daifugo.admin 権限が必要です。
名前表示・中央表示の高さ
席の上 約2.3ブロック(table.name-height)に名前表示(防具立て)が出ます。天井が低いと埋まるので注意してください。卓の中央(設定済みの席の平均の位置)の上 約1.6ブロック(table.center-height)に、場のカードと状態の表示が出ます。中央にブロックがあると埋まるので、高さを調整してください(席が1つも設定されていないときはロビー地点の上に出ます)。
管理ツール・管理メニュー(コマンドを打たない設定)¶
コマンドを打たずに、管理ツール(ブレイズロッド) と 管理メニュー(GUI) でも席・地点・看板・ローカルルールを設定できます。どちらも daifugo.admin 権限が必要です。
- 管理ツールを右クリック(統合版はタップ/長押し)で管理メニューを開きます。
/dfg menuでも開けます。 - 数値 … +/−ボタンで最大出場人数・対人戦の最低人数・ラウンド数・ジョーカーの枚数・手番の制限時間・カード交換の時間・CPU練習の合計人数・CPUが出すまでの時間・開始カウントダウン・ラウンドの間・結果の表示時間・ロビーの定員を変更(即保存)。
- ローカルルール … 革命・8切り・縛り・階段・スペ3返し・都落ち・反則上がり・イレブンバック・5飛びを押すたびに ON/OFF(即保存。次の試合から反映)。
- 地点 … ボタンを押すと立ち位置に設定(初期スポーン・ロビー・席1〜6)。「席をすべて消す」は5秒以内に2回押し。
- 看板 … 看板を見ながら(5ブロック以内)押すと参加/離脱/開始看板を登録(開始看板は形式を選ぶ画面が出ます)、ハサミで登録解除。
- 運用 … 開始(形式を選ぶ)・設定状況・リロード・強制停止(強制停止は5秒以内に2回押し)。
管理ツールの扱い
管理ツールはOP専用です。ロビーで待機している間も受け取れます(試合中は受け取れません)。試合が始まると持ち物と一緒に回収され、ロビー待機中に受け取った場合はロビーから抜けたときに自動で手元に戻ります。捨てると消えるので、再度 /dfg wand で取得してください。
開始の条件¶
| 形式 | 必要な人数 |
|---|---|
| normal(対人戦) | min-players(既定3)人以上 |
| cpu(CPU練習) | 1人以上。合計が cpu.fill-to(既定4)人になるまでCPUを追加(最低1体・合計3人以上) |
- 出場は参加順に
max-players(既定6)人まで。出場者はカウントダウン明けのオンライン在籍者で確定します。 - ローカルルール・ラウンド数・ジョーカーの枚数は、試合を開始した時点の設定で1試合を通します。
/dfg startの形式を省略するとdefault-mode(既定 normal)で始まります。
config.yml 設定項目¶
コマンドで登録する地点・席・看板のデータ(default-spawn・lobby-spawn・seats・signs)は自動保存されます。手書き不要です。先頭の config-version は設定ファイルの版で、手で変えないでください。設定の変更は「次の試合から」反映されます(/dfg reload で再読み込み)。
人数・時間¶
| キー | 既定値 | 説明 |
|---|---|---|
max-lobby |
12 | ロビーに入れる人数(出場できない人は待機) |
max-players |
6 | 1試合に出場できる人数(3〜6・参加順に出場) |
min-players |
3 | 対人戦を開始できる最低人数(3〜6) |
countdown-seconds |
5 | 開始前のカウントダウン(秒) |
result-seconds |
8 | 試合終了後、最終結果を表示しておく秒数 |
default-mode |
normal | 形式省略時の形式(normal=対人戦 / cpu=CPU練習) |
試合(game)¶
| キー | 既定値 | 説明 |
|---|---|---|
game.rounds |
3 | 1試合のラウンド数(1〜10)。合計点で最終順位を決める |
game.jokers |
1 | ジョーカーの枚数(0〜2) |
game.turn-seconds |
60 | 手番の制限時間(秒)。時間切れは、場があればパス・場が空なら一番弱い1枚(0=無制限) |
game.exchange-seconds |
30 | カード交換で渡すカードを選ぶ時間(秒)。時間切れは一番弱いカード |
game.turn-gap-ticks |
20 | 出した・パスしたあと、次の人の番になるまでの間(20=1秒) |
game.round-gap-seconds |
6 | ラウンドの結果から次のラウンドを配るまでの秒数 |
ローカルルール(rules・ON=true / OFF=false)¶
| キー | 既定値 | 説明 |
|---|---|---|
rules.revolution |
true | 革命(同じ数字4枚以上・階段5枚以上で強さが逆転) |
rules.eight-cut |
true | 8切り(8を含む出し方で場が流れ、出した人から再開) |
rules.lock |
true | 縛り(同じマークが続いたら場が流れるまでそのマークのみ) |
rules.stairs |
true | 階段(同じマークの連続3枚以上。ジョーカーで穴埋め可) |
rules.spade-three |
true | スペ3返し(ジョーカー1枚出しに♠3の1枚出しで勝てる) |
rules.miyako-ochi |
true | 都落ち(前の大富豪が1位で上がれなければその場で最下位) |
rules.forbidden-finish |
true | 反則上がり(ジョーカー・2・8・♠3での上がりは最下位) |
rules.eleven-back |
false | イレブンバック(J を出すと場が流れるまで強さ逆転) |
rules.five-skip |
false | 5飛び(5を出すと出した枚数だけ次の人を飛ばす) |
点数(points)・CPU(cpu)・卓(table)¶
| キー | 既定値 | 説明 |
|---|---|---|
points.daifugo / fugo / heimin / hinmin / daihinmin |
5 / 4 / 3 / 2 / 1 | 階級ごとの点数(3人のときは大富豪・平民・大貧民) |
cpu.fill-to |
4 | CPU練習で合計がこの人数になるまでCPUを入れる(最低1体・3〜6) |
cpu.think-ticks |
30 | CPUが出すまでの時間(20=1秒・少しランダムに揺らす) |
table.freeze-players |
true | 試合中は自分の席から動けないようにする |
table.name-height |
2.3 | 席の上に出す名前表示の高さ |
table.auto-radius |
3.0 | 席が未設定のとき、ロビーを中心に自動で並べる円の半径 |
table.center-display |
true | 卓の中央に、場のカードと状態(革命・縛り)を表示する |
table.center-height |
1.6 | 卓の中央の表示の高さ(席の平均の高さから) |
keep-food |
true | ロビー在籍中は満腹度を減らさない |
protect-lobby |
true | ロビー在籍中はダメージを受けない |
決着・途中退出¶
- 1試合は
game.rounds(既定3)ラウンド。ラウンドごとに階級に応じた点数(points.*)が入り、合計点で最終順位を決めます(同点は最後のラウンドの順位)。 - 試合中の leave・切断は脱落扱い。そのラウンドは最下位になり、手札は捨てます。次のラウンドからは出場しません。
- 次の場合はその時点で試合を終え、それまでの合計点で順位を出します。
- 出場者が1人になった/新しいラウンドを配る時点で出場者が3人未満(ラウンドの途中で2人になった場合は、そのラウンドは最後まで続けます)/人間の出場者が全員抜けた(CPU練習)。
- 試合結果(最終順位)だけはサーバー全体に流れます(1ラウンドも終わっていない場合は流れません)。
- 上がった人は 席に残ったまま ラウンドの終わりまで見る方式です(スペクテイターにはしません)。
管理コマンド¶
| コマンド | 説明 |
|---|---|
/dfg setstartspawn |
初期スポーン(途中抜けの戻り先)を設定 |
/dfg setlobby |
ロビー地点を設定 |
/dfg setspawn <1-6> |
卓の席を設定 |
/dfg setsign <join\|leave\|start <形式>\|delete> |
看板を登録/解除(視線先) |
/dfg wand |
管理ツール(ブレイズロッド)を受け取る |
/dfg menu |
管理メニュー(GUI)を開く |
/dfg stop |
試合を強制停止(勝敗なし・在籍は維持。在籍者はロビーへ) |
/dfg reload |
config.yml を再読み込み |
/dfg leave <プレイヤー> |
指定した人を強制離脱させる |
/dfg lobbyfix <プレイヤー> [force] |
ロビー前の持ち物の手動復旧(force で退避データ破棄・ロック解除) |
/dfg status |
設定状況・現在の状況を確認(全員可。ローカルルールの ON/OFF も表示) |
プレイヤー用コマンド¶
| コマンド | 説明 |
|---|---|
/dfg join |
ロビーに参加(参加看板と同等) |
/dfg leave |
ロビーから離脱(離脱看板と同等。試合中は脱落扱い) |
/dfg start [normal\|cpu] |
試合を開始(開始看板と同等・コンソール/コマンドブロックも可) |
/dfg hand |
手札の画面を開く |
/dfg status |
設定・状況を確認(読み取り専用) |
権限ノード¶
| 権限ノード | 既定 | 用途 |
|---|---|---|
daifugo.admin |
OP | setstartspawn・setlobby・setspawn・setsign・wand・menu・stop・reload・leave <プレイヤー>・lobbyfix など管理系すべて |
権限不要で全員が使えるコマンド
/dfg join・/dfg leave(自分)・/dfg start・/dfg hand・/dfg status は権限チェックがなく、全プレイヤーが使えます。start はコンソール・コマンドブロックからも実行できます。/dfg leave <プレイヤー> で他人を指定できるのは daifugo.admin を持つ場合だけです。
トラブルシューティング¶
ゲームが開始できない
対人戦(normal)はロビーに min-players(既定3)人以上必要です。1〜2人で遊ぶときは cpu(CPU練習)で開始してください。人数が揃っても自動では始まりません。開始看板・start コマンド・管理メニューで開始してください。
席の名前表示や卓の中央表示が埋まる・見えない
天井や中央のブロックに埋まっている可能性があります。table.name-height(席の上)・table.center-height(卓の中央)で高さを調整してください。
ロビーに入る前の持ち物が戻らない
/dfg lobbyfix <プレイヤー> で復旧できます。退避データはファイルに保存され、サーバー再起動・クラッシュをまたいでも復元されます。どうしても戻らない場合のみ force を付けると退避データを破棄してロックだけ解除します(最終手段)。
全ゲーム共通の改修¶
全ミニゲーム共通の改修が入り、本ゲームにも適用されています。
- 名前表示 … 参加中はチャット名・Tabリスト名・頭上の名札が「【大富豪】名前」になり、離脱で元に戻ります(表示名・色は config の
name-tag.display-name/name-tag.color)。 - 参加/離脱の全体告知 … 参加時にサーバー全体へ通知します(
name-tag.announce-joinで切替)。試合結果も全体へ告知されます。 - 同時参加は1ゲームまで … 他ミニゲームに参加中は参加が拒否されます。サーバー共通のスコアボードタグで所有権を管理しています。
- 退避データのファイル保存(LobbyInventory) … ロビー入場時に退避した所持品をファイルに保存し、サーバークラッシュ後の再ログインでも復元 します。異常で持ち物が戻らない・ロックが残った場合はOPが
/dfg lobbyfix <プレイヤー> [force]で復旧できます。 - config の自動追記(ConfigUpdater) … 起動時に
config.ymlへ不足している項目を既定値+コメント付きで自動追記します(既存の値は変更しません/更新時は旧ファイルを.bak-日時に退避)。地点・席・看板などのデータ領域は補完対象外です。 - 統合版対応(BedrockCompat) … Floodgate / Geyser-Spigot 経由の統合版プレイヤーに対応します。空中タップ(腕振り)でも手札の本・管理ツールを使え、登録看板は蝋引きして編集画面が開かないようにします。カードのマークはアイテムの色、数字はアイテムの個数で見分けられ、席の名前表示・卓の中央表示は防具立ての名前で統合版でも表示されます。
ロビー・名前表示・統合版の config¶
| キー | 既定値 | 説明 |
|---|---|---|
lobby-inventory.enabled |
true | ロビー入退室時の持ち物退避/復元(true 推奨) |
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 | (使われません。未復元の退避データは期限切れで捨てず、次のログインで必ず返します) |
name-tag.enabled |
true | 参加中の名前表示を付ける |
name-tag.display-name |
大富豪 | 「【】」に入れる正式名 |
name-tag.color |
GOLD | ゲーム名の色 |
name-tag.announce-join |
true | サーバー全体への参加通知 |
bedrock.wax-signs |
true | 登録看板を蝋引き(統合版でタップ時に編集画面を開かせない) |
bedrock.swing-to-use |
true | 統合版は空中タップ(腕振り)でも手札の本・管理ツールを使える |
bedrock.name-prefix |
. |
Floodgate 未導入時に統合版と見なす名前の接頭辞 |