Configuração do Servidor·

Como Sincronizar o Horário do Servidor Windows para o Sky Mission Hub

Sincronize o relógio do Windows no seu servidor FiveM, verifique a fonte de tempo e corrija as solicitações do Mission Hub rejeitadas porque o timestamp está desatualizado.

O Sky Mission Hub utiliza solicitações assinadas com uma janela de validade curta. Se o relógio do Windows no seu servidor FiveM estiver muito adiantado ou atrasado, a API pode rejeitar uma solicitação mesmo quando as credenciais do seu servidor estiverem corretas.

Este guia mostra como sincronizar o relógio do Windows, verificar se funcionou e tentar o Mission Hub novamente.

Por que o Mission Hub precisa do horário correto

Cada solicitação de saída do Mission Hub inclui um timestamp assinado da máquina que está executando o FXServer. A API verifica esse timestamp em relação ao seu próprio relógio. Se a diferença for muito grande, a solicitação é rejeitada com expired_signature.

No Mission Hub, você pode ver "Unable to load mission hub." (na interface em português: "Não foi possível carregar o centro de missões.") O erro expired_signature mais específico pode aparecer no log do servidor. Essa mensagem de carregamento genérica também pode ter outras causas, portanto, verificar o relógio é um passo de solução de problemas e não uma correção para todos os problemas de conexão.

Sincronize o servidor Windows que executa o FXServer, usando a Área de Trabalho Remota, se necessário. Alterar o relógio do seu PC gamer ou o tempo dentro do jogo GTA não corrigirá os timestamps das solicitações do servidor. Seu servidor pode manter seu fuso horário habitual. O timestamp representa um ponto absoluto no tempo, portanto, não requer o mesmo horário local exibido ou fuso horário que os servidores da Sky.

Antes de começar

Você precisa de acesso de administrador ao servidor Windows e uma fonte de tempo acessível. O Windows inclui o serviço Horário do Windows e a ferramenta w32tm, portanto nenhum software adicional é necessário.

Se o seu servidor pertence a um domínio Active Directory, mantenha sua fonte de tempo gerenciada pelo domínio. Use os passos de serviço inicial, status e resincronização abaixo, mas pule a configuração manual de NTP público. Se a sincronização do domínio falhar, peça ao administrador do domínio para verificar a hierarquia de tempo e a Política de Grupo.

Para um VPS ou máquina virtual gerenciada por um provedor, siga os requisitos de fonte de tempo do seu provedor de hospedagem. Se o relógio mudar repetidamente de volta, peça a eles para verificar a sincronização do host também.

Passo a passo: sincronizar o horário do Windows Server

Execute estes comandos no servidor Windows, não no console FiveM ou no console txAdmin.

Abra o PowerShell como administrador

Abra o menu Iniciar do Windows, pesquise por Windows PowerShell, clique com o botão direito e selecione Executar como administrador. Aceite o aviso de permissão do Windows se ele aparecer.

Habilite e inicie o serviço Horário do Windows

Execute estes comandos um por um:

Set-Service -Name W32Time -StartupType Automatic
Start-Service -Name W32Time

Isso inicia o serviço de tempo e o configura para iniciar automaticamente. Iniciar apenas o serviço não prova que o relógio foi sincronizado.

Verifique a fonte de tempo atual e o status

w32tm /query /source
w32tm /query /status

Procure pela Source (Fonte) selecionada e pelo Last Successful Sync Time (horário da última sincronização bem-sucedida). Em um servidor independente, a fonte pode ser um servidor NTP público ou do provedor de hospedagem. Em um membro de domínio, normalmente será uma fonte de tempo do domínio. Uma máquina virtual pode usar um provedor de integração do host.

Local CMOS Clock ou Free-running System Clock não confirma a sincronização com uma fonte externa. Um tempo de sincronização bem-sucedida ausente ou antigo também é um motivo para investigar.

Solicitar uma nova sincronização

w32tm /resync /rediscover

Aguarde o resultado e, em seguida, consulte o status novamente:

w32tm /query /source
w32tm /query /status

Se a sincronização for bem-sucedida e o status mostrar a fonte esperada e um tempo de sincronização bem-sucedida recente, continue para Verificar o resultado abaixo. Você pode manter sua fonte de tempo atual, se ela estiver funcionando.

Se um servidor independente precisar de uma fonte de tempo

Use esta seção apenas para um servidor independente sem uma fonte de tempo gerenciada funcional. Um servidor independente é aquele que não está conectado a um domínio Active Directory.

