Quando você publica uma versão atualizada de um jogo no Roblox, os jogadores não são imediatamente removidos das versões antigas do jogo. Em vez disso, você pode migrar os jogadores para a versão atualizada reiniciando todos os seus servidores desatualizados.
Se você não reiniciar os servidores, os jogadores irão transitar para a nova versão do jogo à medida que os servidores que executam versões antigas eventualmente esvaziam e são desligados. Esta opção não é disruptiva, mas sua base de jogadores pode estar jogando diferentes versões do jogo por um período prolongado; se o formato dos dados dos jogadores subjacente mudar, você provavelmente deve reiniciar os servidores.
Para atualizações sensíveis ao tempo, você pode preferir implantar antecipadamente, ocultar conteúdo por trás de uma configuração e, em seguida, alterar o valor da configuração para liberar seu novo conteúdo.
Reiniciar servidores
Para reiniciar servidores para atualizações de lançamento:
- Vá para Criações e selecione o jogo para o qual você deseja reiniciar os servidores.
- Vá para Configurar ⟩ Gerenciamento de Servidores.
- Selecione os locais que você deseja reiniciar.
- Clique em Reiniciar Servidores.
- Na caixa de diálogo Confirmar Reinício do Servidor:
- Selecione uma ou ambas as seguintes opções de reinício:
- Reiniciar apenas servidores com versões desatualizadas para evitar reiniciar servidores que estão executando a versão mais recente publicada do local.
- Atrasar reinício do servidor para atrasar o desligamento dos servidores e permitir que os jogadores tenham um tempo definido entre 1 e 60 minutos para sair do jogo por conta própria, em vez de serem desconectados temporariamente. Isso também é conhecido como "bleed-off" do servidor.
- Clique em Reiniciar.
Depois que você reiniciar os servidores, o Roblox:
- Para toda a correspondência com servidores designados para desligamento. Jogadores que entram em seu jogo clicando no botão Jogar não serão emparelhados com esses servidores, mas ainda podem ingressar neles aceitando convites, teleportando-se ou se juntando a outro usuário de seu perfil.
- Aguarda o tempo de atraso configurado, se você selecionar a opção Atrasar reinício do servidor.
- Teleporta automaticamente os jogadores para a versão atualizada do jogo. Todos os jogadores no mesmo servidor antigo são enviados para o mesmo servidor substituto executando a nova versão.
Notificações nos servidores
Quando você lançar um reinício de servidor atrasado, o evento DataModel.ServerRestartScheduled será disparado nos servidores afetados com os seguintes argumentos:
- restartTime — Um DateTime. O horário mais cedo em que o servidor está agendado para desligar.
- source — Isso sempre será Enum.CloseReason.DeveloperUpdate para suas atualizações publicadas.
- attributes — Um objeto JSON opcional que você pode usar para fornecer informações personalizadas sobre o reinício, como o motivo da atualização, urgência, etc.
Nos seus scripts de servidor, você pode assinar este evento para fornecer informações aos jogadores sobre o reinício iminente. Você pode optar por apresentar um temporizador de contagem regressiva em sua interface de usuário, solicitar que os jogadores salvem seu progresso ou teleportá-los para servidores atualizados no momento mais conveniente.
Os servidores também serão notificados quando o Roblox precisar reiniciar servidores por motivos de manutenção de infraestrutura. O mesmo evento DataModel.ServerRestartScheduled é disparado, com source como Enum.CloseReason.RobloxMaintenance e attributes como um dicionário vazio.