Server-Setup·

So synchronisierst du die Windows-Serverzeit für den Sky Mission Hub

Synchronisiere die Windows-Uhr auf deinem FiveM Server, überprüfe die Zeitquelle und behebe Mission Hub-Anfragen, die abgelehnt wurden, weil ihr Zeitstempel veraltet ist.

Der Sky Mission Hub verwendet signierte Anfragen mit einem kurzen Gültigkeitszeitraum. Wenn die Windows-Uhr auf deinem FiveM Server zu weit vor oder nachgeht, kann die API eine Anfrage ablehnen, selbst wenn die Anmeldedaten deines Servers korrekt sind.

Diese Anleitung zeigt dir, wie du die Windows-Uhr synchronisierst, überprüfst, ob es funktioniert hat, und den Mission Hub erneut versuchst.

Warum der Mission Hub die korrekte Zeit benötigt

Jede ausgehende Mission Hub Anfrage enthält einen signierten Zeitstempel von der Maschine, auf der FXServer läuft. Die API prüft diesen Zeitstempel gegen ihre eigene Uhr. Wenn die Differenz zu groß ist, wird die Anfrage mit expired_signature abgelehnt.

Im Mission Hub siehst du eventuell "Unable to load mission hub." Der spezifischere expired_signature Fehler kann im Server-Log erscheinen. Diese allgemeine Fehlermeldung beim Laden kann auch andere Ursachen haben, daher ist das Überprüfen der Uhr ein Schritt zur Fehlerbehebung und keine Lösung für jedes Verbindungsproblem.

Synchronisiere den Windows-Server, auf dem FXServer läuft, falls nötig per Remotedesktop. Das Ändern der Uhr deines Gaming-PCs oder der Ingame-Zeit in GTA wird die Zeitstempel der Server-Anfragen nicht korrigieren. Dein Server kann seine übliche Zeitzone beibehalten. Der Zeitstempel stellt einen absoluten Zeitpunkt dar und erfordert daher nicht dieselbe angezeigte Lokalzeit oder Zeitzone wie die Sky-Server.

Bevor du startest

Du benötigst Administratorzugriff auf den Windows-Server und eine erreichbare Zeitquelle. Windows enthält den Windows-Zeitdienst und das w32tm-Tool, sodass keine zusätzliche Software erforderlich ist.

Wenn dein Server zu einer Active Directory-Domäne gehört, behalte dessen domänenverwaltete Zeitquelle bei. Nutze die untenstehenden Schritte für den initialen Dienst, den Status und die Resynchronisierung, aber überspringe die manuelle öffentliche NTP-Konfiguration. Falls die Domänensynchronisierung fehlschlägt, bitte den Domänenadministrator, die Zeit-Hierarchie und die Gruppenrichtlinien zu überprüfen.

Befolge bei einem vom Anbieter verwalteten VPS oder einer virtuellen Maschine die Anforderungen deines Hosting-Anbieters bezüglich der Zeitquelle. Falls sich die Uhrzeit wiederholt zurücksetzt, bitte ihn, auch die Synchronisation des Hosts zu überprüfen.

Schritt für Schritt: Windows Server Zeit synchronisieren

Führe diese Befehle auf dem Windows-Server aus, nicht in der FiveM-Konsole oder der txAdmin-Konsole.

PowerShell als Administrator öffnen

Öffne das Windows-Startmenü, suche nach Windows PowerShell, mache einen Rechtsklick darauf und wähle Als Administrator ausführen. Bestätige die Windows-Berechtigungsanfrage, falls eine erscheint.

Windows-Zeitdienst aktivieren und starten

Führe diese Befehle nacheinander aus:

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

Dies startet den Zeitdienst und konfiguriert ihn so, dass er automatisch startet. Das bloße Starten des Dienstes beweist nicht, dass die Uhrzeit synchronisiert wurde.

Aktuelle Zeitquelle und Status überprüfen

w32tm /query /source
w32tm /query /status

Suche nach der ausgewählten Source (Quelle) und der Last Successful Sync Time (Zeit der letzten erfolgreichen Synchronisation). Auf einem Standalone-Server kann die Quelle ein öffentlicher NTP-Server oder ein Hosting-Anbieter-NTP-Server sein. Bei einem Domänenmitglied ist es normalerweise eine Domänen-Zeitquelle. Eine virtuelle Maschine kann einen Host-Integration-Provider nutzen.

Local CMOS Clock (Lokale CMOS-Uhr) oder Free-running System Clock (Freilaufender Systemtakt) bestätigt keine Synchronisation mit einer externen Quelle. Eine fehlende oder veraltete erfolgreiche Synchronisationszeit ist ebenfalls ein Grund für eine Untersuchung.

Fordere eine neue Synchronisation an

w32tm /resync /rediscover

Warte auf das Ergebnis und frage dann den Status erneut ab:

w32tm /query /source
w32tm /query /status

Wenn die Synchronisation erfolgreich ist und der Status die erwartete Quelle sowie eine aktuelle erfolgreiche Synchronisationszeit anzeigt, fahre mit Ergebnis überprüfen unten fort. Du kannst deine bestehende funktionierende Zeitquelle beibehalten.

Wenn ein Standalone-Server eine Zeitquelle benötigt

Nutze diesen Abschnitt nur für einen Standalone-Server ohne eine funktionierende verwaltete Zeitquelle. Ein Standalone-Server ist ein Server, der nicht einer Active Directory-Domäne beigetreten ist.

