Comment synchroniser l'heure du serveur Windows pour le Sky Mission Hub
Le Sky Mission Hub utilise des requêtes signées avec une courte fenêtre de validité. Si l'horloge Windows de votre serveur FiveM est trop en avance ou en retard, l'API peut rejeter une requête même si les identifiants de votre serveur sont corrects.
Ce guide vous montre comment synchroniser l'horloge Windows, vérifier que cela a fonctionné et réessayer Mission Hub.
Pourquoi le Mission Hub nécessite l'heure correcte
Chaque requête sortante de Mission Hub inclut un horodatage signé provenant de la machine exécutant FXServer. L'API vérifie cet horodatage par rapport à sa propre horloge. Si la différence est trop importante, la requête est rejetée avec expired_signature.
Dans le Mission Hub, vous pourriez voir "Unable to load mission hub." (« Impossible de charger le centre des missions. » dans l'interface française). L'erreur plus spécifique expired_signature peut apparaître dans le journal du serveur. Ce message de chargement général peut également avoir d'autres causes, la vérification de l'horloge est donc une étape de dépannage plutôt qu'une solution à tous les problèmes de connexion.
Avant de commencer
Vous avez besoin d'un accès administrateur au serveur Windows et d'une source temporelle accessible. Windows inclut le service Heure Windows et l'outil w32tm, aucun logiciel supplémentaire n'est donc nécessaire.
Pour un VPS ou une machine virtuelle géré par un fournisseur, suivez les exigences de source temporelle de votre fournisseur d'hébergement. Si l'horloge se réinitialise de manière répétée, demandez-leur de vérifier également la synchronisation de l'hôte.
Étape par étape : synchroniser l'heure du serveur Windows
Exécutez ces commandes sur le serveur Windows, pas dans la console FiveM ou la console txAdmin.
Ouvrir PowerShell en tant qu'administrateur
Ouvrez le menu Démarrer de Windows, recherchez Windows PowerShell, faites un clic droit dessus et sélectionnez Exécuter en tant qu'administrateur. Acceptez l'invite de permission Windows si elle apparaît.
Activer et démarrer le service Heure Windows
Exécutez ces commandes une par une :
Set-Service -Name W32Time -StartupType Automatic
Start-Service -Name W32Time
Ceci démarre le service de l'heure et le configure pour un démarrage automatique. Le simple fait de démarrer le service ne prouve pas que l'horloge est synchronisée.
Vérifier la source temporelle et le statut actuel
w32tm /query /source
w32tm /query /status
Recherchez la Source sélectionnée et la Dernière synchronisation réussie. Sur un serveur autonome, la source peut être un serveur NTP public ou du fournisseur d'hébergement. Sur un membre du domaine, il s'agira normalement d'une source temporelle de domaine. Une machine virtuelle peut utiliser un fournisseur d'intégration d'hôte.
L'horloge CMOS locale ou l'horloge système libre ne confirme pas la synchronisation avec une source externe. Une absence ou une ancienne heure de synchronisation réussie est également une raison d'enquêter.
Demander une nouvelle synchronisation
w32tm /resync /rediscover
Attendez le résultat, puis interrogez à nouveau le statut :
w32tm /query /source
w32tm /query /status
Si la synchronisation réussit et que le statut affiche la source attendue ainsi qu'une heure de synchronisation réussie récente, passez à l'étape Vérifier le résultat ci-dessous. Vous pouvez conserver votre source de temps actuelle si elle fonctionne correctement.
Si un serveur autonome nécessite une source de temps
Utilisez cette section uniquement pour un serveur autonome sans source de temps gérée fonctionnelle. Un serveur autonome est un serveur qui n'est pas joint à un domaine Active Directory.
Si votre fournisseur d'hébergement spécifie un serveur NTP, utilisez leurs paramètres documentés. Sinon, vous pouvez configurer Windows pour utiliser le serveur de temps public de Microsoft :
w32tm /config /manualpeerlist:"time.windows.com,0x8" /syncfromflags:manual /update
Restart-Service -Name W32Time
w32tm /resync /rediscover
Le drapeau 0x8 sélectionne le mode client NTP. Redémarrer W32Time ici redémarre le service de temps Windows ; cela ne redémarre pas FXServer.
Vérifiez le résultat :
w32tm /query /source
w32tm /query /status
Microsoft documente ces options de configuration dans les outils et paramètres du service de temps Windows.
Vérifier le résultat
Avant de retourner au jeu, confirmez que :
- La commande de resynchronisation s'est terminée avec succès.
- La source affiche la source de temps que vous attendez pour ce serveur.
- La dernière heure de synchronisation réussie est récente.
Vous pouvez également comparer l'horloge avec la source NTP que vous avez configurée :
w32tm /stripchart /computer:time.windows.com /samples:5 /dataonly
Si vous utilisez un serveur NTP différent, remplacez time.windows.com par l'adresse de ce serveur. Cela collecte cinq échantillons de décalage puis s'arrête. Le décalage est affiché en secondes ; une horloge synchronisée doit être proche de zéro plutôt que d'être décalée de minutes ou d'heures. Windows peut corriger certaines différences progressivement, alors vérifiez à nouveau si le décalage est toujours en cours de stabilisation.
/stripchart compare les horloges ; il ne les synchronise pas. Il utilise également un port source UDP différent de celui du service Windows Time, donc une comparaison réussie seule ne prouve pas que W32Time peut synchroniser. Vérifiez également le résultat de la resynchronisation et l'état du service.Réessayer le Mission Hub
Retournez au Mission Hub et cliquez sur "Réessayer", ou fermez-le et rouvrez-le. La requête suivante utilisera un nouvel horodatage provenant de l'horloge corrigée du serveur.
Un redémarrage de FiveM ou de la ressource n'est normalement pas nécessaire juste pour prendre en compte une heure système corrigée.
Si le Hub échoue toujours, vérifiez le dernier journal du serveur. Un expired_signature persistant signifie que l'horloge du serveur nécessite encore une investigation. Les autres erreurs, y compris invalid_signature, nécessitent leur propre diagnostic ; la synchronisation de l'horloge ne résout pas tous les problèmes d'authentification.
Dépannage
Accès refusé
Fermez la fenêtre PowerShell actuelle et rouvrez-la avec Exécuter en tant qu'administrateur. Un compte avec des droits d'administrateur local est requis pour modifier les paramètres du service de l'heure.
Le service n'a pas été démarré
Exécutez à nouveau les commandes du service dans une fenêtre PowerShell avec des privilèges élevés :
Set-Service -Name W32Time -StartupType Automatic
Start-Service -Name W32Time
Get-Service -Name W32Time
L'état du service doit être Running (en cours d'exécution). Répétez ensuite la commande de resynchronisation. Si une politique gérée désactive le service ou remplace ses paramètres, demandez à votre administrateur ou à votre fournisseur d'hébergement de vérifier cette politique.
Aucune donnée temporelle n'était disponible
Cela signifie généralement que Windows n'a pas pu obtenir de réponse valide de sa source de temps. Vérifiez :
- L'hôte NTP configuré est correctement orthographié et se résout via le DNS.
- La source de temps est disponible et fournit des réponses NTP.
- Le pare-feu Windows, le pare-feu du fournisseur et le réseau autorisent la requête NTP et sa réponse via le port UDP 123.
Par exemple, sur un serveur autonome configuré pour utiliser time.windows.com, vérifiez la résolution DNS avec :
Resolve-DnsName time.windows.com
Une recherche DNS réussie confirme uniquement la résolution de nom. Cela ne prouve pas que le trafic NTP peut passer. Demandez à votre fournisseur de vérifier l'UDP 123 si la synchronisation échoue toujours ; il n'est pas nécessaire de désactiver le pare-feu.
Consultez le guide de Microsoft sur l'erreur « aucune donnée temporelle n'était disponible » pour des vérifications supplémentaires.
L'horloge devient de nouveau incorrecte
Vérifiez que le service Heure Windows reste en cours d'exécution et peut atteindre sa source. Sur une machine virtuelle, l'hyperviseur ou le fournisseur d'hébergement peut également influencer l'horloge de l'invité. Demandez au fournisseur de vérifier l'heure de l'hôte si l'heure corrigée de l'invité est réécrite de manière répétée.
Maintenez la synchronisation automatique en fonctionnement plutôt que d'ajuster manuellement l'horloge chaque fois que le Hub échoue.
Guide connexe
Consultez Scenario Creator et Hub pour les flux de création et de partage de missions du système de pompiers.
ESX, QBCore et Qbox : Configurez votre framework et créez des métiers
Un guide de démarrage pratique pour FiveM : installez votre framework, créez correctement les métiers et les grades, comprenez le service et l'accès patron, et vérifiez que tout est sauvegardé.
Utiliser GitHub Desktop pour simplifier les mises à jour de FiveM et repérer chaque changement
Un guide sans ligne de commande pour les propriétaires de serveurs FiveM : utilisez GitHub Desktop pour voir exactement ce qui a changé dans une mise à jour, conservez vos propres modifications de configuration et revenez instantanément en arrière si quelque chose casse.