Configuración del servidor·

Cómo sincronizar la hora del servidor Windows para Sky Mission Hub

Sincroniza el reloj de Windows en tu servidor FiveM, verifica la fuente de tiempo y soluciona las solicitudes de Mission Hub rechazadas porque su marca de tiempo está desactualizada.

Sky Mission Hub utiliza solicitudes firmadas con una ventana de validez corta. Si el reloj de Windows en tu servidor FiveM está muy adelantado o retrasado, la API puede rechazar una solicitud incluso cuando las credenciales de tu servidor sean correctas.

Esta guía te muestra cómo sincronizar el reloj de Windows, comprobar que ha funcionado e intentar usar Mission Hub de nuevo.

Por qué Mission Hub necesita la hora correcta

Cada solicitud saliente de Mission Hub incluye una marca de tiempo firmada de la máquina que ejecuta FXServer. La API comprueba esa marca de tiempo con su propio reloj. Si la diferencia es demasiado grande, la solicitud se rechaza con expired_signature.

En Mission Hub, es posible que veas "Unable to load mission hub." (en la interfaz española: «No se pudo cargar el centro de misiones.»). El error más específico expired_signature puede aparecer en el registro del servidor. Ese mensaje de carga general también puede tener otras causas, por lo que comprobar el reloj es un paso de resolución de problemas en lugar de una solución para todos los problemas de conexión.

Sincroniza el servidor Windows que ejecuta FXServer, utilizando Escritorio Remoto si es necesario. Cambiar el reloj de tu PC de juegos o la hora dentro de GTA no corregirá las marcas de tiempo de las solicitudes del servidor. Tu servidor puede mantener su zona horaria habitual. La marca de tiempo representa un punto absoluto en el tiempo, por lo que no requiere la misma hora local mostrada o zona horaria que los servidores de Sky.

Antes de empezar

Necesitas acceso de administrador al servidor Windows y una fuente de tiempo accesible. Windows incluye el servicio Windows Time y la herramienta w32tm, por lo que no es necesario software adicional.

Si tu servidor pertenece a un dominio de Active Directory, mantén su fuente de tiempo gestionada por el dominio. Utiliza los pasos de servicio inicial, estado y resincronización que se detallan a continuación, pero omite la configuración manual de NTP público. Si la sincronización del dominio falla, pide al administrador del dominio que compruebe la jerarquía de tiempo y las Directivas de Grupo.

Para un VPS o máquina virtual gestionada por un proveedor, sigue los requisitos de fuente de tiempo de tu proveedor de hosting. Si el reloj vuelve a cambiar repetidamente, pídeles que también comprueben la sincronización del host.

Paso a paso: sincronizar la hora del Windows Server

Ejecuta estos comandos en el servidor Windows, no en la consola de FiveM ni en la consola de txAdmin.

Abrir PowerShell como administrador

Abre el menú de Inicio de Windows, busca Windows PowerShell, haz clic derecho sobre él y selecciona Ejecutar como administrador. Acepta el aviso de permiso de Windows si aparece uno.

Habilitar e iniciar el servicio Windows Time

Ejecuta estos comandos uno a la vez:

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

Esto inicia el servicio de tiempo y lo configura para que se inicie automáticamente. Iniciar solo el servicio no demuestra que el reloj se haya sincronizado.

Comprobar la fuente de tiempo actual y el estado

w32tm /query /source
w32tm /query /status

Busca la Source (fuente) seleccionada y la Last Successful Sync Time (hora de la última sincronización correcta). En un servidor independiente, la fuente puede ser un servidor NTP público o del proveedor de hosting. En un miembro del dominio, normalmente será una fuente de tiempo del dominio. Una máquina virtual puede utilizar un proveedor de integración del host.

Local CMOS Clock (reloj CMOS local) o Free-running System Clock (reloj de sistema de libre oscilación) no confirman la sincronización con una fuente externa. La falta de una hora de sincronización exitosa o que sea antigua también es un motivo para investigar.

Solicitar una nueva sincronización

w32tm /resync /rediscover

Espera al resultado y luego consulta el estado de nuevo:

w32tm /query /source
w32tm /query /status

Si la sincronización tiene éxito y el estado muestra la fuente esperada y una hora de sincronización exitosa reciente, continúa con Verificar el resultado a continuación. Puedes mantener tu fuente de tiempo actual si funciona correctamente.

Si un servidor independiente necesita una fuente de tiempo

