確定結果はサーバーが管理します
3D映像は観戦を楽しくする表示層です。着順、BET受付、メダル減算、払戻はブラウザから送られた値をそのまま信用せず、サーバーのレース状態と保存データを基準に処理します。
レース開始から精算まで
1. BET受付
サーバーは認証状態、レースID、受付時間、券種、馬番、BET枚数、残高、上限を確認します。締切後のBETや存在しない馬番は受け付けません。
2. レース確定
発走時にそのレースの出走馬と確定結果をサーバーへ原子的に保存します。一般クライアントには、レース終了まで勝者や未来の軌跡を返しません。
3. ライブ同期
観戦中は現在時刻までに見えている位置だけを配信し、端末側で滑らかに補間します。回線差で映像に遅れが出ても、確定着順は変わりません。
4. 精算
全馬のゴール処理後、保存済みBETと購入時オッズからサーバーが払戻を計算します。同じレースを再度精算しても二重付与しない状態管理を行います。
ブラウザへ送らない情報
BET開始前・レース中の一般APIレスポンスには、勝者、未来の着順、全キーフレーム、内部シード、内部確率を含めません。画面に表示するのは出走表、公開オッズ、レース状態、現在までの位置、結果確定後の着順です。
開発者ツールで表示コードを変更しても、サーバーの残高、BET、着順、払戻を変更することはできません。クライアントから送られた払戻額や残高を採用するAPIは使用しません。
結果とオッズの考え方
公開オッズは各馬・券種を比較するゲーム上の目安です。必ずその倍率や確率どおりの短期結果になるものではありません。レース全体には運営設定のゲームバランスが適用される場合がありますが、特定ユーザーが選んだ馬券を見て個別に結果を変更することはありません。
JP、FEVER、UMAイベントなどの追加払戻も精算ログへ記録します。イベントの発生内容は、参加条件を満たせる告知タイミングと先読み防止の両方を考慮して公開します。
通信切断とバックグラウンド
- 購入完了済みのBETはブラウザを閉じても有効です。
- レース進行と精算はVPS上のサーバープロセスが継続します。
- バックグラウンドでは端末の発熱と通信量を抑えるため3D描画・音声を停止します。
- 復帰時はサーバーの現在状態を再取得します。表示が追いつく前に確定結果を推測して精算しません。
- 購入直後の通信断では、購入履歴に登録済みかを確認してから再操作してください。
障害調査に使う記録
レースID、BET ID、会員またはゲストの管理ID、券種、選択馬、BET枚数、購入時オッズ、着順、通常払戻、イベント・JP追加分、残高変化、処理時刻を記録します。問い合わせ時はレース番号と時刻があると、該当ログを絞り込めます。
不具合や不正利用の疑いを発見した場合はお問い合わせからお知らせください。セキュリティ上、内部ファイルパス、SQL、秘密鍵、他ユーザーの情報は公開しません。