PlayFab MultiplayServer はActive状態だと課金されてしまうので手動で停止(Deactive)させる方法
方法 1 : Playfab REST API の ShutdownMultiplayerServer を使用する
ShutdownMultiplayerServer API の詳細についてはこちら
Postman で動作確認できるので以下動作確認手順です
(1)Postmanをダウンロードしてインストール
(3)「Import From Link」にLinkを追加し「Import」をクリック
https://raw.githubusercontent.com/PlayFab/PostmanCollection/master/playfab.json
(4)ダウンロードが完了すると「Collecttions」に追加される
もしうまくダウンロードされない場合は直接GitHubからダウンロードしてInportする
Variable | Initial Value | Current Value |
---|---|---|
TitleId | 対象の TitleId | 対象の TitleId |
SecretKey | 対象の SecretKey | 対象の SecretKey |
EntityToken | 空の状態 | 空の状態 |
(8)左のツリーから「authentication」配下の GetEntityToken を選択
(9)先ほど設定した環境変数設定に変更し「Send」をクリック
(10)API 設定項目の [Headers] から、X-Authorization のチェックを外し、再度「Send」をクリック
(11)画面下の Response に ステータス コード 200 が返っていることを確認し、[body] のなかの EntityToken の値をメモる
(12)再度右上歯車のマークから環境設定を開き、(7)で空にしていた EntityToken に追記し「Update」をクリック
(13)左ツリー「Multiplayer」配下の「ShutdownMultiplayerServer」を選択
(14) 「Headers」 の中の X-EntityToken を 「{EntityToken}」 として、環境変数に定義された値が利用されるようになっていることを確認
(15)「Body」 の BuildId、Region、SessionId の値を、シャットダウンしたいサーバーの情報に設定し、「Send」 をクリック
(16)Response でステータス コード 200 が返り、ポータル上で対象のサーバーが StandingBy 状態に遷移していることを確認
公式のPostman解説URLはこちら
方法 2 : マッチが終了してユーザーが 0 になったタイミングなどで、サーバー側で Application.Quit() をコールするなどして終了する
サーバー側でユーザー数が 0 になったタイミングで終了させる方法です。
フォーラムで投稿されています。
→Application.Quit()が呼ばれたときに、数秒以内にサーバインスタンスが停止してActiveからStandByに切り替わるはず