Usa esta sección solo para un servidor independiente sin una fuente de tiempo gestionada que funcione. Un servidor independiente es aquel que no está unido a un dominio de Active Directory.

Si tu proveedor de hosting especifica un servidor NTP, usa su configuración documentada. De lo contrario, puedes configurar Windows para que use el servidor de tiempo público de Microsoft:

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

El parámetro 0x8 selecciona el modo cliente NTP. Reiniciar W32Time aquí reinicia el servicio de tiempo de Windows; no reinicia FXServer.

Comprueba el resultado:

w32tm /query /source
w32tm /query /status

Microsoft documenta estas opciones de configuración en Herramientas y configuración del servicio de tiempo de Windows.

Verificar el resultado

Antes de volver al juego, confirma que:

  • El comando de resincronización se completó correctamente.
  • Source (fuente) muestra la fuente de tiempo que esperas para este servidor.
  • Last Successful Sync Time (hora de la última sincronización correcta) es reciente.

También puedes comparar el reloj con la fuente NTP que configuraste:

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

Si utilizas un servidor NTP diferente, sustituye time.windows.com por la dirección de dicho servidor. Esto recopila cinco muestras de desfase y luego se detiene. El desfase se muestra en segundos; un reloj sincronizado debería estar cerca de cero en lugar de estar a minutos u horas de diferencia. Windows puede corregir algunas diferencias gradualmente, así que vuelve a comprobarlo si el desfase aún se está estabilizando.

/stripchart compara relojes; no los sincroniza. También utiliza un puerto de origen UDP diferente al del servicio de Tiempo de Windows, por lo que una comparación exitosa por sí sola no demuestra que W32Time pueda sincronizar. Comprueba también el resultado de la resincronización y el estado del servicio.

Intentar de nuevo en el Mission Hub

Vuelve al Mission Hub y haz clic en "Intentar de nuevo", o ciérralo y ábrelo de nuevo. La siguiente solicitud utilizará una marca de tiempo nueva del reloj del servidor corregido.

Normalmente no es necesario reiniciar FiveM ni el recurso solo para que se reconozca la hora del sistema corregida.

Si el Hub sigue fallando, comprueba el último registro del servidor. Un expired_signature persistente significa que el reloj del servidor aún requiere investigación. Otros errores, incluido invalid_signature, requieren su propio diagnóstico; sincronizar el reloj no resuelve todos los problemas de autenticación.

Resolución de problemas

Acceso denegado

Cierra la ventana actual de PowerShell y vuelve a abrirla con Ejecutar como administrador. Se requiere una cuenta con derechos de administrador local para cambiar la configuración del servicio de tiempo.

El servicio no se ha iniciado

Ejecuta de nuevo los comandos del servicio en una ventana de PowerShell con privilegios elevados:

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

El estado del servicio debería ser Running (en ejecución). Luego repite el comando de resincronización. Si una política administrada desactiva el servicio o anula su configuración, pide a tu administrador o proveedor de hosting que compruebe esa política.

No había datos de tiempo disponibles

Esto suele significar que Windows no pudo obtener una respuesta válida de su fuente de tiempo. Comprueba:

  • Que el nombre de host NTP configurado esté escrito correctamente y se resuelva a través de DNS.
  • La fuente de tiempo está disponible y proporciona respuestas NTP.
  • El firewall de Windows, el firewall del proveedor y la red permiten la solicitud NTP y su respuesta a través del puerto UDP 123.

Por ejemplo, en un servidor independiente configurado para usar time.windows.com, compruebe la resolución DNS con:

Resolve-DnsName time.windows.com

Una resolución DNS exitosa solo confirma la resolución de nombres. No demuestra que el tráfico NTP pueda pasar. Pida a su proveedor que compruebe el puerto UDP 123 si la sincronización sigue fallando; no es necesario desactivar el firewall.

Consulte la guía de Microsoft sobre el error "no time data was available" para realizar más comprobaciones.

El reloj vuelve a ser incorrecto

Compruebe que el servicio de Tiempo de Windows siga ejecutándose y pueda alcanzar su fuente. En una máquina virtual, el hipervisor o el proveedor de alojamiento también pueden influir en el reloj del invitado. Pida al proveedor que compruebe la hora del host si sobrescribe repetidamente la hora corregida del invitado.

Mantenga funcionando la sincronización automática en lugar de ajustar manualmente el reloj cada vez que el Hub falle.

Consulte Scenario Creator y Hub para los flujos de trabajo de creación y uso compartido de misiones del Sistema de Incendios.