Wenn dein Hosting-Anbieter einen NTP-Server angibt, verwende dessen dokumentierte Einstellungen. Andernfalls kannst du Windows so konfigurieren, dass es den öffentlichen Zeitserver von Microsoft verwendet:

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

Das 0x8 Flag wählt den NTP-Client-Modus aus. Ein Neustart von W32Time hier startet den Windows-Zeitdienst neu; er startet nicht den FXServer neu.

Prüfe das Ergebnis:

w32tm /query /source
w32tm /query /status

Microsoft dokumentiert diese Konfigurationsoptionen in Windows-Zeitdienst-Tools und -Einstellungen.

Ergebnis überprüfen

Bevor du zum Spiel zurückkehrst, bestätige, dass:

  • Der Resync-Befehl erfolgreich abgeschlossen wurde.
  • Source (Quelle) die Zeitquelle anzeigt, die du für diesen Server erwartest.
  • Last Successful Sync Time (Letzte erfolgreiche Synchronisationszeit) aktuell ist.

Du kannst die Uhrzeit auch mit der NTP-Quelle vergleichen, die du konfiguriert hast:

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

Wenn du einen anderen NTP-Server verwendest, ersetze time.windows.com durch die Adresse dieses Servers. Es werden fünf Offset-Stichproben gesammelt und der Vorgang dann beendet. Der Offset wird in Sekunden angezeigt; eine synchronisierte Uhr sollte nahe bei Null liegen, anstatt Minuten oder Stunden entfernt zu sein. Windows kann einige Abweichungen schrittweise korrigieren, also prüfe erneut, ob sich der Offset noch einpendelt.

/stripchart vergleicht Uhren; er synchronisiert sie nicht. Er verwendet außerdem einen anderen UDP-Quellport als den Windows-Zeitdienst, sodass ein erfolgreicher Vergleich allein nicht beweist, dass W32Time synchronisieren kann. Überprüfe auch das Resync-Ergebnis und den Dienststatus.

Versuche es erneut im Mission Hub

Kehre zum Mission Hub zurück und klicke auf "Erneut versuchen", oder schließe ihn und öffne ihn erneut. Die nächste Anfrage verwendet einen frischen Zeitstempel von der korrigierten Serveruhr.

Ein FiveM oder ein Neustart der Ressource ist normalerweise nicht erforderlich, nur um eine korrigierte Systemzeit zu übernehmen.

Wenn der Hub weiterhin fehlschlägt, überprüfe das neueste Server-Log. Ein dauerhafter expired_signature bedeutet, dass die Serveruhr noch untersucht werden muss. Andere Fehler, einschließlich invalid_signature, erfordern eine eigene Diagnose; das Synchronisieren der Uhr löst nicht jedes Authentifizierungsproblem.

Fehlersuche

Zugriff verweigert

Schließe das aktuelle PowerShell-Fenster und öffne es erneut mit Als Administrator ausführen. Ein Konto mit lokalen Administratorrechten ist erforderlich, um die Einstellungen des Zeitdienstes zu ändern.

Der Dienst wurde nicht gestartet

Führe die Dienstbefehle erneut in einem PowerShell-Fenster mit Administratorrechten aus:

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

Der Dienststatus sollte Running sein. Wiederhole dann den Resync-Befehl. Wenn eine verwaltete Richtlinie den Dienst deaktiviert oder seine Einstellungen überschreibt, bitte deinen Administrator oder Hosting-Anbieter, diese Richtlinie zu überprüfen.

Keine Zeitdaten verfügbar

Dies bedeutet in der Regel, dass Windows keine gültige Antwort von seiner Zeitquelle erhalten konnte. Überprüfe:

  • Der konfigurierte NTP-Hostname ist korrekt geschrieben und lässt sich über DNS auflösen.
  • Die Zeitquelle ist verfügbar und liefert NTP-Antworten.
  • Die Windows-Firewall, die Firewall des Anbieters und das Netzwerk lassen die NTP-Anfrage und deren Antwort über den UDP-Port 123 zu.

Überprüfe beispielsweise auf einem eigenständigen Server, der so konfiguriert ist, dass er time.windows.com nutzt, die DNS-Auflösung mit:

Resolve-DnsName time.windows.com

Ein erfolgreicher DNS-Lookup bestätigt nur die Namensauflösung. Er beweist nicht, dass NTP-Traffic durchgehen kann. Bitte deinen Anbieter, UDP 123 zu überprüfen, falls die Synchronisierung weiterhin fehlschlägt; das Deaktivieren der Firewall ist nicht notwendig.

Siehe Microsofts Leitfaden zum Fehler „no time data was available“ für weitere Überprüfungen.

Die Uhrzeit wird wieder ungenau

Stelle sicher, dass der Windows-Zeitdienst läuft und seine Quelle erreichen kann. Bei einer virtuellen Maschine können auch der Hypervisor oder der Hosting-Anbieter die Gast-Uhrzeit beeinflussen. Lass den Anbieter die Host-Zeit überprüfen, falls die korrigierte Gast-Zeit wiederholt überschrieben wird.

Behalte die automatische Synchronisierung bei, anstatt die Uhrzeit manuell anzupassen, wann immer der Hub ausfällt.

Siehe Scenario Creator und Hub für die Workflows zur Erstellung und zum Teilen von Missionen im Feuerwehr-System.