Configurarea Serverului·

Cum să sincronizezi ora serverului Windows pentru Sky Mission Hub

Sincronizează ceasul Windows de pe serverul tău FiveM, verifică sursa de timp și repară cererile Mission Hub respinse deoarece amprenta lor temporală este depășită.

Sky Mission Hub folosește cereri semnate cu o fereastră de validitate scurtă. Dacă ceasul Windows de pe serverul tău FiveM este prea avansat sau prea în urmă, API-ul poate respinge o cerere chiar dacă datele de autentificare ale serverului tău sunt corecte.

Acest ghid îți arată cum să sincronizezi ceasul Windows, cum să verifici dacă a funcționat și cum să încerci din nou Mission Hub.

De ce Mission Hub are nevoie de ora corectă

Fiecare cerere Mission Hub sortantă include o amprentă temporală semnată de mașina care rulează FXServer. API-ul verifică acea amprentă temporală în raport cu propriul său ceas. Dacă diferența este prea mare, cererea este respinsă cu expired_signature.

În Mission Hub, s-ar putea să vezi "Unable to load mission hub." Eroarea mai specifică expired_signature poate apărea în log-ul serverului. Această mesaj general de încărcare poate avea și alte cauze, astfel încât verificarea ceasului este o etapă de depanare, nu o soluție pentru orice problemă de conexiune.

Sincronizează serverul Windows care rulează FXServer, folosind Remote Desktop dacă este necesar. Schimbarea ceasului PC-ului de gaming sau a timpului din jocul GTA nu va corecta amprentele temporale ale cererilor serverului. Serverul tău își poate păstra fusul orar obișnuit. Amprenta temporală reprezintă un punct absolut în timp, deci nu necesită același timp local afișat sau același fus orar ca serverele Sky.

Înainte de a începe

Ai nevoie de acces de administrator pe serverul Windows și de o sursă de timp accesibilă. Windows include serviciul Windows Time și w32tm, deci nu este nevoie de software suplimentar.

Dacă serverul tău face parte dintr-un domeniu Active Directory, păstrează sursa de timp gestionată de domeniu. Folosește pașii de inițializare a serviciului, de verificare a statusului și de resincronizare de mai jos, dar sări peste configurarea manuală NTP publică. Dacă sincronizarea domeniului eșuează, cere administratorului de domeniu să verifice ierarhia timpului și Politica de Grup (Group Policy).

Pentru un VPS sau o mașină virtuală gestionată de un furnizor, urmează cerințele furnizorului de hosting privind sursa de timp. Dacă ceasul se modifică repetat înapoi, cere-le să verifice și sincronizarea gazdei (host).

Pas cu pas: sincronizează timpul Windows Server

Rulează aceste comenzi pe serverul Windows, nu în consola FiveM sau consola txAdmin.

Deschide PowerShell ca administrator

Deschide meniul Start Windows, caută Windows PowerShell, dă click dreapta pe acesta și selectează Run as administrator. Acceptă promptul de permisiune Windows dacă apare unul.

Activează și pornește serviciul Windows Time

Rulează aceste comenzi una câte una:

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

Acest lucru pornește serviciul de timp și îl configurează să pornească automat. Pornirea serviciului singură nu dovedește că ceasul s-a sincronizat.

Verifică sursa de timp actuală și statusul

w32tm /query /source
w32tm /query /status

Caută Source (sursa) selectată și Last Successful Sync Time (data și ora ultimei sincronizări reușite). Pe un server standalone, sursa poate fi un server NTP public sau al furnizorului de hosting. Pe un membru de domeniu, aceasta va fi în mod normal o sursă de timp de domeniu. O mașină virtuală poate folosi un furnizor de integrare cu gazda (host integration provider).

Local CMOS Clock (ceasul CMOS local) sau Free-running System Clock (ceasul sistemului în regim liber) nu confirmă sincronizarea cu o sursă externă. O dată a sincronizării reușite lipsă sau veche este, de asemenea, un motiv de investigare.

Solicită o sincronizare proaspătă

w32tm /resync /rediscover

Așteaptă rezultatul, apoi interoghează din nou starea:

w32tm /query /source
w32tm /query /status

Dacă sincronizarea reușește și starea arată sursa așteptată și o dată recentă a sincronizării reușite, continuă la Verificarea rezultatului de mai jos. Poți păstra sursa de timp funcțională existentă.

Dacă un server standalone are nevoie de o sursă de timp

Utilizează această secțiune doar pentru un server standalone fără o sursă de timp gestionată funcțională. Un server standalone este unul care nu este alăturat unui domeniu Active Directory.

