کوئی پورٹ جانچ چلاتا ہے، کھلا لفظ دیکھتا ہے اور سرور کو حل شدہ سمجھ لیتا ہے۔ اس نتیجے کا اصل مطلب محدود ہے: چیکر کی جگہ سے، اسی لمحے، اس پتے اور پورٹ پر TCP کنکشن قبول ہوا تھا۔ یہ Minecraft پروٹوکول ہینڈ شیک، اکاؤنٹ کی تصدیق، یا اس بارے میں کچھ نہیں کہتا کہ سرور نے کھلاڑی کو کسی دنیا میں داخل ہونے دیا یا نہیں۔

یہ چار مختلف تہیں ہیں، اور ان میں سے کسی ایک میں ناکامی کھلاڑی سے وہی جملہ نکلواتی ہے: یہ کام نہیں کیا۔

ایک پروب صرف وہی جانچتا ہے جو وہ دیکھ سکتا ہے

TCP کنکشن تب مکمل ہوتا ہے جب دونوں فریق تین راستوں والا ہینڈ شیک مکمل کرتے ہیں، جو کھیل کی معلوم ہر چیز سے نیچے ہے۔ پروب بتاتا ہے کہ ایک سننے والا موجود تھا اور اس نے اپنی نیٹ ورک جگہ سے جواب دیا۔ یہ آپ کو یہ نہیں بتا سکتا کہ سننے والا خود کھیل ہے، کیونکہ کوئی بھی عمل پورٹ پکڑ کر کنکشن قبول کر سکتا ہے۔

جگہ کا اتنا ہی وزن ہے جتنا نتیجے کا۔ عوامی انٹرنیٹ پر چیکر ایک نیٹ ورک سے ایک راستہ جانچتا ہے۔ آپریٹر اسی نیٹ ورک کے اندر سے چلائے تو چیکر بالکل دوسرا راستہ جانچتا ہے، اور وہاں کا مثبت نتیجہ دور کے کھلاڑی کے تجربے کے بارے میں تقریباً کچھ نہیں کہتا۔ دو مختلف فراہم کنندگان کے دو مختلف چیکر ان وجوہات کی بنا پر متفق بھی نہ ہوں جن کا آپ کے سرور سے کوئی تعلق نہیں۔

وقت بھی اہم ہے۔ پروب کا نتیجہ اس لمحے کو بیان کرتا ہے جب وہ چلا، اور متحرک پتہ یا بدلی ہوئی فارورڈنگ قاعدہ والا گھریلو کنکشن اصل جواب کو چند منٹ بعد سرکا سکتا ہے۔ عوامی پتہ، پورٹ، پتوں کا خاندان اور وقت فیصلے کے ساتھ لکھیں، ورنہ مشاہدہ دہرایا نہیں جا سکتا۔ جانچ کو اسی کنکشن کے فون سے نہیں، بلکہ واقعی دوسرے نیٹ ورک سے دہرائیں۔

ساکٹ اور کھلاڑی کے درمیان چار تہیں

اس ترتیب کا تصور کریں جو شامل ہونے والا کلائنٹ واقعی انجام دیتا ہے۔ پہلے وہ پتہ حل کرتا ہے، پھر شائع شدہ پورٹ پر TCP کنکشن کھولتا ہے، پھر بات چیت اور تصدیق کے لیے کھیل کا اپنا پروٹوکول بولتا ہے، اور آخر میں سرور فیصلہ کرتا ہے کہ اس شناخت کو دنیا میں آنے کی اجازت ہے یا نہیں۔ ہر تہہ کا اپنا ناکامی دستخط ہے، اور صرف پہلی تہہ پورٹ چیکر کو نظر آتی ہے۔

Java Edition کی طے شدہ پورٹ 25565 ہے، لیکن آپریٹر کوئی دوسری بیرونی پورٹ شائع کر کے اسے اندر فارورڈ کر سکتا ہے، اس لیے کھلاڑی جو نمبر لکھتا ہے وہ ضروری نہیں کہ سرور کا دیکھا ہوا نمبر ہو۔ غلط بیرونی پورٹ پر نشانہ لگایا گیا چیکر سرور کے مکمل صحت مند ہونے پر بھی بند بتاتا ہے، اور یہ اس پورے شعبے میں سب سے عام جھوٹا انتباہ ہے۔

