Configurazione del Server·

Come sincronizzare l'ora del server Windows per Sky Mission Hub

Sincronizza l'orologio di Windows sul tuo server FiveM, verifica la sorgente temporale e risolvi le richieste di Mission Hub rifiutate perché il timestamp è scaduto.

Sky Mission Hub utilizza richieste firmate con una breve finestra di validità. Se l'orologio di Windows sul tuo server FiveM è troppo avanti o troppo indietro, l'API può rifiutare una richiesta anche se le credenziali del server sono corrette.

Questa guida ti mostra come sincronizzare l'orologio di Windows, verificare che l'operazione sia riuscita e riprovare con Mission Hub.

Perché Mission Hub ha bisogno dell'ora corretta

Ogni richiesta in uscita di Mission Hub include un timestamp firmato dalla macchina che esegue FXServer. L'API confronta quel timestamp con il proprio orologio. Se la differenza è troppo grande, la richiesta viene rifiutata con expired_signature.

In Mission Hub, potresti vedere "Unable to load mission hub." (nell’interfaccia italiana: «Impossibile caricare l'hub della missione.»). L'errore più specifico expired_signature potrebbe apparire nei log del server. Quel messaggio di caricamento generico può avere anche altre cause, quindi controllare l'orologio è un passaggio di risoluzione dei problemi piuttosto che una soluzione per ogni problema di connessione.

Sincronizza il server Windows che esegue FXServer, utilizzando il Desktop Remoto se necessario. Cambiare l'orologio del tuo PC da gaming o l'ora di gioco di GTA non correggerà i timestamp delle richieste del server. Il tuo server può mantenere il suo fuso orario abituale. Il timestamp rappresenta un punto temporale assoluto, quindi non richiede lo stesso orario locale visualizzato o lo stesso fuso orario dei server di Sky.

Prima di iniziare

È necessario l'accesso di amministratore al server Windows e una sorgente temporale raggiungibile. Windows include il servizio Windows Time e lo strumento w32tm, quindi non è necessario software aggiuntivo.

Se il tuo server appartiene a un dominio Active Directory, mantieni la sua sorgente temporale gestita dal dominio. Segui i passaggi relativi al servizio iniziale, allo stato e alla risincronizzazione indicati di seguito, ma salta la configurazione manuale del pubblico NTP. Se la sincronizzazione del dominio fallisce, chiedi all'amministratore del dominio di controllare la gerarchia temporale e le Group Policy.

Per un VPS o una macchina virtuale gestita da un provider, segui i requisiti della sorgente temporale del tuo provider di hosting. Se l'orologio torna ripetutamente indietro, chiedi loro di controllare anche la sincronizzazione dell'host.

Passo dopo passo: sincronizzare l'ora del Windows Server

Esegui questi comandi sul server Windows, non nella console FiveM né nella console txAdmin.

Apri PowerShell come amministratore

Apri il menu Start di Windows, cerca Windows PowerShell, clicca con il tasto destro e seleziona Esegui come amministratore. Accetta il prompt dei permessi di Windows se appare.

Abilita e avvia il servizio Windows Time

Esegui questi comandi uno alla volta:

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

Questo avvia il servizio temporale e lo configura per l'avvio automatico. L'avvio del solo servizio non prova che l'orologio si sia sincronizzato.

Controlla la sorgente temporale e lo stato corrente

w32tm /query /source
w32tm /query /status

Controlla i campi Source (sorgente selezionata) e Last Successful Sync Time (data e ora dell’ultima sincronizzazione riuscita). Su un server standalone, la sorgente può essere un server NTP pubblico o del provider di hosting. Su un membro del dominio, sarà normalmente una sorgente temporale del dominio. Una macchina virtuale potrebbe utilizzare un host integration provider.

Local CMOS Clock (orologio CMOS locale) o Free-running System Clock (orologio di sistema autonomo) non confermano la sincronizzazione con una fonte esterna. Anche l'assenza o l'obsolescenza dell'ultimo timestamp di sincronizzazione riuscita è un motivo per indagare.

Richiedi una nuova sincronizzazione

w32tm /resync /rediscover

Attendi il risultato, quindi interroga nuovamente lo stato:

w32tm /query /source
w32tm /query /status

Se la sincronizzazione ha successo e lo stato mostra la fonte prevista e un timestamp di sincronizzazione riuscita recente, procedi con Verifica il risultato qui sotto. Puoi mantenere la tua attuale fonte temporale funzionante.

Se un server standalone necessita di una fonte temporale

Usa questa sezione solo per un server standalone senza una fonte temporale gestita funzionante. Un server standalone è un server che non è unito a un dominio Active Directory.

Se il tuo provider di hosting specifica un server NTP, utilizza le impostazioni documentate. In caso contrario, puoi configurare Windows per utilizzare il server temporale pubblico di Microsoft:

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

Il flag 0x8 seleziona la modalità client NTP. Riavviare W32Time qui riavvia il servizio orario di Windows; non riavvia FXServer.

Controlla il risultato:

w32tm /query /source
w32tm /query /status

Microsoft documenta queste opzioni di configurazione in Strumenti e impostazioni del servizio orario di Windows.

Verifica il risultato

Prima di tornare nel gioco, conferma che:

  • Il comando di risincronizzazione sia stato completato con successo.
  • Source (sorgente) mostri la fonte temporale prevista per questo server.
  • Last Successful Sync Time (data e ora dell’ultima sincronizzazione riuscita) sia recente.

Puoi anche confrontare l'orologio con la fonte NTP che hai configurato:

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

Se utilizzi un server NTP differente, sostituisci time.windows.com con l'indirizzo di quel server. Questo raccoglie cinque campioni di offset e poi si ferma. L'offset è mostrato in secondi; un orologio sincronizzato dovrebbe essere vicino allo zero piuttosto che distare minuti o ore. Windows può correggere alcune differenze gradualmente, quindi ricontrolla se l'offset si sta ancora assestando.

/stripchart confronta gli orologi; non li sincronizza. Utilizza inoltre una porta sorgente UDP diversa dal servizio Tempo di Windows, quindi un confronto riuscito da solo non prova che W32Time possa sincronizzare. Controlla anche il risultato della risincronizzazione e lo stato del servizio.

Riprova con il Mission Hub

Torna al Mission Hub e clicca su "Riprova", oppure chiudilo e riaprilo. La richiesta successiva utilizzerà un nuovo timestamp dal clock del server corretto.

Un riavvio di FiveM o delle risorse non è normalmente necessario solo per acquisire un orario di sistema corretto.

Se il Hub continua a fallire, controlla l'ultimo log del server. Un errore persistente di expired_signature significa che l'orologio del server richiede ancora un'indagine. Altri errori, incluso invalid_signature, richiedono una diagnosi specifica; la sincronizzazione dell'orologio non risolve ogni problema di autenticazione.

Risoluzione dei problemi

Accesso negato

Chiudi la finestra PowerShell corrente e riaprila con Esegui come amministratore. È necessario un account con diritti di amministratore locale per modificare le impostazioni del servizio orario.

Il servizio non è stato avviato

Esegui nuovamente i comandi del servizio in una finestra PowerShell con privilegi elevati:

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

Lo stato del servizio dovrebbe essere Running (in esecuzione). Quindi ripeti il comando di risincronizzazione. Se una policy gestita disabilita il servizio o sovrascrive le sue impostazioni, chiedi al tuo amministratore o al tuo provider di hosting di controllare tale policy.

Nessun dato temporale disponibile

Questo di solito significa che Windows non è riuscito a ottenere una risposta valida dalla sua sorgente temporale. Controlla:

  • L'hostname NTP configurato è scritto correttamente e viene risolto tramite DNS.
  • La sorgente temporale è disponibile e fornisce risposte NTP.
  • Il firewall di Windows, il firewall del provider e la rete consentono la richiesta NTP e la sua risposta sulla porta UDP 123.

Ad esempio, su un server standalone configurato per utilizzare time.windows.com, verifica la risoluzione DNS con:

Resolve-DnsName time.windows.com

Un lookup DNS riuscito conferma solo la risoluzione del nome. Non prova che il traffico NTP possa passare. Chiedi al tuo provider di controllare la porta UDP 123 se la sincronizzazione fallisce ancora; non è necessario disabilitare il firewall.

Consulta la guida di Microsoft sull'errore "no time data was available" per ulteriori verifiche.

L'orologio torna a essere errato

Verifica che il servizio Windows Time rimanga in esecuzione e possa raggiungere la sua sorgente. Su una macchina virtuale, l'hypervisor o il provider di hosting possono influenzare l'orologio dell'ospite. Fai controllare l'ora dell'host al provider se sovrascrive ripetutamente l'ora corretta dell'ospite.

Mantieni attiva la sincronizzazione automatica invece di regolare manualmente l'orologio ogni volta che l'Hub fallisce.

Consulta Scenario Creator e Hub per le workflow di creazione e condivisione delle missioni del Sistema Antincendio.