আমি কীভাবে পিয়ার-টু-পিয়ার মাল্টিপ্লেয়ার গেম তৈরি করতে পারি? [বন্ধ]


37

আমি কীভাবে পি 2 পি মাল্টিপ্লেয়ার গেম তৈরি করতে পারি? আমি একটি সার্ভার-কম মাল্টিপ্লেয়ার গেম চাই। কিন্তু তারপরে, সমস্ত ক্লায়েন্টরা একে অপরকে কীভাবে জানবে?

মাল্টিপ্লেয়ার গেমগুলিতে পি 2 পি-প্রোটোকল ফাইল স্থানান্তরে এত বিখ্যাত কেন?


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

তবে পি 2 পি মাল্টিপ্লেয়ার গেমগুলিতে বেশ জনপ্রিয়! কে বলেছিল না? এমনকি কিছু বড় এমএমও পি
অ্যাডাম হার্ট

উত্তর:


34

পিয়ার টু পিয়ার গেমসগুলিতে সাধারণত একটি গেম হোস্ট থাকে। এটি গেম হোস্ট যা মাস্টার গেমসের তালিকায় গেমটি পোস্ট করে এবং নতুন সংযোগ গ্রহণ করে। যখনই গেম হোস্ট কোনও নতুন ক্লায়েন্টকে গেমটিতে গ্রহণ করে এটি বিদ্যমান ক্লায়েন্টকে নতুন ক্লায়েন্ট সম্পর্কে অবহিত করে যাতে তারা নিশ্চিত করতে পারে যে তারা নতুন ক্লায়েন্টের সাথে সংযুক্ত রয়েছে।

পি 2 পি বাস্তবায়নের সহজ উপায় হ'ল লবি। সমস্ত ক্লায়েন্ট একটি লবিতে হোস্টের সাথে সংযুক্ত হন (বা চ্যাট রুম)। হোস্ট প্রস্তুত হয়ে গেলে প্লেয়ারের প্রেসগুলি শুরু হয় এবং তারা সবাই একই সময়ে গেমটিতে প্রবেশ করে (সাধারণত কৌশল কৌশলগুলিতে ব্যবহৃত হয়)। আরও জটিল পদ্ধতির মধ্যে রয়েছে "ড্রপ-ইন ড্রপ-আউট" ব্যবহার করা যেখানে খেলোয়াড়রা মিড গেমটিতে যোগ দিতে এবং ছেড়ে দিতে পারে, তবে এটি পি 2 পি গেমটিতে প্রয়োগ করা অনেক জটিল এবং এর জন্য হোস্ট-মাইগ্রেশন নামে একটি বৈশিষ্ট্য প্রয়োজন।

বেশিরভাগ গেমস বেশিরভাগ কৌশল, স্পোর্টস এবং ড্রাইভিংয়ের শিরোনাম সহ পিয়ার টু পিয়ার ব্যবহার করে use প্রায় সমস্ত এক্সবক্স 360 এবং পিএস 3 গেমগুলি পি 2 পি নেটওয়ার্কিং ব্যবহার করে। ক্লায়েন্ট-সার্ভার আর্কিটেকচার বেশিরভাগ প্রথম ব্যক্তি শুটার বা এমএমও গেমগুলিতে ব্যবহৃত হয়।

ক্লায়েন্ট-সার্ভার কার্যকরভাবে কার্যকর করা সহজ যেহেতু কেবলমাত্র 1 টি মেশিন পুরো গেমের অবস্থা জানে না, ক্লায়েন্টরা মূলত কিছু মসৃণ দেখানোর জন্য কিছুটা ভবিষ্যদ্বাণী সহ রেন্ডার করে।

আপনি যখন একটি পি 2 পি ইঞ্জিন তৈরি করেন, সমস্ত ক্লায়েন্টদের গেম ওয়ার্ল্ডের একটি সম্পূর্ণ রাজ্যের প্রয়োজন এবং তাদের সকলকে সিঙ্কে থাকা প্রয়োজন।

পি 2 পি এবং ক্লায়েন্ট-সার্ভার আর্কিটেকচার সম্পর্কে আরও তথ্যের জন্য আমি আপনাকে নীচের নিবন্ধটি পড়ার পরামর্শ দিচ্ছি: প্রতিটি প্রোগ্রামার গেম নেটওয়ার্কিং সম্পর্কে জানতে প্রয়োজনীয়

