سرورهای مقتدر در برابر شبکههای همتابههمتا: بهای واقعی امنیت، تاخیر و مقیاسپذیری در بازیها
انتخاب بین سرورهای مقتدر (Authoritative) و شبکههای همتابههمتا (P2P)، یکپارچگی رقابتی، حداقل تاخیر و هزینههای عملیاتی یک بازی را رقم میزند. توسعهدهندگان با محاسبه دقیق این بدهبستانها در پهنای باند و همگامسازی، میتوانند معماری مناسب برای محیط چندنفره خود را تعیین کنند.
به قلم کامران احمدی
این خبر را به اشتراک بگذارید
- مدافعان سرور مقتدر
- یکپارچگی رقابتی، امنیت و داشتن یک منبع واحد حقیقت را در اولویت قرار میدهند و هزینههای بالاتر زیرساخت را میپذیرند.
- محققان تمرکززدایی
- به دنبال حذف نقاط شکست واحد و کاهش هزینههای سرور از طریق توزیع اقتدار بین دستگاههای لبه هستند.
در دل یک مسابقه نفسگیر Quake 3، بازیکنی کلیک چپ ماوس را فشار میدهد. در کسری از ثانیه، دقیقا ۱۵ میلیثانیه، کلاینت محلی این دستور را ثبت کرده و شعله دهانه تفنگ و صدای شلیک را رندر میکند. اما اینکه آیا حریف واقعا آسیب میبیند یا نه، کاملا به معماری شبکهای بستگی دارد که آن تکبسته داده را مسیریابی میکند. این دادهها باید از سیستم بازیکن در بستر اینترنت سفر کنند، توسط یک داور تایید شوند و با یک وضعیت قطعی بازگردند. نحوه مدیریت این سفر توسط بازی — چه با هدایت آن از طریق یک سرور مرکزی مقتدر و چه با انتقال مستقیم آن بین بازیکنان در یک شبکه همتابههمتا (P2P) — عدالت بنیادین، سرعت و هزینه عملیاتی تجربه چندنفره را دیکته میکند.[3]
مدل سرور مقتدر (Authoritative Server) دقیقا مثل یک داور سازشناپذیر عمل میکند. در این معماری، یک ماشین اختصاصی که در یک دیتاسنتر میزبانی میشود، شبیهسازی واقعی بازی را اجرا میکند. کلاینتها دستورات خود — فشردن کلیدها، حرکات ماوس و دکمهها — را با فرکانس بالا، معمولا ۳۰ تا ۶۰ بسته در ثانیه (که به عنوان تیکریت ۳۰ تا ۶۰ هرتز شناخته میشود) ارسال میکنند. سرور این ورودیها را با وضعیت اصلی بازی تطبیق داده و نتایج را برای تمام بازیکنان متصل پخش میکند. همانطور که در مستندات شبکه شرکت Valve، توسعهدهنده موتور Source، آمده است: «یک کلاینت وضعیت فعلی جهان را از سرور دریافت کرده و خروجی ویدیویی و صوتی را بر اساس این بهروزرسانیها تولید میکند.» کلاینت نمیتواند دیکته کند که هدشات کرده است؛ فقط میتواند درخواست شلیک کند و منتظر بماند تا سرور اصابت را تایید کند.[6]
این اقتدار متمرکز، با سلب هرگونه قدرت تصمیمگیری از سیستم بازیکن، شدیدترین فرمهای تقلب را ریشهکن میکند. از آنجا که سرور تنها منبع حقیقت است، کلاینتها نمیتوانند حافظه محلی خود را دستکاری کنند تا در نقشه تلپورت شوند یا به خود جان بینهایت بدهند. اگر یک کلاینت دستکاریشده بستهای بفرستد که ادعا کند بازیکن در یک فریم ۵۰۰ متر جابجا شده است، سرور مقتدر به سادگی این حرکت غیرممکن را رد کرده و بازیکن را به موقعیت قانونیاش برمیگرداند. با این حال، این امنیت بهای فیزیکی سنگینی دارد. هر اکشن باید تا سرور برود و برگردد، که یک مسیر اجباری به شبکه اضافه کرده و زمان رفتوبرگشت کل را برای هر تعامل افزایش میدهد.[4]
برای محاسبه دقیق این هزینه، محققان در کنفرانس بینالمللی شبکههای IEEE حساسیت به تاخیر را در بازی Quake 3 اندازهگیری کردند و دریافتند که بازیکنان زمانی متوجه افت کیفیت میشوند که پینگ از مرز ۶۰ تا ۱۰۰ میلیثانیه عبور کند. یک سرور اختصاصی تاخیر پایهای را اضافه میکند، اما توسعهدهندگان این تاخیر را با استفاده از پیشبینی سمت کلاینت (Client-side prediction) پنهان میکنند. سیستم محلی بلافاصله انیمیشن شلیک را پخش کرده و کاراکتر را به جلو میبرد، با این حدس که سرور این اقدام را تایید خواهد کرد. اگر سرور مخالفت کند — شاید چون بازیکن دیگری کسری از ثانیه زودتر شلیک کرده است — کلاینت یک «عقبگرد» (Rollback) بصری را تجربه میکند و کاراکتر به وضعیت مقتدرانه سرور برمیگردد تا یکپارچگی رقابت حفظ شود.[3][5]
یک سرور اختصاصی تاخیر پایهای را اضافه میکند، اما توسعهدهندگان این تاخیر را با استفاده از پیشبینی سمت کلاینت (Client-side prediction) پنهان میکنند.
معماریهای همتابههمتا (P2P) تلاش میکنند تا این گلوگاه مرکزی را به کل دور بزنند. در یک مدل P2P خالص، سیستم هر بازیکن مستقیما به سیستم تمام بازیکنان دیگر در لابی متصل میشود. با حذف پرش به سرور، P2P از نظر تئوری میتواند به کمترین تاخیر فیزیکی ممکن بین دو بازیکن دست یابد. این مدل در دوران اولیه بازیهای کنسولی حاکم بود و هنوز هم برای بازیهای مبارزهای دونفره یا جلسات همکاری (Co-op) چهارنفره محبوب است. این روش همچنین بار مالی میزبانی سرورهای اختصاصی را حذف میکند، که برای استودیوهای مستقلی که با بودجههای محدود کار میکنند، فاکتور بسیار مهمی است. مقالهای در سال ۲۰۲۱ در نشریه Computing and Informatics اشاره کرد که صنعت بازی با ارزش ۱۳۵ میلیارد دلار، به شدت به زیرساختهای مقیاسپذیر وابسته است و پلتفرمهایی مانند Steam تا ۱۸٫۵ میلیون کلاینت همزمان را گزارش میدهند.[1]
با این وجود، P2P نقصهای امنیتی و مقیاسپذیری شدیدی به همراه دارد. با افزایش تعداد بازیکنان، پهنای باند مورد نیاز به صورت تصاعدی بالا میرود، زیرا هر کلاینت باید وضعیت خود را برای تمام کلاینتهای دیگر در مسابقه ارسال کند. مهمتر از آن، بدون یک داور بیطرف، شبکه برای حل اختلافات باید به اجماع تکیه کند. اگر سیستم بازیکن الف ادعای اصابت کند، اما سیستم بازیکن ب بگوید تیر خطا رفته، معماری باید تصمیم بگیرد به چه کسی اعتماد کند. برخی بازیها یک بازیکن را به عنوان «سرور شنونده» (Listen server) یا میزبان انتخاب میکنند، اما این کار به آن فرد یک برتری عظیم با پینگ صفر میدهد و راه را برای «لگ سوییچینگ» (Lag switching) باز میکند — جایی که میزبان به طور مصنوعی پهنای باند آپلود خود را خفه میکند تا حریفان را فریز کند، در حالی که خودش آزادانه به حرکت ادامه میدهد.[1]
مهندسی مدرن در تلاش است تا این شکاف بین هزینه و امنیت را پر کند. مقاله سال ۲۰۲۱ نشریه Computing and Informatics یک معماری مقتدر غیرمتمرکز را با استفاده از مکانیزمهای اجماع بلاکچین پیشنهاد داد تا نقش داور را بین دستگاههای لبه (Edge devices) توزیع کند. اگرچه این روش از نظر ریاضی برای جلوگیری از نقاط شکست واحد و کاهش برتری میزبان منطقی است، اما بار پردازشی اعتبارسنجی رمزنگاری در حال حاضر از بودجه سختگیرانه تاخیر ۶۰ میلیثانیهای که برای بازیهای اکشن سریع نیاز است، فراتر میرود. تا زمانی که گرههای رایانش لبه نتوانند اجماع را با سرعت یک پردازنده اختصاصی و بدون ایجاد تاخیر مصنوعی پردازش کنند، سرور مقتدر همچنان استاندارد اجباری برای یکپارچگی رقابتی باقی میماند و توسعهدهندگان را مجبور میکند تا هزینههای بالاتر زیرساخت را فدای یک مبارزه عادلانه کنند.[1]
حفظ بلندمدت بازیهای چندنفره نیز به این شکاف معماری بستگی دارد. وقتی یک استودیو تصمیم میگیرد برای صرفهجویی در هزینهها سرورهای مقتدر خود را خاموش کند، بازی عملا از بین میرود و نرمافزار برای جامعه بازیکنان کاملا غیرقابل بازی میشود. در مقابل، بازیهای همتابههمتا از نظر تئوری میتوانند تا ابد زنده بمانند، به شرطی که دو بازیکن بتوانند بستهها را در بستر اینترنت به یکدیگر مسیریابی کنند. این موضوع یک تنش ساختاری در توسعه بازیهای مدرن ایجاد میکند: همان اقتدار متمرکزی که برای تضمین یک محیط عادلانه و بدون تقلب در دوران اوج محبوبیت بازی ضروری است، دقیقا همان مکانیزمی است که مرگ نهایی آن را زمانی که دوشاخه دیتاسنترها کشیده میشود، تضمین میکند.[1][7]
چرا مهم است
معماری شبکهای که یک استودیو انتخاب میکند، سقف رقابتی بازی را برای همیشه قفل میکند. درک ریاضیات پشت این توپولوژیها نشان میدهد که چرا برخی بازیها روان و عادلانهاند، در حالی که برخی دیگر از تلپورت شدن دشمنان، ثبت نشدن تیرها و تقلبهای افسارگسیخته رنج میبرند.
بررسی عمیق دیدگاهها
دیدگاه زیرساخت استودیو
یکپارچگی رقابتی و جلوگیری از تقلب را از طریق اقتدار متمرکز در اولویت قرار میدهد.
برای بازیهای رقابتی در مقیاس بزرگ، استودیوها سرور مقتدر را یک هزینه غیرقابل مذاکره میدانند. با متمرکز کردن وضعیت بازی، توسعهدهندگان میتوانند اعتبارسنجی سختگیرانه سمت سرور را پیادهسازی کنند که از نظر ریاضی جلوی هکهای سرعت، تلپورت و تکثیر آیتمها را میگیرد. بار مالی اجرای ناوگانی از سرورهای اختصاصی در چندین منطقه جهانی، به عنوان هزینه پایه برای حفظ یک اکوسیستم عادلانه و قابل اعتماد در نظر گرفته میشود که میتواند از ورزشهای الکترونیک حرفهای و درآمدزایی بلندمدت پشتیبانی کند.
دیدگاه تمرکززدایی
به دنبال حذف نقاط شکست واحد و کاهش هزینههای میزبانی از طریق توزیع اقتدار است.
محققان و توسعهدهندگان مستقل به هزینههای سربار عظیم سرورهای اختصاصی به عنوان یک مانع ورود و یک خطر برای حفظ بلندمدت بازی اشاره میکنند. وقتی یک استودیو سرورهای مقتدر خود را خاموش میکند، بازی عملا از بین میرود. این گروه از توپولوژیهای پیشرفته همتابههمتا و مدلهای اجماع رایانش لبه دفاع میکنند و استدلال میکنند که توزیع نقش داور بین سیستمهای بازیکنان میتواند اکوسیستمهای چندنفره خودکفایی ایجاد کند که مدتها پس از توقف پرداخت هزینه دیتاسنتر توسط توسعهدهنده اصلی، زنده بمانند.
منابع
[1]Computing and Informaticsمحققان تمرکززداییA Decentralized Authoritative Multiplayer Architecture for Games on the Edge
مطالعه در Computing and Informatics →
[2]Lecture Notes in Computer Scienceمحققان تمرکززداییKnow Thy Lag: In-Network Game Detection and Latency Measurement
مطالعه در Lecture Notes in Computer Science →
[3]IEEE International Conference on Networksمحققان تمرکززداییAn experimental estimation of latency sensitivity in multiplayer Quake 3
مطالعه در IEEE International Conference on Networks →
[4]UBC Computer Scienceمدافعان سرور مقتدرA Distributed Multiplayer Game Server System
مطالعه در UBC Computer Science →
[5]IEEE NetGamesمدافعان سرور مقتدرA Study of Network Stack Latency for Game Servers
مطالعه در IEEE NetGames →
[6]Valve Developer Communityمدافعان سرور مقتدرSource Multiplayer Networking
مطالعه در Valve Developer Community →
[7]تیم سردبیری کوهستانتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
نظرات
هر زاویه. هر روز.
دریافت بازی و ورزشهای الکترونیک اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.

