README
akashic-cli-serve
akashic-cli-serve は、 Akashic Engine で作成されたゲームの動作確認環境です。 サーバとして起動して、ブラウザからマルチプレイのゲームを動作させることができます。
このモジュールは、akashic-cli に組み込まれています。 通常、ゲーム開発者がこのモジュールを直接利用する必要はありません。 akashic-cli は Akashic Engine を使ったゲーム作成を補助するコマンドラインツールです。 Akashic Engineの詳細な利用方法については、 公式ページ を参照してください。
現時点では、マルチプレイの動作確認環境です。
シングルプレイの動作確認には、より多機能な akashic-sandbox
をご利用ください。
インストール
npm install -g @akashic/akashic-cli-serve
利用方法
akashic-cli-serve [<options>] [<path>]
<path>
に、起動するゲームの game.json があるディレクトリを与えてください。
省略された場合、 .
と解釈されます。
<options>
に指定可能なオプションは次のとおりです。
オプション | 短縮名 | 効果 | デフォルト値 |
---|---|---|---|
--hostname <hostname> |
-H |
起動するサーバのホスト名を指定します。 | localhost |
--port <port> |
-p |
起動するサーバのポート番号を指定します。 | 3300 |
--verbose |
-v |
詳細情報をログ出力します。 | false |
--no-auto-start |
-A |
ブラウザを開いた時、コンテンツを自動開始しないようにします。 | N/A |
--target-service <name> |
-s |
指定されたサービスの挙動を模擬します。(後述) | none |
--watch |
-w |
アセットディレクトリを監視し、変更時に新規プレイを作成します。 | N/A |
--server-external-script <filepath> |
N/A | 指定ファイルの js を評価し、アクティブインスタンスの g.game.external に代入します。 | N/A |
--debug-playlog <path> |
N/A | 指定した playlog.json を読み込みます(エンジン開発用、または開発中のオプションです)。 | N/A |
--allow-external |
N/A | 外部アセットを許可します。許可する値は sandbox.config.js から読み込みます。 | N/A |
--no-open-browser |
N/A | 起動時に自動でブラウザを開かないようにします。 | N/A |
--preserve-disconnected |
N/A | サーバ切断時に開いている子ウィンドウを閉じないようにします。 | N/A |
--experimental-open <num> |
N/A | 起動時に子ウィンドウを指定数開いて起動します。上限は 10 です。試験中の機能です。通常、利用しないでください。 | N/A |
--ssl-cert <certificatePath> |
N/A | HTTPS で起動するための SSL 証明書のパスを指定します。 | N/A |
--ssl-key <privatekeyPath> |
N/A | HTTPS で起動するための 秘密鍵のパスを指定します。 | N/A |
--cors-allow-origin <origin> |
N/A | Access-Control-Allow-Origin レスポンスヘッダーの値を指定します。 | N/A |
--help |
-h |
ヘルプを表示して終了します。 | N/A |
--version |
-V |
バージョンを表示して終了します。 | N/A |
オプション --target-service
には下記の値を指定できます。
nicolive
: ニコニコ生放送atsumaru:single
: ゲームアツマール シングルatsumaru:multi
: ゲームアツマール マルチatsumaru
: 非推奨です。atsumaru:single
を利用してください。none
: なし (デフォルト値)
環境変数
環境変数 | 説明 | 注釈 |
---|---|---|
ENGINE_FILES_V3_PATH |
engine-files v3 のビルド成果物のパス。 (e.g. ./engineFilesV3_x_y.js ) この値が指定された場合、 対象の engine-files を akashic-engine v3 コンテンツ実行時に利用します。 |
エンジン開発用のオプションです。通常、ゲーム開発時に利用する必要はありません。 |
PLAYLOG_CLIENT_PATH |
playlog-client のビルド成果物のパス。 (e.g. ./playlogClientVx_y_z.js ) この値が指定された場合、 /contents/:contentId/content.raw.json からも参照され利用されます。 |
エンジン開発用のオプションです。通常、ゲーム開発時に利用する必要はありません。 |
外部参照できる DOM 要素
akashic-cli-serveの自動実行テストでDOMを参照できるようにするために、以下のように各DOMにclass名を付与しました。
class名 | 要素 |
---|---|
external-ref_button_display-option |
表示オプションボタン |
external-ref_checkbox_shows-background-image |
背景表示チェックボックス |
external-ref_checkbox_shows-grid |
グリッド表示チェックボックス |
external-ref_button_select-entity-from-screen |
ゲーム画面からエンティティ選択ボタン |
external-ref_button_refresh-entity-tree |
エンティティツリー更新ボタン |
external-ref_button_dump-to-console |
選択エンティティをコンソールにダンプするボタン |
external-ref_button_send-event |
イベント送信ボタン |
external-ref_button_copy-event |
イベントコピーボタン |
external-ref_button_shows-event-list |
イベントリストの表示・非表示を切り替えるボタン |
external-ref_button_send-editing-event |
編集したイベントを送信するボタン |
external-ref_button_download-snapshot |
スナップショット保存ボタン |
external-ref_button_seek-snapshot |
スナップショットへシークするボタン |
external-ref_button_pause |
インスタンスポーズボタン |
external-ref_button_real-time-execution |
リアルタイム実行ボタン |
external-ref_button_add-instance |
インスタンス追加ボタン |
external-ref_checkbox_auto-send-event |
セッションパラメータ送信チェックボックス |
external-ref_text_total-time-limit |
制限時間入力テキストボックス |
external-ref_checkbox_use-preferred-total-time-limit |
game.jsonのpreferredSessionParametersの値を利用チェックボックス |
external-ref_checkbox_stops-game-on-timeout |
時間経過後にゲームを停止チェックボックス |
external-ref_button_new-play |
新規プレイ作成ボタン |
external-ref_button_active-pause |
アクティブインスタンスをポーズ/解除ボタン |
external-ref_button_join-leave |
インスタンスのプレイヤーのJoin/Leaveを送信するボタン |
external-ref_button_player-info-accept |
コンテンツでのプレイヤー名表示許諾ボタン |
external-ref_button_player-info-reject |
コンテンツでのプレイヤー名表示拒否ボタン |
external-ref_img_background |
背景画像 |
external-ref_div_game-content |
コンテンツ表示エリア |
external-ref_canvas_grid |
グリッド |
external-ref_div_player-info-dialog |
プレイヤー名表示に関するダイアログ |
external-ref_checkbox_joins-automatically |
自動的にJoinするチェックボックス |
external-ref_button_start-content |
コンテンツ開始ボタン |
external-ref_button_dev-tools |
Devtools表示ボタン |
開発
初期化:
npm i
ビルド:
npm run build
Storybook 起動:
npm run storybook
内部モジュール更新: 実行には optionalDependencies
が解決できる必要があります。
npm run copy:agv
ライセンス
本リポジトリは MIT License の元で公開されています。 詳しくは LICENSE をご覧ください。
ただし、画像ファイルおよび音声ファイルは CC BY 2.1 JP の元で公開されています。