Configuration du serveur·

Comment synchroniser l'heure du serveur Windows pour le Sky Mission Hub

Synchronisez l'horloge Windows sur votre serveur FiveM, vérifiez la source de l'heure et réparez les requêtes Mission Hub rejetées car leur horodatage est obsolète.

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.

Synchronisez le serveur Windows qui exécute FXServer, en utilisant le Bureau à distance si nécessaire. Changer l'horloge de votre PC de jeu ou l'heure en jeu de GTA ne corrigera pas les horodatages des requêtes du serveur. Votre serveur peut conserver son fuseau horaire habituel. L'horodatage représente un point temporel absolu, il ne nécessite donc pas la même heure locale affichée ou le même fuseau horaire que les serveurs de Sky.

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.

Si votre serveur appartient à un domaine Active Directory, conservez sa source temporelle gérée par le domaine. Utilisez les étapes de service initial, de statut et de resynchronisation ci-dessous, mais ignorez la configuration manuelle du NTP public. Si la synchronisation du domaine échoue, demandez à l'administrateur du domaine de vérifier la hiérarchie temporelle et les stratégies de groupe.

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.

Consultez Scenario Creator et Hub pour les flux de création et de partage de missions du système de pompiers.