當您將遊戲的更新版本發佈到 Roblox 時,玩家不會立即被移除出舊版本的遊戲。相反,您可以通過重啟所有過時的伺服器來將玩家遷移到更新版本。
如果您不重啟伺服器,玩家將在運行舊版本的伺服器最終清空和關閉後,自動轉移到遊戲的新版本。這種選擇是不會干擾的,但您的玩家群體可能會長時間玩不同版本的遊戲;如果您的底層玩家數據格式發生變化,您可能應該重啟伺服器。
對於時間敏感的更新,您可能會選擇提前部署,將內容隱藏在 配置 後,然後更改配置值以發布您的新內容。
重啟伺服器
要重啟伺服器以發布更新:
- 前往 Creations 並選擇您想要重啟伺服器的遊戲。
- 前往 配置 ⟩ 伺服器管理。
- 選擇您想要重啟的地點。
- 點擊 重啟伺服器。
- 在 確認伺服器重啟 對話框中:
- 選擇以下一個或兩個重啟選項:
- 僅重啟舊版本的伺服器 以避免重啟正在運行最新發佈地點版本的伺服器。
- 延遲伺服器重啟 以延遲伺服器的關閉並允許玩家在 1 到 60 分鐘的設定時間內自行離開遊戲,而不是被暫時斷線。這也稱為伺服器出血。
- 點擊 重啟。
在您重啟伺服器後,Roblox:
- 停止為指定關閉的伺服器進行所有匹配。玩家通過點擊 播放 按鈕加入您的遊戲時,將不會與這些伺服器匹配,但他們仍然可以通過接受邀請、傳送或從他的個人資料中加入另一位用戶來加入這些伺服器。
- 等待您選擇的 延遲伺服器重啟 選項所配置的延遲時間。
- 自動將玩家傳送到遊戲的更新版本。所有在同一舊伺服器上的玩家都會被送到運行新版本的同一替代伺服器。
伺服器上的通知
當您啟動延遲伺服器重啟時,DataModel.ServerRestartScheduled 事件將在受影響的伺服器上觸發,並帶有以下參數:
- restartTime — 一個 DateTime。伺服器計劃關閉的最早時間。
- source — 對於您發佈的更新,這將始終是 Enum.CloseReason.DeveloperUpdate。
- attributes — 一個可選的 JSON 對象,您可以用來提供有關重啟的自定義信息,例如更新原因、緊急程度等。
在您的伺服器腳本中,您可以訂閱此事件以為玩家提供即將到來的重啟信息。您可能會選擇在您的 UI 中提供倒計時器,提示玩家保存進度,或在最方便的時候將他們傳送到更新的伺服器。