Dacă furnizorul tău de hosting specifică un server NTP, utilizează setările lor documentate. Altfel, poți configura Windows să utilizeze serverul de timp public al Microsoft:

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

Flag-ul 0x8 selectează modul client NTP. Repornirea W32Time de aici repornește serviciul de timp Windows; nu repornește FXServer.

Verifică rezultatul:

w32tm /query /source
w32tm /query /status

Microsoft documentează aceste opțiuni de configurare în Unelte și setări pentru serviciul Windows Time.

Verifică rezultatul

Înainte de a reveni în joc, confirmă că:

  • Comanda de resincronizare s-a completat cu succes.
  • Source (sursa) arată sursa de timp pe care o aștepți pentru acest server.
  • Last Successful Sync Time (momentul ultimei sincronizări reușite) este recent.

Poți, de asemenea, să compari ceasul cu sursa NTP pe care ai configurat-o:

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

Dacă utilizați un server NTP diferit, înlocuiți time.windows.com cu adresa acelui server. Aceasta colectează cinci eșantioane de offset și apoi se oprește. Offset-ul este afișat în secunde; un ceas sincronizat ar trebui să fie aproape de zero, nu cu minute sau ore diferență. Windows poate corecta unele diferențe treptat, așa că verificați din nou dacă offset-ul se stabilizează încă.

/stripchart compară ceasurile; nu le sincronizează. De asemenea, folosește un port sursă UDP diferit de serviciul Windows Time, deci o simplă comparare reușită nu dovedește că W32Time poate sincroniza. Verificați și rezultatul resincronizării și starea serviciului.

Încercați din nou Mission Hub

Reveniți la Mission Hub și faceți clic pe "Try again" (încearcă din nou), sau închideți-l și deschideți-l din nou. Următoarea cerere va utiliza un timestamp proaspăt de la ceasul serverului corectat.

O restartare a FiveM sau a resurselor nu este de obicei necesară doar pentru a prelua ora sistemului corectată.

Dacă Hub-ul continuă să eșueze, verificați cel mai recent log al serverului. Un expired_signature persistent înseamnă că ceasul serverului necesită încă investigație. Alte erori, inclusiv invalid_signature, necesită propria diagnoză; sincronizarea ceasului nu rezolvă orice problemă de autentificare.

Depanare

Accesul este refuzat

Închideți fereastra actuală PowerShell și redeschideți-o cu Run as administrator (rulare cu drepturi de administrator). Este necesar un cont cu drepturi de administrator local pentru a schimba setările serviciului de timp.

Serviciul nu a fost pornit

Rulați din nou comenzile de serviciu într-o fereastră PowerShell cu drepturi sporite:

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

Starea serviciului ar trebui să fie Running (în execuție). Apoi repetați comanda de resincronizare. Dacă o politică gestionată dezactivează serviciul sau îi suprascrie setările, cereți administratorului sau furnizorului de hosting să verifice acea politică.

Nu au fost disponibile date de timp

Acest lucru înseamnă de obicei că Windows nu a putut obține un răspuns valid de la sursa sa de timp. Verificați:

  • Hostname-ul NTP configurat este scris corect și se rezolvă prin DNS.
  • Sursa de timp este disponibilă și oferă răspunsuri NTP.
  • Windows Firewall, firewall-ul furnizorului și rețeaua permit cererea NTP și răspunsul acesteia prin portul UDP 123.

De exemplu, pe un server standalone configurat să utilizeze time.windows.com, verificați rezoluția DNS cu:

Resolve-DnsName time.windows.com

O căutare DNS reușită confirmă doar rezoluția numelui. Aceasta nu dovedește că traficul NTP poate trece. Solicitați furnizorului să verifice UDP 123 dacă sincronizarea eșuează în continuare; dezactivarea firewall-ului nu este necesară.

Consultați ghidul Microsoft pentru eroarea "no time data was available" pentru verificări suplimentare.

Ceasul devine incorect din nou

Verificați dacă serviciul Windows Time rămâne pornit și poate ajunge la sursa sa. Pe o mașină virtuală, hypervisor-ul sau furnizorul de hosting pot influența, de asemenea, ceasul sistemului invitat. Roagă furnizorul să verifice timpul gazdă dacă acesta suprascrie repetat timpul corectat al sistemului invitat.

Mențineți funcționarea sincronizării automate în loc să ajustați manual ceasul de fiecare dată când Hub-ul eșuează.

Consultați Scenario Creator și Hub pentru fluxurile de lucru de creare și partajare a misiunilor pentru Sistemul de Pompieri.