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-external | N/A | sandbox.config.js からの外部アクセスを許可する URL を読み込みます。 | 指定なし |
--no-open-browser | N/A | 起動時にブラウザを開かないようにします。 | 指定なし |
--preserve-disconnected | N/A | サーバとの切断時に子ウィンドウを閉じないようにします。 | 指定なし |
--experimental-open <num> | N/A | 指定数の子ウィンドウを開いて起動します。 | 指定なし |
--ssl-cert <certificatePath> | N/A | HTTPS で起動するための SSL 証明書のパスを指定します。 | 指定なし |
--ssl-key <privatekeyPath> | N/A | HTTPS で起動するための 秘密鍵のパスを指定します。 | 指定なし |
--cors-allow-origin <origin> | N/A | Access-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>