Come sincronizzare l'ora del server Windows per Sky Mission Hub
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.
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.
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.
Guida correlata
Consulta Scenario Creator e Hub per le workflow di creazione e condivisione delle missioni del Sistema Antincendio.
ESX, QBCore e Qbox: Configura il tuo framework e crea i lavori
Una guida pratica per iniziare con FiveM: installa il tuo framework, crea correttamente lavori e gradi, comprendi il servizio e l'accesso come boss e verifica che tutto venga salvato.
Usare GitHub Desktop per semplificare gli aggiornamenti di FiveM e individuare ogni modifica
Una guida senza riga di comando per i proprietari di server FiveM: usa GitHub Desktop per vedere esattamente cosa è cambiato in un aggiornamento, conserva le tue modifiche alla configurazione e torna indietro istantaneamente quando qualcosa si rompe.