انواع پیکربندی شبکه بازی های آنلاین و تاثیر آن بر پینگ بازیها
انواع پیکربندی شبکه بازی های آنلاین و تاثیر آن بر پینگ بازیها
در صنعت بازیهای ویدیویی، وقتی که صحبت از بازیهای آنلاین به میان میآید، درکنار طراحی خوب بازی، مسئله مهم بعدی سرور و تکنولوژی مورد استفاده در آن است که بازی روی آن اجرا میشود. درواقع اینکه یک بازی بتواند در حالت همزمان میزبان تعداد زیادی از کاربران باشد، از اهمیت بالایی برخوردار است که این موضوع به تکنولوژی مورد استفاده از آن برای میزبانی بازیکنان بستگی دارد. سرور بازیهای آنلاین میتواند برای بازیهای سبک نوبتی، اکشن یا مبارزهای بهشدت متفاوت باشد و ما در این مقاله قصد داریم تا شما را با آنها آشنا کنیم. البته که برای آشنایی با روشهای اتصال بازیکنان در بازیهای آنلاین میتوانید ویدیوی زیر را نیز مشاهده کنید:
برای حمایت از gsxr لطفا ویدیو را در یوتیوب تماشا کنید
در حالت کلی دو روش کلی برای اتصال بازیکنان به سرور بازیهای آنلاین وجود دارد که به نامهای پیِر-تو-پیِر (Peer-to-Peer) و کلاینت-سرور (Client-Server) شناخته میشوند. در روش پیِر-تو-پیِر یا همتا به همتا اتصال بهصورت نقطه به نقطه انجام میشود و بازیکنان ارتباطی را بین یکدیگر ایجاد میکنند. از جمله ویژگیهای این روش ارتباطی میتوانیم به سرعت بالای انتقال دادهها، تنظیمات سادهتر و عدم نیاز آن به یک سرور مرکزی هزینهبر اشاره کنیم. البته که استفاده از این روش معایب خاص خودش را هم دارد که امنیت پایین، تعداد محدود کاربران و نیاز به باکیفیت بودن سرعت اینترنت بازیکنان نمونههایی از این ایرادها بهشمار میروند.
البته که بهدلیل کمهزینه بودن این روش، بسیاری از توسعهدهندگان بازیهای مستقل از این روش برای اتصال بازیکنان به یکدیگر استفاده میکنند. جالب است بدانید بازیهایی همانند سهگانه دارک سولز، ماریو کارت، اُورکوکد 2 و فور آنِرد از جمله آثاری هستند که در بخش آنلاین خود از این روش اتصال شبکه استفاده میکنند.
همانطور که پیشتر اشاره شد، پیکربندی بعدی شبکه در بازیهای آنلاین روش کلاینت-سرور نام دارد که از محبوبیت بالایی برخوردار است و اکثر بازیهای آنلاین امروزی از آن استفاده میکنند. فرق اصلی این نوع پیکربندی در نحوه اتصال هر همتا یا Peer به اتصال بعدی خود است. درواقع در این روش بهجای اینکه هر Peer به یک Peer مشابه دیگر متصل شود، با یک همتای مرکزی که همان سرور شناخته میشود، ارتباط میگیرد. درواقع اگر بخواهیم تفاوت این دو روش اتصال را با مثال بهتری توضیح دهیم، جمعی از دوستان را تصور کنید که وقتی در یک مهمانی قرار میگیرند، بهراحتی به یکدیگر دسترسی دارند و میتوانند با هم ارتباط برقرار کنند. این روش ارتباطی یک نمونه شبکه Peer-to-Peer میتواند باشد.
درمورد شبکه کلاینت-سرور هم تصور کنید این گروه به یک رستوران رفتهاند و اگر بخواهند یک مورد خاص از منو را سفارش دهند، باید با شخص سفارشگیرنده (همان سرور مرکزی) که به محصولات دسترسی دارد، ارتباط برقرار کنند. بهطور خلاصه سرور وظیفه ارائه دادهها و خدمات مختلف به یک یا چند مشتری را بهعهده دارد.
بسیاری از بازیهای آنلاین امروزی که سازنده آنها توانایی ارائه یک سرور قدرتمند را در اختیار دارد، از این روش برای اتصال بازیکنان به دنیای بازی خود استفاده میکنند که از بین آنها میتوانیم به آثاری همچون فورتنایت، ماینکرفت، اورواچ و امانگ آس اشاره کنیم. در این بین برخی بازیها همانند مجموعه فیفا هم بودهاند که در بخشهای مختلف آنلاین خود از هر دو روش اتصال همتا به همتا و سرور اختصاصی استفاده میکردند که البته در نسخههای جدیدتر، استودیو الکترونیکآرتز در تمامی بخشهای این بازی به استفاده از سرور اختصاصی برای اتصال بازیکنان به یکدیگر روی آورده است.
همانطور که گفته شد، امروزه اساس اصلی معماری بازیهای آنلاین برمبنای ارتباط کلاینت-سرور شکل گرفته که به اشکال مختلف در بازیها پیادهسازی شده است. درواقع سازندگان میتوانند با استفاده از پروتکلهای مختلف ارتباطی در بستر این معماری، ارتباط بین بازیکنان و سرور را شکل دهند. در ادامه میتوانید در جدول زیر فهرست برخی از بازیهای آنلاین معروف و پیکربندی شبکهای که برای اتصال بازیکنان به یکدیگر استفاده میکنند، مشاهده کنید.
اتصال Peer-to-peer | اتصال کلاینت-سرور |
دیمون سولز | فورتنایت |
دارک سولز ۱، ۲ و ۳ | ماینکرفت |
بلادبرن | ایپکس لجندز |
جی تی ای آنلاین | راکت لیگ |
رد دد آنلاین | امانگ آس |
فور آنر | ایو آنلاین |
وارفریم | اورواچ |
انیمال کراسینگ: نیو هورایزنز | رینبو سیکس سیج |
سوپر اسمش بروز آلتیمیت | گوست آف سوشیما لیجندز |
اف 1 ۲۰۲۱ | روبلاکس |
ماریو کارت | هیلو اینفینیت |
اورکوکد 2 | فیفا 23 |
دیابلو 3 | کال آف دیوتی وارزون |
ورلد آف وارکرفت |
بهعنوان مثال یکی از روشهایی که شرکتهای بازیساز ایرانی برای اتصال کاربران در بازیهای خود استفاده میکنند، تکنولوژی REST نام دارد. در این روش، درخواست از سمت کاربر ارسال و به شبکه منتقل میشود. سپس این درخواست منتظر پاسخ سرور میماند و اگر در دریافت جواب دچار تأخیر شود، این درخواست دوباره و دوباره ارسال میگردد.
مزیت اصلی این روش، برنامهنویسی راحت آن است که در مقابل عیب اصلی آن یعنی تأخیر زیاد در دریافت پاسخ قرار میگیرد. البته که از سویی دیگر، دستگاههای شبکههای مخابراتی، این دادهها را جزو اطلاعات کماهمیت درنظر میگیرند و باعث میشوند تأخیر آنها در پاسخ سرور بهشدت بالا رود.
البته که در این بین برخی بازیها هم همانند منچرز ساخته استودیو اینسایتل وجود دارند که از این روش تنها در زمان لاگین کردن بازیکنان استفاده میکنند و ارتباط بین کاربران و سرور را بهعهده تکنولوژی Web Socket میسپراند. در این پروتکل ارتباطی، بین هر کلاینت با سرور یک تونل اختصاصی ایجاد میشود که در لحظه هر پیامی را ارسال و پاسخ آن را دریافت میکند که در نتیجه آن میزان زمان تأخیر یا Latency تا حد چشمگیری کاهش پیدا میکند.
درواقع پیش از این وظیفه ارتباط میان کاربر و سرور تنها بهعهده پروتکل HTTP بود که بهعلت تبادل محتویات و هدرهای غیرضروری، حجم دادهها افزایش و سرعت آنها بهالطبع کاهش پیدا میکرد. درصورتیکه وب سوکت با استفاده از یک ارتباط TCP، بار اضافی را تا حد زیادی کاهش میدهد و باعث میگردد ارتباط بهصورت همزمان شکل بگیرد. البته که این نوع ارتباط برای بازیهای آنلاین چندنفره و سرویسهای مشابه بسیار مطلوبتر بوده و از سرعت بالاتری درمقایسه با پروتکل HTTP برخوردار است.
درواقع ویژگی اصلی این تکنولوژی این است که چندین کاربر بهصورت همزمان میتوانند ازطریق آن با سرور ارتباط برقرار کنند. جالب است بدانید که در حال حاضر برای بازیهایی که از این روش ارتباطی استفاده میکنند، حضور همزمان پنج هزار بازیکن و پشتیبانی سرور از آنها میتواند بهعنوان موفقیت عملکرد آن بازی بهحساب بیاید.
البته که بهبود این روش ارتباطی به استفاده از تکنولوژی بهروز سختافزاری و قدرتمندتر بودن رم و پردازنده بستگی دارد که باتوجهبه محدودیتهای ویندوز، استودیو اینسایتل سازنده بازی منچرز موفق شده است شبکه خود را به پشتیبانی همزمان ۶۴ هزار بازیکن برساند که این یک عدد فوقالعاده بهنظر میرسد. استودیو اینسایتل برای این موضوع از یکسری تکنولوژیهای خاص استفاده کرده است که بهروزرسانیهای سرور آنها در سریعترین زمان ممکن اتفاق بیافتد و بدون وجود هیچ قطعی، صرفا تونلهای جدید برای اتصال کاربران به سرور ایجاد شود.
یکی دیگر از تکنولوژیهایی که استودیو اینسایتل در بازی آنلاین خود از آن استفاده کرده است، کوبِرنِتیس (Kubernetes) نام دارد که یکسری از اتفاقهای پشت پرده را بهصورت خودکار انجام میدهد. کوبرنتیس درواقع سازوکار مدیریت کانتینرها است که برای اولینبار توسط گوگل توسعه داده شد. منظور از کانتینرها هم چندین فضای کاربری ماشین مجازی مختلفی است که در راستای مجازیسازی یک سرور اجرا میشوند. این سرویس به کانتینرها کمک میکند تا در گروهی از ماشینهای مجازی بهصورت خودکار اجاره شود و وظیفه مدیریت اجرای نرمافزارهای و سرویسهای مختلف را بهعهده گیرد.
شما بهراحتی میتوانید وظیفه دیپلوی کردن و بهروزرسانی اپلیکیشنهای مختلف کانتینرها را انجام دهید و در صورتیکه مشکلی در اجرا یا عملکرد آنها در هر کانتینری ایجاد شود، این سرویس بهراحتی میتواند آن را مدیریت کند. برای مثال اگر یکی از بیست سرور بازی منچرز دچار اخلال شود، خود این سیستم، آن اخلال رو شناسایی کرده و سرور مورد نظر را با سروری دیگر جایگزین میکند.