Skip to content

Phira-mp+ CLI 命令文件

啟動參數

phira-mp-plus-server [OPTIONS]

  -p, --port <PORT>          伺服器監聽埠 [預設: 12346]
  -d, --plugins-dir <DIR>    WASM 插件目錄路徑 [預設: "plugins"]
  -e, --ext-file <FILE>      擴充資料持久化 JSON 檔案路徑 [預設: "data/extensions.json"]
      --no-cli               停用互動式 CLI 管理控制臺
  -l, --log-file <NAME>      日誌檔案基礎名稱 [預設: "phira-mp-plus"]
  -m, --monitor <IDS>...     允許旁觀的使用者 ID(可多次指定,如 `-m 1 -m 2`)
      --http-port <PORT>     HTTP/SSE 服務埠 [預設: 12347]
  -c, --config <FILE>        YAML 設定檔路徑 [預設: "server_config.yml"]
  -h, --help                 顯示幫助資訊
  -V, --version              顯示版本號

配置載入順序(後覆蓋前):YAML 設定檔 < 環境變數 < CLI 參數。

互動式管理控制臺

伺服器在一般互動式終端和 tmux 中啟動 ratatui 管理控制臺。GNU Screen 環境自動切換為逐行相容控制臺,不輸出顏色、備用畫面、滑鼠或 Bracketed Paste 控制序列;重新導向、systemd 和其他非 TTY 環境也使用逐行控制臺。設定 NO_COLOR 可在其他終端中關閉顏色。

命令列表

通用命令

命令別名說明
helph, ?顯示幫助資訊
exitquit, q關閉伺服器
statusst顯示伺服器狀態

插件管理(WASM)

命令說明
plugin list列出所有已載入的 WASM 插件
plugin enable <名>啟用指定插件
plugin disable <名>停用指定插件
plugin info <名>顯示插件詳細資訊
plugin reload重載所有 WASM 插件

使用者管理

命令說明
users列出線上使用者
kick <使用者ID>從伺服器踢出使用者
kick <房間ID> <使用者ID>從房間踢出使用者
broadcast [作用域] <訊息>廣播訊息
broadcast 作用域
broadcast all <訊息>             廣播給所有使用者
broadcast room <房間ID> <訊息>    廣播給指定房間
broadcast user <使用者ID> <訊息>    發送給指定使用者

房間管理(room 子命令)

命令說明
rooms / room list列出活躍房間
room info <房間ID>房間詳情(狀態、房主、譜面、歷史)
room start <房間ID>強制開始遊戲
room cancel <房間ID>取消準備狀態
room kick <房間ID> <使用者ID>從房間踢出使用者
room transfer <房間ID> <使用者ID>轉移房主
room set <房間ID> <欄位> <值>修改房間設定(lock/cycle/chart-id)
room close <房間ID>解散房間
room history <房間ID>檢視遊玩記錄
room ban <房間ID> <使用者ID>房間加入黑名單
room unban <房間ID> <使用者ID>房間移出黑名單
room banlist <房間ID>房間黑名單列表

相容舊別名:rooms, room-info / ri, room-start / rs, room-cancel / rc, room-transfer / rt, room-history / rh, close-room / cr, room-ban / rb, room-unban / ru, room-banlist / rbl

黑名單管理

命令說明
ban <使用者ID> [原因]封禁使用者
unban <使用者ID>解封使用者
banlist列出封禁列表

擴充資料

命令說明
ext-list列出所有註冊的擴充資料欄位
ext-get <ID> <key>獲取指定使用者/房間的擴充資料

Web API

中央 HTTP/SSE 伺服器監聽設定的 --http-port(預設 12347)。

端點說明
GET /api/rooms房間列表(含詳情)
GET /api/rooms/{name}指定房間資訊
GET /api/user_name/{id}使用者名稱查詢
GET /api/players/count線上玩家數
GET /api/events統一 SSE 端點
GET /rooms/listenSSE 房間事件流(web-monitor 相容)
GET /ws/liveWebSocket 即時監測(web-monitor 相容)

詳細 API 文件見 api.md

WASM 插件系統

伺服器支援透過 wasmtime 載入 .wasm 插件。插件需放置在 plugins/ 目錄(可透過 -d 自訂)。 插件透過 phira:host/api 匯入函式存取伺服器全部能力:

  • 狀態查詢:rooms.list, player.touches, round.data 等
  • 訊息發送:send.to_user, send.to_room, send.to_all
  • 房間管理:room.kick, room.transfer_host, room.set_lock, room.close
  • 使用者管理:admin.kick_user, admin.ban_user, admin.unban_user, admin.is_banned
  • 插件互呼叫:plugin.api_call, plugin.api_register
  • 資料讀寫:ext.get/set, config.get/set, file.read/write
  • HTTP 請求:http.get/post

具體介面定義見 wit/phira/mpplus.wit

日誌檔案

日誌檔案儲存在 log/ 目錄下,按小時輪轉。

日誌級別透過 RUST_LOG 環境變數控制:

bash
RUST_LOG=info phira-mp-plus-server
RUST_LOG=debug phira-mp-plus-server

Last modified byFireflyF09on2026-06-26 15:41

Built with VitePress