本文へ移動

Axeの設定(config.json) ​

Axeは、起動するときに配信先のassets/config.jsonを読み、どのサーバーにつなぐかを決めます。サーバーを置いたら、最後にこのファイルを書き換えて、Axeとサーバーをつなぎます。

ファイルの場所 ​

Axeを配信している場所(index.htmlのあるフォルダ)の中の、assets/config.jsonです。

text
(Axeの配信先)
 ├─ index.html
 └─ assets/
     └─ config.json   ← これ

Axeのリリースのzipには、ひな形の値が入ったassets/config.jsonが最初から入っています。配信先でこのファイルを開き、値を書き換えて、置き直してください。テキストエディターの使いかたは、設置の準備にあります。

SkyWay版のとき ​

backend.urlに、トークン発行サーバー(PHP版かVercel版)のURLを書きます。

json
{
  "backend": {
    "url": "https://backend.example.com"
  }
}
項目内容
backend.urlトークン発行サーバーのURL。サブディレクトリに置いたときは、そのパスまで書く(例:https://example.com/backend)

URLの末尾の/は、あってもなくても構いません。transportは書かないか、"skyway"にします。

サーバー版のとき ​

transportを"server"にし、backend.urlに部屋のサーバー(Cloudflare版かVercel版)のURLを書きます。

json
{
  "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を書きます。

GitHub Actionsで配信している場合 ​

Axeのリポジトリをフォークして、付属のデプロイ用ワークフロー(.github/workflows/deploy.yml)でS3とCloudFrontに配信している場合は、config.jsonを手で書く代わりに、GitHubのEnvironmentに値を入れます。ワークフローが、ビルドのあとにconfig.jsonを作ります。

入れる場所名前入る先必須
SecretBACKEND_URLbackend.url○
Variable(Secretではない方)TRANSPORTtransport

TRANSPORTを書かなければskywayです。skywayとserverのほかの値では、ワークフローが止まります。

ローカル確認モード ​

Axeを「ローカル確認モード」で起動したときは、ネットワークを使わないのでconfig.jsonは読まれません。どのサーバーにもつなぎません。

サーバー版でAxeがすること ​

サーバー版で配信すると、ロビーの上に「Discordでログイン」が出ます。GMとPLはログインして入り、ログインしていない人は見学になります(→ サーバー版のしくみ)。

MITライセンスで公開しています