Skip to content

akashic serve

sh
akashic serve [<options>] [<path>]

<path> ディレクトリ(省略時はカレントディレクトリ)にあるゲームをホストする、マルチプレイ動作確認用サーバを起動します。

起動後に表示される URL(デフォルトでは http://localhost:3300/)を Web ブラウザで開いてください。

<options> に指定可能なオプションは次のとおりです。

オプション短縮名効果デフォルト値
--hostname <hostname>-H起動するサーバのホスト名を指定します。localhost
--port <port>-p起動するサーバのポート番号を指定します。3300
--verbose-v詳細情報をログ出力します。false
--no-auto-start-Aブラウザ画面を開いた時、コンテンツに引数を渡す起動画面を表示します。指定なし
--target-service <name>-s指定されたサービスの挙動を模擬します。(後述)none
--watch-wアセットディレクトリを監視し、変更時に新規プレイを作成します。指定なし
--server-external-script <filepath>N/A指定ファイルの js を評価し、アクティブインスタンスの g.game.external に代入します。指定なし
--debug-playlog <path>N/A指定した playlog.json を読み込みます(エンジン開発用、または開発中のオプションです)。指定なし
--allow-externalN/Asandbox.config.js からの外部アクセスを許可する URL を読み込みます。指定なし
--no-open-browserN/A起動時にブラウザを開かないようにします。指定なし
--preserve-disconnectedN/Aサーバとの切断時に子ウィンドウを閉じないようにします。指定なし
--experimental-open <num>N/A指定数の子ウィンドウを開いて起動します。指定なし
--ssl-cert <certificatePath>N/AHTTPS で起動するための SSL 証明書のパスを指定します。指定なし
--ssl-key <privatekeyPath>N/AHTTPS で起動するための 秘密鍵のパスを指定します。指定なし
--cors-allow-origin <origin>N/AAccess-Control-Allow-Origin レスポンスヘッダーの値を指定します。指定なし

ネットワークごしに(他の PC などから)マルチプレイを行いたい場合は、 --hostname に外部からアクセス可能なホスト名(IP アドレスなど)を指定してください。

オプション --target-service には下記の値を指定できます。

  • nicolive: ニコニコ生放送
  • none: なし (デフォルト値)

nicolive が指定された場合、特定の条件で JoinEvent が自動的に送られるなど、ニコニコ生放送に近い次のような挙動で動作します。

  • 放送者役をいちいち Join させなくてもいいように
    • 起動後、最初に開かれたブラウザウィンドウのプレイヤーを必ず Join させる
    • 「新規プレイ」ボタンでゲームを始める時も、このブラウザウィンドウのプレイヤーを Join させる
    • 「Join Me」ボタンが無効になる
  • コンテンツ起動時に与えられる引数を、ニコニコ生放送と同様のものに
    • 詳細割愛 (通常、ゲーム開発者がこの値を参照する必要はありません)

HTTPS で起動する場合は、--ssl-cert--ssl-key オプションを指定してください。 自己証明書による起動もできますが、OS やブラウザにより証明書を登録する必要などがあり得ます。

また、自己証明書での起動では、node-fetch で自己証明書によるエラーが出ますので、下記のように証明書エラーを無視する環境変数を設定して serve を起動する必要があります。

sh
env NODE_TLS_REJECT_UNAUTHORIZED=0 akashic serve . --ssl-cert <certificatePath> --ssl-key <privatekeyPath>