نام پورٹ کے اوپر ایک اور قدم جوڑتے ہیں۔ اگر کھلاڑی ہوسٹ نام لکھے، تو حل کو شائع شدہ پتہ واپس دینا چاہیے، اور نیٹ ورک کے اندر کی مشین پر یہ اس کی جگہ نجی پتہ واپس دے سکتا ہے۔ یہ فائر وال کی ناکامی نہیں ہے اور پورٹ فارورڈنگ کی کوئی مقدار اسے نہیں بدلے گی۔

اندر کا کھلاڑی الگ راستہ کیوں لیتا ہے

اسی LAN پر یا اس LAN تک پہنچنے والے VPN پر بیٹھا کھلاڑی اندر سے عوامی پتے تک پہنچنے کی کوشش کرتا ہے۔ درخواست راؤٹر کے بیرونی پتے پر جاتی ہے اور راؤٹر کو اسے واپس اندر ترجمہ کرنا ہوتا ہے، جسے عام طور پر hairpinning یا NAT عکس کہا جاتا ہے۔ اس کے کام کرنے کے لیے آگے کا ترجمہ اور واپسی کا راستہ دونوں میل کھانے چاہئیں، اور بہت سے گھریلو راؤٹر اسے بالکل نافذ نہیں کرتے۔

اسی لیے باہر کا مہمان شامل ہو جاتا ہے اور سرور کے پاس بیٹھا شخص شامل نہیں ہو پاتا۔ بیرونی راستہ واقعی ٹھیک ہے؛ ناکام اندرونی چکر ہوتا ہے، اور یہ کھلاڑی کی سکرین سے سرور کے مسئلے جیسا دکھائی دیتا ہے۔ کون سا واقع ہوا یہ سرور کا اپنا لاگ طے کرتا ہے، کیونکہ جو کنکشن کبھی ترجمہ ہی نہیں ہوا وہ وہاں کبھی پہنچتا ہی نہیں۔

دو ایماندار اصلاحات اور ایک بری عادت ہے۔ اچھے اختیارات یہ ہیں کہ اندر کے کھلاڑیوں کو نجی پتہ یا split-DNS نام استعمال کرنے دیا جائے جو اندر نجی پتے پر حل ہوتا ہے، یا اگر خصوصیت موجود ہو اور درست برتاؤ کرے تو راؤٹر پر عکس فعال کیا جائے۔ بری عادت مزید پورٹیں کھولنا یا ہوسٹ فائر وال بند کرنا ہے، جو اس ترجمے پر اثر نہیں ڈال سکتا جو راؤٹر نے کبھی نہیں کیا۔

Netgate کی NAT عکس کی دستاویزات بیرونی اور اندرونی فرق اور split-DNS متبادل کو مزید تفصیل سے بیان کرتی ہیں۔ اسے طریقہ کار کی وضاحت کے طور پر پڑھیں، کسی مخصوص VPN فراہم کنندہ یا راؤٹر کے ہر loopback قسم کی حمایت کے وعدے کے طور پر نہیں۔

ہر زاویے سے شواہد جمع کریں

ہر ٹیسٹ کے لیے لکھیں کہ کس نے چلایا، کہاں سے، کس وقت، کس پتے اور پورٹ کے خلاف، اور سرور نے کیا لاگ کیا۔ سرور کنسول میں واضح وجہ کے ساتھ کھیل کی رد ہونے والی بات اس کنکشن سے مختلف دریافت ہے جو کبھی پہنچا ہی نہیں، اور دونوں مخالف سمتوں میں لے جاتے ہیں۔

اگر اجازت یافتہ دور کے کھلاڑی شامل ہوتے ہیں اور ایک مقامی کھلاڑی شامل نہیں ہو پاتا، تو باقی سوال مقامی راستہ ہے اور یہ اپنی تحقیقات کا حقدار ہے: کلائنٹ نے کون سا پتہ استعمال کیا، راؤٹر نے ترجمے کے ساتھ کیا کیا، اور سرور نے کوئی کنکشن کوشش درج کی یا نہیں۔ پورٹیں بے ترتیب طور پر دوبارہ کھولنے کے بجائے یہ تین حقائق نیٹ ورک کے مالک کو دیں۔

متعلقہ مضامین