تسجيل الدخول إلى Steam يعمل واللعبة لا: افحص كل مسار
قد يسلك تسجيل الدخول إلى Steam والتنزيل وجلسة البحث عن مباراة مسارات مختلفة. اتبع قائمة الفحص بالترتيب وسجّل الخطوة التي فشلت فعليًا.
شغّل Steam وسجّل الدخول، وكل شيء يبدو سليمًا حتى تعجز اللعبة عن العثور على جلسة. تعامل مع ذلك كثلاثة أسئلة شبكة منفصلة لا كسؤال واحد. قد تصل شاشات المتجر والحساب وتنزيل المحتوى وجلسة اللعبة كلٌّ منها إلى نقاط نهاية مختلفة عبر وسائل نقل مختلفة. نفّذ هذه الفحوص بالترتيب وتوقّف عند أول فحص يفشل، لأن كل ما بعده تخمين.
الخطوة 1: تأكيد أن تسجيل الدخول هو الشيء الوحيد الذي نجح
يثبت تسجيل الدخول أن الحساب وصل إلى خدمة الهوية ببيانات الاعتماد وأي عامل ثانٍ يتطلبه الحساب. ولا يقول شيئًا عن تسليم المحتوى، ولا يقول شيئًا عن ترتيب الاستضافة الخاص باللعبة. دوّن أي العمليات الثلاث اختبرتها فعليًا، لأن الناس يبلّغون عادةً عن لعبة فاشلة بعد اختبار المشغّل وحده.
اقرأ نص الفشل قبل الشبكة. اللعبة التي تبلّغ عن عدم توفر خوادم تقول لك شيئًا مختلفًا عن مشغّل لا يستطيع الوصول إلى المتجر. يأتي الخطآن من طبقتين مختلفتين ونادرًا ما يعنيان الشيء نفسه. يحدد هذا التمييز ما إذا كان الفحص التالي يتعلق بتحليل الأسماء أم بـ UDP أم بإعداد المنطقة.
سجّل الحساب والمنطقة واللعبة والوقت. بدون هذه القيم الأربع، تكون المقارنة اللاحقة بين اختبارين مختلفين يتصادف أنهما يحملان الاسم نفسه.
الخطوة 2: حدّد وسيلة النقل لكل عملية
يتصرف تسليم المحتوى مثل نقل HTTP كبير، وهو يتحمل زمن التأخير أفضل بكثير مما يتحمل الفقدان. غالبًا ما تستخدم مطابقة المباريات وجلسات اللعب UDP، حيث يبدو المسار الذي يُسقط الحزم كلعبة معطلة لا كتنزيل بطيء. يفشل هذان النمطان بشكل مختلف على النفق نفسه، ولهذا لا يتنبأ التنزيل السريع بجلسة عاملة.
افحص الوجهات والمقابس النشطة بدلًا من قائمة منافذ المورّد أولًا. تخبرك القائمة بما قد يستخدمه النظام الأساسي، بينما تخبرك المقابس بما يفعله هذا العميل الآن.
nslookup api.steampowered.com
ss -uanp | head -20
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' https://store.steampowered.com/إذا كانت عملية اللعبة تحتفظ بمقبس UDP عليه حركة بينما مسار النقل سليم، فالفشل في جزء UDP. وهذا يضيّق المشكلة إلى تعامل النفق مع UDP لا إلى الحساب أو المتجر.
الخطوة 3: افحص سياسة الإدراج قبل قائمة المنافذ
كثير من عملاء VPN يطبّقون السياسة لكل تطبيق أو لكل نطاق عناوين أو لكل عائلة عناوين بدلًا من الجهاز بأكمله. قد يكون المشغّل داخل النفق بينما يكون ملف اللعبة الثنائي المُشغَّل بشكل منفصل خارجه، ثم يختلف الاثنان حول العالم. الإدراج على مستوى التطبيق هو السبب المعتاد على أجهزة اللعب المحمولة التي لديها عميل مورّد مثبّت. اقرأ السياسة المعمول بها فعليًا، لا الملف الشخصي الذي حفظته الشهر الماضي.
انظر إلى جدول التوجيه والواجهة التي تملك المسار الافتراضي. ستظهر هناك قاعدة نفق منقسم مبنية على بادئات الوجهة، بينما لن يظهر استبعاد على مستوى التطبيق. هذا الفرق يستحق المعرفة قبل أن تغيّر أيًّا منهما.
ip route show default
ip -brief addr
Get-NetAdapter | Select-Object Name, Status, InterfaceDescriptionإذا كانت حركة اللعبة تغادر عبر المحول الفيزيائي بينما يمر المتجر عبر النفق، فسياسة الإدراج هي النتيجة. لا استثناء منفذ سيصلح قرار توجيه، وإضافة واحد لا تفعل سوى توسيع السطح.
الخطوة 4: استبعد مسار SOCKS لا يستطيع حمل UDP
يوفر Tor وكيل SOCKS، ودعم SOCKS عبر المنظومة غير متسق بشأن UDP. لا ينفّذ سلوك Tor الموثّق عملية UDP ASSOCIATE، لذا لا تستطيع لعبة تكون حركة جلستها UDP استخدام ذلك المسار مهما وُجّه العميل إليه. المتصفح الذي يعمل عبر الوكيل يثبت فقط أن تدفقات TCP الخاصة بالمتصفح تعمل.
اختبر الادعاء لا النية. إذا كانت اللعبة لا تزال تبلّغ عن جلسة غير متاحة بينما ينجح اختبار TCP فقط عبر الوكيل نفسه، فمسار الوكيل لا يحمل الحركة التي تحتاجها اللعبة.
تعامل مع VPN الموجّه ووكيل SOCKS كأداتين مختلفتين بقدرات مختلفة. استبدال أحدهما بالآخر تغيير في التصميم، لا تفضيل في التكوين.
افحص السجل مقابل الاتفاقية
إمكانية الوصول إلى الشبكة وإذن الحساب سؤالان منفصلان، ولا يُجاب عن الأول إلا بنفق عامل. القيد يتعلق بالنية وراء التوكيل لا بالبروتوكول الذي اخترته. تقيّد الاتفاقية السارية توكيل IP الذي يكون غرضه إخفاء مكان إقامة صاحب الحساب، لذا قد يظل المسار الذي يعمل خارج الشروط التي قبلتها. اقرأ الاتفاقية بدلًا من اعتبار الاتصال موافقة.
لمقارنة صادقة، غيّر متغيرًا واحدًا في كل مرة واحتفظ باللعبة نفسها ومنطقة الخادم والحساب والعملية. ثم افحص النتيجة على العمليات الأربع نفسها التي سجّلتها في البداية.
tracert -h 12 store.steampowered.com
ss -uanp | grep -i -E 'game|steam'
curl -sS -o /dev/null -w '%{remote_ip} %{time_connect}\n' https://store.steampowered.com/عندما يُظهر السجل أن تسجيل الدخول يعمل والتنزيل يعمل والجلسة تفشل، فالسؤال المتبقي يتعلق بـ UDP على المسار. وعندما تعمل الثلاثة كلها، كانت الشكوى الأصلية عن شيء آخر، والخطوة المفيدة التالية هي سجل اللعبة نفسه لا النفق. في كلتا الحالتين، استبدلت قائمة الفحص جدالًا بملاحظة محددة.