এবং আপনি যদি সাধারণভাবে নেটওয়ার্কিংয়ে নতুন হন তবে সেই সাইটের অন্যান্য দুর্দান্ত নিবন্ধগুলি চেকআউট করুন। গ্লেন একটি নেটওয়ার্কিং প্রতিভা।


13

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

পি 2 পি প্রচুর পরিমাণে ডেটা স্থানান্তর করতে পারে তবে এটি বেশ উচ্চ পিংয়ের সাহায্যে গেমসকে খুব কম পরিমাণে ডেটা সঞ্চার করতে হবে, ন্যূনতম পিং সময় সহ।


13

পিয়ার-টু-পিয়ার সিস্টেম এবং অ্যাকশন গেম সম্পর্কে কিছু আকর্ষণীয় দিক রয়েছে। আমি তাদের গ্লেন ফিডারের ব্লগে একটি মন্তব্য হিসাবে পোস্ট করার চেষ্টা করেছি, তবে দৃশ্যত তিনি ভুল প্রমাণিত হতে পছন্দ করেন না এবং পরিবর্তে পুরো নিবন্ধটি টানেন। আপনি যদি এটি পড়তে চান তবে এটি ইন্টারনেট সংরক্ষণাগারে রয়েছে।

তিনি মন্তব্যটি অনলাইনে যেতে দেননি, তাই আমি এখানে এটাকে উদ্ধৃত করব:

প্রথম পোস্ট থেকে পিয়ার-টু-পিয়ার পরামর্শটি আসলে একটি আকর্ষণীয় সূচনার পয়েন্ট, যদিও এটি সময়ে কিছুটা নির্বোধ হলেও: প্রথম সম্ভাবনাটি হ'ল আপনার পোস্টে বর্ণিত রূপ হিসাবে ভবিষ্যদ্বাণী সহ একটি আদর্শ ক্লায়েন্ট / সার্ভার মডেলের সাথে সিস্টেমটি একত্রিত করা হবে possibility গেম নেটওয়ার্কিং সম্পর্কে নীচের পি 2 পি পিং নাটকীয়ভাবে তাদের অবস্থানের উপর নির্ভর করে খেলোয়াড়দের মধ্যে পূর্বাভাসের ব্যবধান হ্রাস করবে: প্রভাব সম্ভবত বেশিরভাগ মার্কিন গেমারদের জন্য দৃশ্যমান হবে না তবে এখানে ইউরোপের 200+ পিংস বেশিরভাগ সার্ভারে স্বাভাবিক এবং সরাসরি সংযোগটি হ্রাস করবে ভবিষ্যদ্বাণীটি কোনও ইউরোপীয় সার্ভারের সাথে পিছিয়ে আছে।

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

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

[...]

আমি যে থ্রেডটি উল্লেখ করছি তা আপনি http://www.devmaster.net/forums/showthread.php?t=14640 এ খুঁজে পেতে পারেন ।

আমি মনে করি কেউ কেউ পিয়ার-টু-পিয়ারের ফায়ারওয়াল সমস্যার উল্লেখ করেছেন যা নিবন্ধের একটি থ্রেডে রয়েছে। একটি সম্ভাব্য সমাধান হ'ল NAT-পাঞ্চথ্রু:
- NAT পাঞ্চথ্রু ওভারভিউ
- পিয়ার-টু-পিয়ার যোগাযোগ নেটওয়ার্ক অ্যাড্রেস অনুবাদকদের জুড়ে

সাফল্যের কোনও 100% হার নেই, সুতরাং খেলোয়াড়দের যেভাবেই কোনও পোর্ট খোলার কথা বলা উচিত।


প্রশ্নের উত্তর দেওয়ার জন্য একমাত্র ব্যক্তির জন্য +1, তার জন্য আপনাকে ধন্যবাদ। একটি প্রশ্ন: আপনি নিয়ন্ত্রণের বাইরে থাকা রাজ্য বেলুনিংয়ের প্রজাপতি-প্রভাবের পার্থক্যের কথা উল্লেখ করেছেন (আমি বেশ কয়েকটি খারাপভাবে লিখিত ইন্টারপ্লে গেমসে এটি দেখেছি)। রাষ্ট্রটি যখন মেশিনগুলির মধ্যে আলাদা হয় তখন আমাদের কী করা উচিত? স্টারক্রাফ্টকে উদাহরণ হিসাবে গ্রহণ করা, যদি আমার কম্পিউটার বিশ্বাস করে যে একটি ইউনিট মারা গেছে, তবে আমার প্রতিপক্ষের কম্পিউটার বিশ্বাস করে যে অন্য ইউনিট মারা গেছে? আমরা কীভাবে সিদ্ধান্ত নেব কার শব্দ গ্রহণ করা উচিত?
ব্লুরাজা - ড্যানি পিফ্লুঘুফুট

