إعداد الخادم·

كيفية مزامنة وقت خادم ويندوز لـ Sky Mission Hub

قم بمزامنة ساعة ويندوز على خادم FiveM الخاص بك، وتحقق من مصدر الوقت، وإصلاح طلبات Mission Hub المرفوضة بسبب عدم حداثة الطابع الزمني الخاص بها.

يستخدم Sky Mission Hub طلبات موقعة مع نافذة صلاحية قصيرة. إذا كانت ساعة ويندوز على خادم FiveM الخاص بك متقدمة أو متأخرة جداً، فقد يرفض واجهة برمجة التطبيقات (API) الطلب حتى عندما تكون بيانات اعتماد الخادم صحيحة.

يوضح لك هذا الدليل كيفية مزامنة ساعة ويندوز، والتحقق من نجاح العملية، ومحاولة استخدام Mission Hub مرة أخرى.

لماذا يحتاج Mission Hub إلى الوقت الصحيح

يتضمن كل طلب صادر من Mission Hub طابعاً زمنياً موقعاً من الجهاز الذي يشغل FXServer. تتحقق واجهة برمجة التطبيقات (API) من ذلك الطابع الزمني مقابل ساعتها الخاصة. إذا كان الفرق كبيراً جداً، يتم رفض الطلب مع expired_signature.

في Mission Hub، قد ترى "Unable to load mission hub." (في الواجهة العربية: "تعذّر تحميل مركز المهام.") قد يظهر خطأ expired_signature أكثر تحديداً في سجل الخادم. يمكن أن يكون لرسالة التحميل العامة تلك أسباب أخرى أيضاً، لذا فإن التحقق من الساعة هو خطوة لاستكشاف الأخطاء وإصلاحها وليس حلاً لكل مشكلة اتصال.

قم بمزامنة خادم ويندوز الذي يشغل FXServer، باستخدام سطح المكتب البعيد إذا لزم الأمر. إن تغيير ساعة جهاز الكمبيوتر الخاص بالألعاب أو وقت لعبة GTA لن يصحح الطوابع الزمنية لطلبات الخادم. يمكن لخادمك الاحتفاظ بمنطقته الزمنية المعتادة. يمثل الطابع الزمني نقطة زمنية مطلقة، لذا فهو لا يتطلب نفس الوقت المحلي المعروض أو المنطقة الزمنية الخاصة بخوادم Sky.

قبل البدء

تحتاج إلى صلاحيات مسؤول الوصول إلى خادم Windows ومصدر وقت يمكن الوصول إليه. يتضمن Windows خدمة Windows Time والأداة w32tm، لذا لا حاجة لبرامج إضافية.

إذا كان خادمك ينتمي إلى نطاق Active Directory، فاحتفظ بمصدر الوقت الذي يديره النطاق. اتبع خطوات الخدمة الأولية والحالة وإعادة المزامنة أدناه، ولكن تخطَّ تكوين public-NTP اليدوي. إذا فشل مزامنة النطاق، فاطلب من مسؤول النطاق التحقق من التسلسل الهرمي للوقت وسياسة المجموعة.

بالنسبة للخوادم الافتراضية (VPS) أو الأجهزة الافتراضية التي يديرها مزود الخدمة، اتبع متطلبات مصدر الوقت الخاصة بمزود الاستضافة الخاص بك. إذا كانت الساعة تتغير وتعود للخلف بشكل متكرر، فاطلب منهم التحقق من مزامنة المضيف أيضًا.

خطوة بخطوة: مزامنة وقت خادم Windows

قم بتشغيل هذه الأوامر على خادم Windows، وليس في وحدة تحكم FiveM أو وحدة تحكم txAdmin.

افتح PowerShell كمسؤول

افتح قائمة ابدأ في Windows، وابحث عن Windows PowerShell، وانقر بزر الماوس الأيمن عليه، واختر تشغيل كمسؤول. اقبل طلب إذن Windows إذا ظهر.

تفعيل وبدء خدمة Windows Time

قم بتشغيل هذه الأوامر واحدًا تلو الآخر:

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

هذا يؤدي إلى بدء خدمة الوقت وتكوينها لتبدأ تلقائيًا. بدء الخدمة بمفردها لا يثبت أن الساعة قد تمت مزامنتها.

التحقق من مصدر الوقت الحالي والحالة

w32tm /query /source
w32tm /query /status

ابحث عن Source (المصدر) المحدد و Last Successful Sync Time (وقت آخر مزامنة ناجحة). في الخادم المستقل، قد يكون المصدر خادم NTP عامًا أو تابعًا لمزود الاستضافة. أما في عضو النطاق، فسيكون عادةً مصدر وقت النطاق. قد يستخدم الجهاز الافتراضي مزود تكامل المضيف.

Local CMOS Clock (ساعة CMOS المحلية) أو Free-running System Clock (ساعة النظام المستقلة) لا تؤكد المزامنة مع مصدر خارجي. كما يعد فقدان وقت المزامنة الناجحة أو قدمه سبباً للتحقيق.

طلب مزامنة جديدة

w32tm /resync /rediscover

انتظر النتيجة، ثم استعلم عن الحالة مرة أخرى:

w32tm /query /source
w32tm /query /status

إذا نجحت المزامنة وأظهرت الحالة المصدر المتوقع ووقت مزامنة ناجحاً حديثاً، فاستمر إلى التحقق من النتيجة أدناه. يمكنك الاحتفاظ بمصدر الوقت الحالي الذي يعمل لديك.

إذا كان الخادم المستقل يحتاج إلى مصدر وقت

