Quando você publica uma versão atualizada de um jogo no Roblox, os jogadores não são removidos imediatamente 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 fazem a transição para a nova versão do jogo conforme os servidores que executam versões antigas eventualmente esvaziam e desligam. Esta opção não é disruptiva, mas sua base de jogadores pode estar jogando versões diferentes do jogo por um período prolongado de tempo; se o formato de dados de jogador subjacente mudar, você provavelmente deve reiniciar os servidores.
Para atualizações sensíveis ao tempo, você pode preferir implantar antecipadamente, esconder o conteúdo atrás de uma configuração e, em seguida, mudar 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 deseja reiniciar os servidores.
- Vá para Configurar ⟩ Gerenciamento de Servidores.
- Selecione os locais que deseja reiniciar.
- Clique em Reiniciar Servidores.
- Na caixa de diálogo Confirmar Reinício do Servidor:
- Selecione uma ou ambas das 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 do local publicado.
- 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 desvio de servidor.
- Clique em Reiniciar.
Após reiniciar os servidores, o Roblox:
- Para todo o matchmaking para servidores designados para desligamento. Jogadores que entram no seu jogo clicando no botão Jogar não serão combinados com esses servidores, mas ainda podem ingressar neles aceitando convites, teleportando ou se juntando a outro usuário de seu perfil.
- Espera pelo tempo de atraso configurado, se você selecionou 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 que está executando a nova versão.
Notificações nos servidores
Quando você inicia um reinício de servidor atrasado, o evento DataModel.ServerRestartScheduled será acionado nos servidores afetados com os seguintes argumentos:
- restartTime — Um DateTime. O horário mais cedo em que o servidor está programado 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.
Em seus scripts de servidor, você pode se inscrever nesse evento para fornecer aos jogadores informações sobre o reinício próximo. Você pode optar por fornecer um cronômetro de contagem regressiva em sua interface do usuário, solicitar que os jogadores salvem seu progresso ou teleportá-los para servidores atualizados no momento mais conveniente.