@ ব্লুরাজা স্টারক্রাফ্ট আসলে এর পক্ষে খুব ভাল উদাহরণ নয়, কারণ এটি ইঞ্জিনটি 100% নির্বিচারক। আপনার কেবলমাত্র একই প্রোগ্রাম ভাগ করে নেওয়ার টাইমস্ট্যাম্প এবং কম্পিউটারগুলির সাথে প্লেয়ার কমান্ডগুলি নির্ভরযোগ্যভাবে প্রেরণ করতে হবে বর্তমান অবস্থার সাথে সর্বদা একমত হবে। পার্থক্য হ্রাস করার একটি ভাল উপায় হ'ল গেমটাইম (পদার্থবিজ্ঞান-ফ্রেম বা টিক) সহ প্রতিটি রাজ্যের আপডেটের টাইমস্ট্যাম্প করা এবং গ্রহণকারী মেশিনে এই কয়েকটি ফ্রেমকে ক্যাশে করা। (এটির জন্য বেশিরভাগ এফপিএস গেমস, উদাহরণগুলি সিএস: এস এবং টিএফ 2 রয়েছে Also) এছাড়াও, গুরুত্বপূর্ণ কোনও কিছুর জন্য ভাসমান পয়েন্ট সংখ্যা ব্যবহার করবেন না, কারণ তাদের প্রয়োগটি পৃথক হতে পারে।
তামাসচি

কোনও ইঞ্জিন যদি 100% নির্দোষ হয় (এখানে পদার্থবিজ্ঞান-গ্রন্থাগার রয়েছে যা এটির নিশ্চয়তা দেয়) সুবিধাটি হ'ল আপনি তুলনামূলকভাবে প্রতারণামূলক ক্লায়েন্টদের সনাক্ত করতে পারেন, কারণ বিভিন্ন ফলাফল পাওয়ার একমাত্র উপায় হ'ল আলাদা কোড থাকে। নোট করুন যে এটি নেটওয়ার্কের পারফরম্যান্সের উপর নির্ভর করে গেমের প্রতিটি ক্ষেত্রেই সম্ভব হতে পারে না; প্রায়শই এই কারণে ডেব্রিস সিঙ্ক্রোনাইজ হয় না। দ্রুত গতির গেমগুলি প্রায়শই সমস্ত কিছু সিঙ্ক করতে অক্ষম।
তামাসচি

যেহেতু ব্লগ পোস্টটি গুগলের ক্যাশে থেকে অদৃশ্য হয়ে গেছে, এখানে এটি ইন্টারনেট সংরক্ষণাগারটিতে রয়েছে: web.archive.org/web/20091120214817/http://gafferongames.com/…
ফার্নোজল

9

'সত্য পিয়ার-টু-পিয়ার' গেমপ্লেয়ের একটি ভাল উদাহরণ স্টারক্রাফ্টের মতো একটি বাস্তব-সময়-কৌশল খেলা হবে।

কয়েক ইউনিট / প্রজেক্টিলে গতিযুক্ত গেমটিতে, বারবার নেটওয়ার্কের মাধ্যমে ইউনিট পজিশন / রাজ্যগুলি অন্য সমস্ত খেলোয়াড়ের কাছে প্রেরণ করা ব্যবহারিক নয়, সুতরাং এখানে একটি সমাধান হ'ল সমস্ত খেলোয়াড়ের সিঙ্কে (হুবহু একই) সিমুলেশন চালানো।

যখন কোনও খেলোয়াড় কোনও ক্রিয়া সম্পাদন করে, কমান্ড / অর্ডার ('এক্স, ওয়াই তে জার্গলিং') অন্য সমস্ত খেলোয়াড়কে প্রেরণ করা যেতে পারে, সিমুলেশনের সমস্ত উদাহরণগুলির পরে একটি সেকেন্ডের একটি ভগ্নাংশ সম্পাদন করতে পারেন।

এই পরিস্থিতিতে যদি কোনও প্লেয়ার সংযোগ বিচ্ছিন্ন করে দেয়, গেমটি চালিয়ে যেতে পারে - যেহেতু কোনও সার্ভার / হোস্টের গেমটি চালানোর দরকার নেই, বাকি খেলোয়াড়রা চালিয়ে যেতে পারে।