استخدم هذا القسم فقط للخادم المستقل الذي لا يحتوي على مصدر وقت مدار يعمل. الخادم المستقل هو الخادم غير المنضم إلى نطاق Active Directory.

إذا حدد مزود الاستضافة الخاص بك خادم NTP، فاستخدم الإعدادات الموثقة لديهم. خلاف ذلك، يمكنك تهيئة Windows لاستخدام خادم وقت Microsoft العام:

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

يحدد العلم 0x8 وضع عميل NTP. إعادة تشغيل W32Time هنا تعيد تشغيل خدمة وقت Windows؛ فهي لا تعيد تشغيل FXServer.

تحقق من النتيجة:

w32tm /query /source
w32tm /query /status

توثق Microsoft خيارات التهيئة هذه في أدوات وإعدادات خدمة وقت Windows.

التحقق من النتيجة

قبل العودة إلى اللعبة، تأكد مما يلي:

  • اكتمل أمر إعادة المزامنة بنجاح.
  • Source (المصدر) يظهر مصدر الوقت الذي تتوقعه لهذا الخادم.
  • Last Successful Sync Time (وقت آخر مزامنة ناجحة) حديث.

يمكنك أيضاً مقارنة الساعة مع مصدر NTP الذي قمت بتهيئته:

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

إذا كنت تستخدم خادم NTP مختلفًا، فاستبدل time.windows.com بعنوان ذلك الخادم. يقوم هذا بجمع خمس عينات للإزاحة ثم يتوقف. تظهر الإزاحة بالثواني؛ يجب أن تكون الساعة المتزامنة قريبة من الصفر بدلاً من أن تكون بعيدة بدقائق أو ساعات. يمكن لنظام Windows تصحيح بعض الاختلافات تدريجيًا، لذا تحقق مرة أخرى إذا كانت الإزاحة لا تزال في مرحلة الاستقرار.

/stripchart يقارن الساعات؛ ولا يقوم بمزامنتها. كما أنه يستخدم منفذ مصدر UDP مختلف عن خدمة وقت Windows، لذا فإن نجاح المقارنة وحده لا يثبت قدرة W32Time على المزامنة. تحقق من نتيجة إعادة المزامنة وحالة الخدمة أيضاً.

حاول استخدام Mission Hub مرة أخرى

عد إلى Mission Hub وانقر على "حاول مرة أخرى"، أو أغلقه وافتحه مرة أخرى. الطلب التالي يستخدم طابعًا زمنيًا جديدًا من ساعة الخادم المصححة.

لا تقتضي الضرورة عادةً إعادة تشغيل FiveM أو الموارد لمجرد التقاط وقت النظام المصحح.

إذا استمر فشل Hub، فافحص سجل الخادم الأخير. وجود expired_signature مستمر يعني أن ساعة الخادم لا تزال بحاجة إلى فحص. الأخطاء الأخرى، بما في ذلك invalid_signature، تتطلب تشخيصها الخاص؛ فمزامنة الساعة لا تحل كل مشكلات المصادقة.

استكشاف الأخطاء وإصلاحها

تم رفض الوصول

أغلق نافذة PowerShell الحالية وأعد فتحها باستخدام تشغيل كمسؤول. يلزم وجود حساب بصلاحيات مسؤول محلي لتغيير إعدادات خدمة الوقت.

الخدمة لم يتم تشغيلها

قم بتشغيل أوامر الخدمة مرة أخرى في نافذة PowerShell بصلاحيات مرتفعة:

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

يجب أن تكون حالة الخدمة Running (قيد التشغيل). ثم كرر أمر إعادة المزامنة. إذا كانت هناك سياسة مدارة تمنع تشغيل الخدمة أو تتجاوز إعداداتها، فاطلب من المسؤول أو مزود الاستضافة التحقق من تلك السياسة.

لم تتوفر بيانات الوقت

يعني هذا عادةً أن Windows لم يتمكن من الحصول على استجابة صالحة من مصدر الوقت الخاص به. تحقق مما يلي:

  • اسم مضيف NTP المكون مكتوب بشكل صحيح ويتم حله عبر DNS.
  • مصدر الوقت متاح ويوفر استجابات NTP.
  • يسمح جدار حماية Windows، وجدار حماية المزود، والشبكة بطلب NTP واستجابته عبر منفذ UDP 123.

على سبيل المثال، في خادم مستقل تم تكوينه لاستخدام time.windows.com، تحقق من تحليل DNS باستخدام:

Resolve-DnsName time.windows.com

تؤكد عملية البحث الناجحة عن DNS فقط تحليل الاسم. وهي لا تثبت إمكانية مرور حركة مرور NTP. اطلب من المزود التحقق من UDP 123 إذا استمر فشل المزامنة؛ لا داعي لتعطيل جدار الحماية.

راجع دليل Microsoft حول خطأ "لم تتوفر بيانات الوقت" لمزيد من عمليات التحقق.

تصبح الساعة غير صحيحة مرة أخرى

تأكد من بقاء خدمة وقت Windows قيد التشغيل وإمكانية وصولها إلى مصدرها. في الأجهزة الافتراضية، قد يؤثر برنامج الـ hypervisor أو مزود الاستضافة أيضًا على ساعة الجهاز الضيف. اطلب من المزود التحقق من وقت المضيف إذا كان يقوم باستمرار باستبدال وقت الضيف المصحح.

حافظ على عمل المزامنة التلقائية بدلاً من ضبط الساعة يدويًا كلما فشل الـ Hub.

راجع Scenario Creator و Hub لمعرفة سير عمل إنشاء مهام نظام الإطفاء ومشاركتها.