একদল মানুষ একটি গেম ইনস্টল করে, একই নেটওয়ার্কে সংযুক্ত হয় এবং একটি খালি সার্ভার তালিকা দেখে। প্রতিক্রিয়া হিসেবে নেটওয়ার্ককে দোষ দেওয়া এবং একটি টানেল খোঁজার প্রবণতা থাকে, কিন্তু গেমটি হয়তো এমন কোনো প্যাকেটই পাঠায়নি যা একটি টানেল বহন করতে পারত। কোনো VPN আসার আগেই নির্ধারণ করুন, কেউ মাল্টিপ্লেয়ার ক্লিক করলে সংস্করণটি আসলে তিনটি কাজের মধ্যে কোনটি করে।

এই তিনটি পরস্পরের বদলি নয়। একটি সরাসরি স্থানীয় ট্রাফিক ব্যবহার করে, একটি কোনো সেবাকে জিজ্ঞেস করে আর কে খেলছে, আর একটি অ্যাকাউন্ট ছাড়া শুরু করতে অস্বীকার করে। টানেল প্রথমটিতে সাহায্য করতে পারে, দ্বিতীয়টির সঙ্গে সম্পর্কহীন, আর তৃতীয়টি সারাতে পারে না। এই ক্রমটাই গুরুত্বপূর্ণ, কারণ তিনটিই একই খালি তালিকা তৈরি করতে পারে তিনটি আলাদা সমাধানে।

হোস্ট তালিকাভুক্ত করার আগে গেমটি কী যাচাই করে

বেশিরভাগ মাল্টিপ্লেয়ার মেনু পরপর কয়েকটি কাজ করে: সাইন-ইন করা অ্যাকাউন্ট নিশ্চিত করে, সংস্করণের অধিকার যাচাই করে, লবি বা বন্ধুদের জন্য ব্যাকএন্ডে অনুরোধ পাঠায়, আর কেবল তারপর স্থানীয় নেটওয়ার্কের দিকে তাকায়। যেকোনো ধাপ নিঃশব্দে ব্যর্থ হতে পারে, আর ইন্টারফেস সাধারণত দুই ক্ষেত্রেই একই খালি তালিকা দেখায়। তাই “LAN ভাঙা” এমন একটি রোগনির্ণয় যা কেবল পর্দা দেখে করা যায় না। ব্যাকএন্ডের ত্রুটি, মেয়াদোত্তীর্ণ অধিকার আর বিচ্ছিন্ন সাবনেট—লবি পর্দা থেকে এদের আলাদা করা যায় না, আর এদের মধ্যে কেবল একটি-ই আদৌ নেটওয়ার্ক সমস্যা।

নেটওয়ার্ক সেটিংস বদলানোর আগে সংস্করণের নিজস্ব নথি পড়ুন। রিমাস্টারগুলো সাধারণত সরাসরি IP জয়েন বাদ দেয়, LAN ডিসকভারি বদলে হোস্টেড লবি আনে, বা এমন প্ল্যাটফর্ম অ্যাকাউন্ট দাবি করে যা মূল সংস্করণে কখনো লাগত না। উদাহরণ হিসেবে, বর্তমান Age of Empires II: Definitive Edition-এর সহায়তা পৃষ্ঠা গেমের সার্ভারে হোস্ট করা একটি লবি বর্ণনা করে, যেখানে আপনি দৃশ্যমানতা, পাসওয়ার্ড আর অঞ্চল বেছে নেন; এটি ওই সংস্করণের জন্য যাচাই করার মতো একটি অ্যাপ্লিকেশন কর্মপ্রবাহ, কোনো পূর্ববর্তী সংস্করণ সম্পর্কে প্রমাণ নয়।

সংস্করণের নামের পাশাপাশি বিল্ড নম্বরও লক্ষ্য করুন। একটি প্যাচ গেমকে এক মডেল থেকে আরেকটিতে সরিয়ে নিতে পারে, আর লঞ্চ বিল্ডের জন্য লেখা নির্দেশনা এমন মেনু বর্ণনা করতে পারে যা আর নেই।

ডিসকভারি প্যাকেট প্রথম রাউটারেই মরে

সরাসরি LAN খেলা সাধারণত ব্রডকাস্ট বা মাল্টিকাস্টের ওপর নির্ভর করে: হোস্ট নিজেকে সাবনেট-ব্যাপী ঠিকানায় ঘোষণা করে, আর ক্লায়েন্টরা সেই ঘোষণা শোনে। এই প্যাকেটগুলো ডিজাইন অনুযায়ীই রাউটেবল নয়, তাই দুই মেশিনের মধ্যের রাউটার ইউনিকাস্ট ট্রাফিক পার হলেও এগুলো ফেলে দেয়। একই সুইচে থাকা দুই ডিভাইস একে অন্যকে দেখে; আলাদা VLAN-এ বা ক্লায়েন্ট আইসোলেশনসহ গেস্ট নেটওয়ার্কে থাকা সেই দুই ডিভাইস দেখে না। কনসোল আর ফোন সাধারণত নিজেদের ডিসকভারি প্রোটোকল নিয়ে একই ধরন অনুসরণ করে, তাই প্ল্যাটফর্মও গেমের মতোই গুরুত্বপূর্ণ।

