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にカウントダウンタイマーを表示したり、プレイヤーに進行状況を保存するよう促したり、最も便利なタイミングで更新されたサーバーにテレポートさせたりすることを選ぶことができます。
Robloxがインフラメンテナンスの理由でサーバーを再起動する必要があるときも、サーバーは通知を受け取ります。同じDataModel.ServerRestartScheduledイベントが発火し、sourceはEnum.CloseReason.RobloxMaintenance、attributesは空の辞書になります。