Robloxにゲームの更新版を公開すると、プレイヤーはすぐに古いバージョンのゲームから削除されるわけではありません。代わりに、すべての古いサーバーを再起動することによって、プレイヤーを更新版に移行させることができます。
サーバーを再起動しない場合、古いバージョンを実行しているサーバーが空になってシャットダウンするまで、プレイヤーは新しいバージョンのゲームに移行します。このオプションは中断を伴わず、プレイヤー層は長期間異なるバージョンのゲームをプレイする可能性があります。基盤となるプレイヤーデータフォーマットが変更される場合は、サーバーを再起動することをお勧めします。
時間に敏感なアップデートの場合、早めにデプロイし、コンテンツをconfigの背後に隠し、その後config値を変更して新しいコンテンツを公開することを好むかもしれません。
サーバーを再起動する
リリースアップデートのためにサーバーを再起動するには:
- Creationsに移動し、サーバーを再起動したいゲームを選択します。
- Configure ⟩ Server Managementに移動します。
- 再起動したい場所を選択します。
- Restart Serversをクリックします。
- Confirm Server Restartダイアログで:
- 次の再起動オプションのうち、1つまたは両方を選択します:
- 古いバージョンのサーバーのみ再起動を選択すると、最新の公開場所バージョンを実行しているサーバーを再起動するのを避けることができます。
- サーバー再起動を遅延を選択すると、サーバーのシャットダウンを遅らせ、プレイヤーが一時的に切断されることなく、1分から60分の間にゲームから自分で退出できるようにします。これはサーバーブリードオフとも呼ばれます。
- Restartをクリックします。
サーバーを再起動した後、Robloxは:
- シャットダウンのために指定されたサーバーへのすべてのマッチメイキングを停止します。プレイヤーはPlayボタンをクリックしてゲームに参加する場合、これらのサーバーにはマッチされませんが、招待を受け入れたり、テレポートしたり、プロフィールから他のユーザーに参加したりすることで、これらのサーバーに参加することができます。
- サーバー再起動を遅延オプションを選択した場合は、設定された遅延時間を待ちます。
- プレイヤーを自動的にゲームの更新版にテレポートします。同じ古いサーバーにいる全てのプレイヤーは、新しいバージョンを実行している同じ置き換えサーバーに送られます。
サーバーでの通知
遅延サーバー再起動を開始すると、影響を受けるサーバーで DataModel.ServerRestartScheduled イベントが発火し、次の引数が渡されます:
- restartTime — DateTime。サーバーがシャットダウンされる予定の最も早い時間。
- source — あなたの公開されたアップデートに対しては常に Enum.CloseReason.DeveloperUpdate になります。
- attributes — 再起動に関するカスタム情報(アップデートの理由、緊急性など)を提供するために使用できるオプショナルなJSONオブジェクト。
サーバースクリプト内で、このイベントにサブスクライブして、プレイヤーに今後の再起動に関する情報を提供できます。カウントダウンタイマーをUIに表示したり、プレイヤーに進行状況を保存するように促したり、最も便利なタイミングで更新されたサーバーにテレポートしたりすることを選択するかもしれません。