10月4日に開催したGPシーダモでは、複数の不具合によって大会の進行に大きな混乱が生じました。参加者・リザーバーの皆さんには、多くの待機や確認、移動、再入力をお願いすることになりました。改めてお詫びします。
10月5日に公開した「GPシーダモにおける不具合調査報告」では、大会中に起きたことと、その時点で確認できた原因をお伝えしました。
その後、調査結果をもとに、大会の選考、着席、卓生成、通知、主催者による操作など、必要な修正と動作確認を進めました。これらの対応が完了し、本番環境への反映も終えましたので、対応内容をご報告します。
あわせて、動画やブログなど、大会以外の機能で行った修正についてもお知らせします。
GPシーダモ・大会関連
選考結果とリザーバーへの案内
大会への応募後、自分がどのような状態になっているのかを分かりやすく伝えられるよう、次の修正を行いました。
- 選考結果を本人へ通知し、処理を再実行しても通知が重複しないようにしました。
- リザーバーの選外理由、未着席、端数、優先順などを、本人へ説明する処理を追加しました。
- 選外になったリザーバーも、必要な範囲で大会チャットを利用できるようにしました。
- システムが生成したリザーバー卓のURLを、そのまま正常に開けるよう修正しました。
- 優先卓の定員を超えた候補が、残りの組合せから消えてしまう不具合を修正しました。
対戦予定の重なりと着席
別の対戦から大会へ移る際の扱いを見直しました。
- 対戦予定が重なる場合に警告を表示し、参加者が事前に状況を把握できるようにしました。
- 別のイベントへ移る操作に失敗した場合は、元の参加状態を失わないようにしました。
- 結果を提出したあとは、正式確定を待っている間でも、条件を満たしていれば次の着席へ進めるようにしました。
- 同じ人が複数の卓へ重複して参加しないよう、参加・退出・着席・開始の処理を整理しました。
- 参加、退出、着席、開始が同時に行われた場合も、途中の不完全な状態が保存されないようにしました。
卓の生成と大会データの軽量化
卓生成の遅れや、大会ページが高負荷になった問題に対応しました。
- 卓生成時に繰り返していた状態確認や着席処理を整理し、不要な反復処理を削減しました。
- 大きな順位資料を大会の進行状態へ重複して保存しない構造へ変更しました。
- 本人向けの画面では、全参加者の順位や履歴を毎回展開せず、本人に必要な情報を先に取得するようにしました。
- データベース処理の失敗、通信切断、応答喪失、同時更新の競合が発生した場合に、安全に再試行できるようにしました。
- 同じ操作を再送しても、参加状態、通知、チャット、結果などが重複して保存されないようにしました。
主催者・運営担当者による対応
大会中に問題が発生したとき、主催者が状況を確認し、必要な対応を行えるようにしました。
- 主催者、運営担当者、管理者が、それぞれの権限に応じて「運営」画面を利用できるようにしました。
- 主催者が、着席期限の延長、大会進行の停止と再開、人数不足時の補充などを行えるようにしました。
- 一度停止した進行が、停止中に勝手に開始されず、再開後に正規の処理で進むようにしました。
- 人数不足で保留した場合も、参加者やブック、着席状態などを保持したまま、追加参加者を受け付けられるようにしました。
- 主催者向けに、受付不足、開始不能、結果確定待ち、次戦、チャット、サイト障害など、状況別の運営ガイドを用意しました。
- 管理者向けに、大会を安全に停止し、保存状態を確認してから復旧するための手順を整備しました。
結果登録と大会内の案内
結果が保存されていても、大会チャットへ案内されなかった問題を修正しました。
- 結果登録と大会チャットへの案内を接続しました。
- 同じ結果を再送しても、結果や通知が重複しないようにしました。
- 結果の提出と正式確定を区別し、現在どの段階にあるか確認できるようにしました。
- 正式結果が揃う前に、次の組合せや進出者を決めないようにしました。
- 結果の訂正があった場合も、保存された正式な結果をもとに次の進行を確認するようにしました。
銅賞戦と決勝
銅賞戦への参加希望と、決勝の開始処理を見直しました。
- 銅賞戦への希望を「未回答」「希望しない」「希望する」に分けて扱うようにしました。
- 銅賞戦への希望を、着席操作とは別に選択・変更できるようにしました。
- 希望者が必要人数に達しなかった場合は、不成立の理由を本人への通知と大会内の案内で伝えるようにしました。
- 予定時刻、卓の生成、ブックやルームの準備、実際の開始処理を接続しました。
- 主催者が進行を停止している間は開始せず、再開後に必要な準備を確認してから進むようにしました。
対戦人数、同盟、配点の変更
大会中のトラブルに対して、主催者が状況に応じた判断を行えるよう、卓の設定変更を共通化しました。
- 4人揃っていない状態を、誤って「全員着席」と判定する問題を修正しました。
- 必要人数が揃う前に、募集や開始状態が誤って進む経路を修正しました。
- 卓の人数を2人、3人、4人へ変更する共通操作を追加しました。
- 大会の規定人数と異なる人数へ変更する場合は、警告を表示し、主催者の明示的な判断を記録するようにしました。
- 人数変更に伴うポイントや星の配点を設定できるようにしました。
- 固定同盟、ランダム同盟、個人戦など、それぞれの対戦形式に応じて参加者、チーム、結果を扱うようにしました。
- 参加者のキック、募集の再開、席、ブック、正式な割当を、一連の操作として安全に保存するようにしました。
再戦とブック登録
再戦時のブックの扱いと、公開中のルール説明を整理しました。
- 再戦では、ゲーム内ですでに作成済みの別のブックへ変更できるようにしました。
- ブック登録が必須の対戦では、再戦用のブックを登録し直すようにしました。
- ブック登録が自由な対戦では、再戦時に不要な登録を求めないようにしました。
- ブックを変更したかどうかや、その内容を対戦相手へ通知しないようにしました。
- 公開済みの大会ルールに残っていた、再戦ブックについての誤った説明を訂正しました。
- 古い大会の「大会ルールを確認」リンクが、存在しないページへ移動する問題を修正しました。
SPと大会結果
GPの補助試合とシーズンポイントの接続も見直しました。
- リザーバーマッチや銅賞戦だけに出場した参加者のSPが欠落する問題を修正しました。
- 補助試合の結果を、GP本戦の総合順位へ誤って含めないようにしました。
- 補助試合への参加や勝利に対するSPは、既存のルールに従って集計するようにしました。
- 同じ集計処理が再び動いても、SPが重複して加算されないようにしました。
大会中の表示とチャット
大会中に必要な情報を取得しやすくしながら、サーバーへの負荷も抑えるよう調整しました。
- 本人に必要な割当先、着席状態、次の操作を優先して表示するようにしました。
- 卓内チャットは、会話が続いている間は短い間隔で更新するようにしました。
- 会話がしばらくない卓では更新間隔を広げ、新しい発言を受け取ったあとは再び短い間隔へ戻すようにしました。
- チャットの送信結果を本人が確認でき、再送しても同じ投稿が重複しないようにしました。
その他の修正
ホームとアリーナの募集案内
大会で追加の参加者を募集していることを見つけやすくしました。
- ホームとアリーナに、「リザーバー募集中」「追加参加者募集中」の案内を表示するようにしました。
- 募集期限、大会名、必要な追加人数を表示し、正規の応募ページへ移動できるようにしました。
- 募集状況を定期的に更新し、取得に失敗した場合は「募集なし」と誤って表示せず、前回の情報と再取得の案内を残すようにしました。
動画と配信表示
動画として利用できないURLや、重複した動画が公開画面へ表示される問題を修正しました。
- カルドセプト部の対戦卓URLが、動画として公開される問題を修正しました。
- 動画を登録できることと、公開一覧へ掲載できることを分け、再生可能性を確認できない動画は確認前に公開しないようにしました。
- 管理者による保留や、本人が非公開にした状態を、通常の同期処理で解除しないようにしました。
- 一時的な取得エラーによって、確認済みの過去動画を削除扱いにしないようにしました。
- ホームに同じ配信チャンネルの動画が複数表示される問題を修正しました。
- 公開動画一覧で使用するデータ量を減らし、表示を安定させました。
- 誤って掲載されていた動画を非公開にし、元の登録情報、対戦結果、関連付けの記録は保持しました。
ブログの文章装飾
色、文字サイズ、背景色などを組み合わせたとき、一部の本文が表示されなくなる問題を修正しました。
- 文字色と文字サイズ、背景色と文字色など、装飾を重ねても本文が消えないようにしました。
- 二重・三重の装飾に加えて、太字、リンク、自動リンクなどとの組み合わせも確認しました。
- 既存の記事本文や保存形式は変更せず、表示処理の修正によって公開記事の欠落を解消しました。
システムと運用環境
今後の更新と安定運用に備えて、内部の実行環境や確認手順も整備しました。
- サイトを動かす主要な実行環境を更新しました。
- データベースへ一時的に接続できない場合も、定期処理が異常終了せず、次の機会に再試行できるようにしました。
- 本番更新時のバックアップ、稼働中のプログラム、復旧点を確認する手順を整備しました。
- 開発や更新作業を始める前に、必要な保存容量と作業場所を確認する仕組みを追加しました。
今後の予定
今回の対応では、GPシーダモで確認された問題を中心に、大会の選考から着席、卓生成、対戦、結果登録、次戦、最終結果までの流れを見直しました。また、主催者がトラブルに対応するための操作や案内も整備しました。
今後は、より多くの参加者が同時に利用する場合の動作や、大会中にアクセスが集中した場合の表示について、引き続き確認と改善を進めます。主催者と参加者が実際に利用する画面についても、今後の大会運営を通して確認を重ねていきます。
動画については、公開後も継続して再生状態を確認する仕組みを整えていきます。大会機能についても、今回対象としなかった形式や設定を含め、順次確認範囲を広げます。
今回整備した緊急時の手順についても、実際の運用に合わせて見直し、問題が起きたときに保存された結果や参加状態を守りながら対応できるようにしていきます。
これからも、安心して対戦や大会を楽しんでいただけるよう、改善を続けていきます。