তবে, গেমগুলিকে সিঙ্কে রাখা অ-তুচ্ছ, আপনাকে গেম লজিক আপডেটের জন্য একটি নির্দিষ্ট টাইমস্টেপ ব্যবহার করতে হবে এবং এলোমেলো প্রবণতাগুলি বিভ্রান্ত হবে না তা নিশ্চিত করার জন্য অবশ্যই এলোমেলো সংখ্যার জেনারেটর ব্যবহার এবং বীজ সম্পর্কে খুব সতর্কতা অবলম্বন করতে হবে!


5

বেশিরভাগ রিয়েল টাইম স্ট্র্যাটেজি গেমস (স্টার ক্রাফ্ট সিরিজ, কমান্ড এবং কনকয়ের সিরিজ) এবং অনেকগুলি এফপিএস গেমস (ডিউটির কল: আধুনিক যুদ্ধযুদ্ধ 2) এটি ব্যবহার করার সময় এটি গেমগুলির জন্য বিখ্যাত নয় বলে দাবি করা কিছুটা বেআইনী হবে।

এটি বলেছিল যে কোনওটি কীভাবে গেমটি সম্পর্কে জানতে পারে তা আপনার ব্যবহার বা তৈরি করা ম্যাচমেকিং / লবিং পরিষেবা is এমনকি একবার খেলা সম্পর্কে জানার পরেও এমন এক বা একাধিক সমবয়সী হতে পারে যা অন্যদের চেয়ে বেশি সমান। খেলতে ইচ্ছুক ৩ জন ক্লায়েন্টের ক্ষেত্রে, একটি খোলা নেটের পিছনে একটি, কড়া (বন্ধ) নেটের পিছনে ২ টি বিবেচনা করুন। খোলা নাট পিয়ার অন্য দুটি থেকে সংযোগ নিতে পারে। তবে 2 কঠোর একে অপরের সাথে সরাসরি সংযোগ করতে পারে না, তাদের প্যাকেটগুলি রিলে করার জন্য খোলা নাট লাগবে। খোলা নাট পিয়ারটি যদি গেমটি থেকে বাদ দেয় তবে অন্য কোনও রিলে খুঁজে পাওয়া দরকার বা গেমটি ব্যাহত হবে।


2

আপনি Badumna (www.badumna.com) যা অনলাইন গেমগুলির জন্য পিয়ার-টু-পিয়ার নেটওয়ার্কিং সমাধান বলে দাবি করেছেন তাও দেখতে চাইতে পারেন। দেখে মনে হচ্ছে এটি বিতরণ করা গেমের রাজ্যের সিঙ্ক্রোনাইজেশন করে এবং তাদের ওয়েবসাইট অনুসারে এখানে একটি ফ্ল্যাশ সংস্করণ আসছে।


1

আপনি সম্ভবত কোনও খেলোয়াড়ের সাথে দৌড়াতে চান (আমরা তাকে / তাকে "হোস্ট" বলব) অননুমোদিত সার্ভার হিসাবে। অন্য সমস্ত খেলোয়াড়েরা আমাদের হোস্টের সাথে তাদের শেষের দিকে কী করছে তা জানাতে হবে এবং হোস্টটি অন্য খেলোয়াড়দের কাছে বার্তাটি রিলে করবে will

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

স্মার্টফক্সসভারের জন্য ডকুমেন্টেশন আপনাকে সাহায্য করতে পারে এবং / অথবা আপনি এটি আপনার গেমের জন্যও ব্যবহার করতে চান। আপনি আলাদা ক্লায়েন্ট এবং সার্ভার প্রোগ্রাম না করে কেবল এটি আপনার ক্লায়েন্ট গেমটিতে এম্বেড করবেন।


1
এটি একটি পি 2 পি সেটআপ কম এবং একটি অপ্রচলিত সার্ভার / ক্লায়েন্টের বেশি মনে হয়।
deft_code

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

2
@Hobo: যে না P2P, যে হয় ক্লায়েন্ট / সার্ভার, সেটা ব্যাপার কিভাবে আপনি এটা কল করুন।
o0 '

1

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


xbox 360 এ জিটিএ 4 পি 2 পি তাই এটি সম্ভব এবং এর মধ্যে খুব কমই নেই

-1

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.