“একই Wi-Fi, সার্ভার নেই” অভিযোগের বেশিরভাগই এখান থেকেই আসে। আইসোলেশন চালু থাকা গেস্ট SSID, কনসোলকে আলাদা সেগমেন্টে রাখা মেশ সিস্টেম, বা স্থানীয় সাবনেটকে পাবলিক ধরা ফায়ারওয়াল প্রোফাইল—প্রতিটিই ডিসকভারি ভাঙে, অথচ সাধারণ ইন্টারনেট অ্যাক্সেস কাজ করতে থাকে। গেমকে দোষ দেওয়ার আগে ক্লায়েন্ট আইসোলেশন সেটিং আর সাবনেট মাস্ক দেখে নিন।

লবি সেবা কোনো নেটওয়ার্ক পথ নয়

গেম যখন হোস্টেড লবি ব্যবহার করে, ম্যাচের তালিকা আপনার সাবনেট থেকে নয়, অপারেটরের সার্ভার থেকে আসে। VPN আপনার প্যাকেটের সেই সার্ভার পর্যন্ত পথ বদলায়, কিন্তু সেবা আপনাকে কোন লবি দেখায়, ম্যাচ কোন অঞ্চলে হোস্ট হয়, বা আপনার অ্যাকাউন্টের যোগ দেওয়ার অধিকার আছে কি না—এসব বদলায় না। এগুলো ব্যাকএন্ডের দেওয়া উত্তর, আর কোনো রাউটিংই এগুলো বদলাতে পারে না।

সে মডেলে টানেল সবচেয়ে ভালো ক্ষেত্রে লেটেন্সির একটি চলক, আর সবচেয়ে খারাপ ক্ষেত্রে ভূ-শনাক্তকরণের সমস্যা, কারণ সেবা আপনার রাস্তার ঠিকানা নয়, এক্সিট ঠিকানা দেখে। একই যুক্তি বন্ধুদের আমন্ত্রণ আর পার্টি সিস্টেমের ক্ষেত্রেও প্রযোজ্য। এগুলো অ্যাকাউন্ট-স্তরের বৈশিষ্ট্য যা প্ল্যাটফর্ম মধ্যস্থতা করে, তাই একই LAN-এর দুই খেলোয়াড় লবিতে একে অন্যকে দেখতে পারে না, অথচ দুজনেই অপরিচিত কারও ম্যাচে যোগ দিতে পারে।

টানেল কী পুনর্গঠন করতে পারে, আর কী পারে না

খেলোয়াড়রা আলাদা জায়গায় থাকলে এবং গেম ঠিকানা দিয়ে সরাসরি যোগ দেওয়া সমর্থন করলে টানেল কাজে লাগে। রাউটেড টানেল দুই সাইটের মধ্যে ইউনিকাস্ট ট্রাফিক বহন করে; ব্রিজড টানেল, বা ভার্চুয়াল ইথারনেট সেগমেন্ট উপস্থাপন করা ওভারলে, সেই ব্রডকাস্ট ডিসকভারিও বহন করতে পারে যার ওপর সরাসরি LAN খেলা নির্ভর করে। যে পার্থক্যটি বোঝা দরকার তা হল: রাউটিং প্যাকেটকে সাবনেটের মধ্যে সরায়, ব্রিজিং দুই সাইটকে এক সাবনেটের মতো দেখায়।

টানেল যা করতে পারে না তা হল এমন মাল্টিপ্লেয়ার মোড যোগ করা যা অ্যাপ্লিকেশনটি বাস্তবায়ন করে না। সংস্করণটি সরাসরি জয়েন সরিয়ে ফেললে ভার্চুয়াল LAN সেগমেন্ট তা ফিরিয়ে আনবে না। লবিতে অ্যাকাউন্ট লাগলে টানেল সেই যাচাই পূরণ করবে না। আর দুই মেশিন যদি একই NAT-এর পিছনে থেকে পরস্পরের মধ্যে আইসোলেশন থাকে, ওভারলে আইসোলেশন এড়িয়ে যেতে পারে, কিন্তু সেটি নীতিও এড়িয়ে যাওয়া, অর্থাৎ নেটওয়ার্ক যিনি চালান তাঁর সঙ্গে আলোচনার বিষয়।

গেমটি আসলে যে পথ ব্যবহার করে তা পরীক্ষা করুন

একই সাবনেটে একজন হোস্ট আর একজন ক্লায়েন্ট নিয়ে শুরু করুন, আইসোলেশন বন্ধ এবং কোনো টানেল ছাড়া। এটি কাজ করলে গেম আর সংস্করণ আপনি যা করতে চাচ্ছেন তা সমর্থন করে, আর পরে কোনো ব্যর্থতা পথের সমস্যা। সেখানে ব্যর্থ হলে টানেল কখনোই উত্তর ছিল না।

তারপর নথিতে যোগ দেওয়ার পদ্ধতি, পোর্ট বা ডিসকভারি প্রক্রিয়া এবং অ্যাকাউন্টের প্রয়োজনীয়তা সম্পর্কে যা বলা আছে তা লিখে রাখুন। একবারে একটি চলক বদলান: আগে সাবনেট, তারপর সেগমেন্ট, তারপর টানেল। হোস্টের ঠিকানা আর মেনুর সঠিক পথ লিখে রাখুন, যাতে পরের সেশনে তর্কের পুনরাবৃত্তি না করে পরীক্ষাটি আবার করা যায়।

সংস্করণ, কে হোস্ট করবে, মানুষ কীভাবে যোগ দেবে এবং সেশনে কোন অ্যাকাউন্ট বা সাবস্ক্রিপশন লাগবে তা ঠিক করে নিন এবং নির্ধারিত তারিখের আগে লিখে রাখুন। এটি যেকোনো টানেলের চেয়ে বেশি বিতর্ক থামায়, আর কী পরীক্ষা করা হয়েছে তার একটি নথি রেখে যায়।

সম্পর্কিত নিবন্ধ