Axeの設定(config.json)
Axeは、起動するときに配信先のassets/config.jsonを読み、どのサーバーにつなぐかを決めます。サーバーを置いたら、最後にこのファイルを書き換えて、Axeとサーバーをつなぎます。
ファイルの場所
Axeを配信している場所(index.htmlのあるフォルダ)の中の、assets/config.jsonです。
(Axeの配信先)
├─ index.html
└─ assets/
└─ config.json ← これAxeのリリースのzipには、ひな形の値が入ったassets/config.jsonが最初から入っています。配信先でこのファイルを開き、値を書き換えて、置き直してください。テキストエディターの使いかたは、設置の準備にあります。
SkyWay版のとき
backend.urlに、トークン発行サーバー(PHP版かVercel版)のURLを書きます。
{
"backend": {
"url": "https://backend.example.com"
}
}| 項目 | 内容 |
|---|---|
backend.url | トークン発行サーバーのURL。サブディレクトリに置いたときは、そのパスまで書く(例:https://example.com/backend) |
URLの末尾の/は、あってもなくても構いません。transportは書かないか、"skyway"にします。
サーバー版のとき
transportを"server"にし、backend.urlに部屋のサーバー(Cloudflare版かVercel版)のURLを書きます。
{
"transport": "server",
"backend": {
"url": "https://backend.example.com"
}
}| 項目 | 内容 |
|---|---|
transport | "server"で部屋のサーバー、"skyway"か書かなければSkyWay版。知らない値はSkyWay版として読む |
backend.url | 部屋のサーバーのURL。部屋とログインと画像と音声のAPIを、すべてここに送る |
部屋のサーバーのACCESS_CONTROL_ALLOW_ORIGINには、Axeを配信しているOriginを名前で書いておきます。ログインのあとにAxeへ戻る先が、配信先のOriginにあるためです(*では戻れません)。
どちらの方式で配信するかは、配信ごとに選びます。1つの配信の中で、部屋ごとに切り替えることはしません。
サーバー側の設定との対応
Axeのbackend.urlには、サーバー(トークン発行サーバーか部屋のサーバー)のURLを書きます。サーバーのACCESS_CONTROL_ALLOW_ORIGINには、Axeを配信しているOriginを書きます。
https://axe.example.comhttps://backend.example.comhttps://backend.example.comhttps://axe.example.comGitHub Actionsで配信している場合
Axeのリポジトリをフォークして、付属のデプロイ用ワークフロー(.github/workflows/deploy.yml)でS3とCloudFrontに配信している場合は、config.jsonを手で書く代わりに、GitHubのEnvironmentに値を入れます。ワークフローが、ビルドのあとにconfig.jsonを作ります。
| 入れる場所 | 名前 | 入る先 | 必須 |
|---|---|---|---|
| Secret | BACKEND_URL | backend.url | ○ |
| Variable(Secretではない方) | TRANSPORT | transport |
TRANSPORTを書かなければskywayです。skywayとserverのほかの値では、ワークフローが止まります。
ローカル確認モード
Axeを「ローカル確認モード」で起動したときは、ネットワークを使わないのでconfig.jsonは読まれません。どのサーバーにもつなぎません。
サーバー版でAxeがすること
サーバー版で配信すると、ロビーの上に「Discordでログイン」が出ます。GMとPLはログインして入り、ログインしていない人は見学になります(→ サーバー版のしくみ)。