Se o seu provedor de hospedagem especificar um servidor NTP, use as configurações documentadas por eles. Caso contrário, você pode configurar o Windows para usar o servidor de tempo público da Microsoft:

w32tm /config /manualpeerlist:"time.windows.com,0x8" /syncfromflags:manual /update
Restart-Service -Name W32Time
w32tm /resync /rediscover

A flag 0x8 seleciona o modo cliente NTP. Reiniciar o W32Time aqui reinicia o serviço de tempo do Windows; não reinicia o FXServer.

Verifique o resultado:

w32tm /query /source
w32tm /query /status

A Microsoft documenta essas opções de configuração em Ferramentas e configurações do serviço de Tempo do Windows.

Verificar o resultado

Antes de voltar ao jogo, confirme que:

  • O comando de resincronização foi concluído com sucesso.
  • Source (Fonte) mostra a fonte de tempo que você espera para este servidor.
  • Last Successful Sync Time (horário da última sincronização bem-sucedida) é recente.

Você também pode comparar o relógio com a fonte NTP que você configurou:

w32tm /stripchart /computer:time.windows.com /samples:5 /dataonly

Se você usar um servidor NTP diferente, substitua time.windows.com pelo endereço desse servidor. Isso coleta cinco amostras de deslocamento e então para. O deslocamento é mostrado em segundos; um relógio sincronizado deve estar próximo de zero em vez de minutos ou horas de diferença. O Windows pode corrigir algumas diferenças gradualmente, então verifique novamente se o deslocamento ainda está se estabilizando.

/stripchart compara relógios; ele não os sincroniza. Ele também usa uma porta de origem UDP diferente do serviço Windows Time, portanto, uma comparação bem-sucedida por si só não prova que o W32Time pode sincronizar. Verifique também o resultado da resincronização e o status do serviço.

Tente o Mission Hub novamente

Retorne ao Mission Hub e clique em "Tentar novamente", ou feche-o e abra-o novamente. A próxima requisição usará um novo timestamp do relógio do servidor corrigido.

Normalmente, não é necessário reiniciar o FiveM ou o recurso apenas para que a correção do horário do sistema seja reconhecida.

Se o Hub ainda falhar, verifique o log mais recente do servidor. Um expired_signature persistente significa que o relógio do servidor ainda precisa de investigação. Outros erros, incluindo invalid_signature, requerem seu próprio diagnóstico; sincronizar o relógio não resolve todos os problemas de autenticação.

Solução de problemas

Acesso negado

Feche a janela atual do PowerShell e reabra-a com Executar como administrador. Uma conta com direitos de administrador local é necessária para alterar as configurações do serviço de tempo.

O serviço não foi iniciado

Execute os comandos de serviço novamente em uma janela do PowerShell elevada:

Set-Service -Name W32Time -StartupType Automatic
Start-Service -Name W32Time
Get-Service -Name W32Time

O status do serviço deve ser Running (em execução). Então repita o comando de resincronização. Se uma política gerenciada desabilitar o serviço ou sobrepor suas configurações, peça ao seu administrador ou provedor de hospedagem para verificar essa política.

Nenhum dado de tempo estava disponível

Isso geralmente significa que o Windows não conseguiu obter uma resposta válida de sua fonte de tempo. Verifique:

  • O hostname NTP configurado está escrito corretamente e é resolvido via DNS.
  • A fonte de tempo está disponível e fornece respostas NTP.
  • O Windows Firewall, o firewall do provedor e a rede permitem a requisição NTP e sua resposta através da porta UDP 123.

Por exemplo, em um servidor independente configurado para usar time.windows.com, verifique a resolução de DNS com:

Resolve-DnsName time.windows.com

Uma busca de DNS bem-sucedida apenas confirma a resolução de nomes. Isso não prova que o tráfego NTP pode passar. Peça ao seu provedor para verificar a UDP 123 se a sincronização ainda falhar; desativar o firewall não é necessário.

Consulte o guia da Microsoft sobre o erro "no time data was available" para verificações adicionais.

O relógio fica incorreto novamente

Verifique se o serviço Windows Time permanece em execução e se consegue alcançar sua fonte. Em uma máquina virtual, o hypervisor ou o provedor de hospedagem também podem influenciar o relógio do guest. Peça ao provedor para verificar a hora do host se ela sobrescrever repetidamente a hora corrigida do guest.

Mantenha a sincronização automática funcionando em vez de ajustar o relógio manualmente sempre que o Hub falhar.

Consulte Scenario Creator e Hub para os fluxos de trabalho de criação e compartilhamento de missões do Sistema de Incêndio.