更新するとき
このページは、置いてあるAxe本体を新しい版に置き換える手順です。置き換えるのは、リリースのzipを展開したファイルです。 assets/config.jsonは新しいzipのもので上書きされるので、書き直すのを忘れないでください。
0. 先に確かめること
リリースノートで、新しい版の「以前の版との互換」を読みます。とくに次の2つを確かめます。
- サーバー版で配っているときは、部屋のサーバーも新しくする必要があるか(例:v1.68.0のAxeには、udonarium_axe_backendのv1.1.0以降が要ります)
- 古い版の人と同じ部屋に入ったときに、使えなくなる機能があるか
更新は、卓を遊んでいないあいだに済ませます。遊んでいる最中に置き換えると、開いている画面の一部が読み込めなくなることがあります(→ 参加者の画面)。
1. 新しいzipを取ってくる
GitHubのReleasesから、新しい版のaxe_x.y.z.zipをダウンロードして展開します。手順はAxeを置くと同じです。
2. config.jsonを書き直す
新しいzipのassets/config.jsonは、SkyWay版のひな形です。いま置いてあるconfig.jsonの中身を、新しいほうに写します。
backend.urlを、いま使っているサーバーのURLにします- サーバー版で配っているときは、
transportも"server"にします
前の版のconfig.jsonを手元に残してあれば、それで新しいほうを上書きしても構いません。項目はconfig.jsonを書くにあります。
3. 置き直す
Cloudflare Pages
初めてのときと同じコマンドで、新しい版の展開したフォルダを上げます(→ Axeを置く)。
npx wrangler pages deploy <新しい版の展開したフォルダ> --project-name <プロジェクトの名前> --branch main<新しい版の展開したフォルダ>には、フォルダをターミナルの窓にドラッグして入れます。ログインが切れているときは、ブラウザが開いてログインを求められます。 AxeのURLは変わりません。
ダッシュボードの画面から上げたときは、Axeのプロジェクトを開いてCreate a new deploymentを押し、本番(Production)を選んで、新しい版のフォルダを上げます。
レンタルサーバー
展開したフォルダの中身で、置いてあるファイルを上書きします。前の版にだけあったファイル(名前に英数字の入った.jsなど)は、消さなくても構いません。残しておくと、更新の前から開いていた画面が、そのファイルを読めます。
Amazon S3+CloudFront
ファイルを上書きしたあと、CloudFrontのキャッシュを消します(無効化)。付属のワークフローで配っているときは、ワークフローが消します(→ GitHub Actionsで配るとき)。
4. 確かめる
AxeのURLを開き、読み込み直します。ブラウザのタブに出るページの題は「Udonarium Axe x.y.z」の形で、版の番号が入っています。新しい版の番号になっていれば、置き換わっています。部屋を作って入れることも確かめます(→ config.jsonを書く — 確かめる)。
参加者の画面
更新の前からAxeを開いていた人の画面は、置き換えたあとも前の版のまま動きます。前の版の画面が、置き換えで無くなったファイルを読もうとすると、次の案内が出ます。
出る案内
Udonarium Axe が更新されました
新しい版に切り替えるため、ページを再読み込みしてください。再読み込みするまで、開けない画面があります。
再読み込みを押せば、新しい版になります。遊んでいる途中なら、先に部屋を保存してから読み込み直すよう伝えてください。
サーバー版で、部屋のサーバーが新しい版のAxeしか受け付けなくなったときは、前の版の画面にはチャットに「新しい版のAxeが公開されています。ページを再読み込みしてください」と出ます。
版が混ざった部屋
SkyWay版では、違う版のAxeの人どうしでも、同じ部屋に入れます。ただし、新しい版で増えた機能は、前の版の人の画面では動かないことがあります。どの機能がそうなるかは、各版のリリースノートの「以前の版との互換」にあります。全員が読み込み直して、同じ版にそろえるのが確かです。
サーバー版では、部屋のサーバーが受け付ける版が決まっています。受け付けない版の人は部屋に入れず、読み込み直すよう案内されます。
サーバーを更新するとき
サーバーの更新の手順は、バックエンドの文書の各手順のページの「更新するとき」にあります。サーバーの新しい版で何が変わるかは、バックエンドのリリースノートにあります。