سرور مناسب بازی (بررسی ساختار فنی)
یک چالش بسیار مهم برای توسعه دهندگان انتخاب سرور مناسب بازی می باشد.
ما در این مقاله قصد بررسی ساختار فنی سرور بازی را داریم به همراه بررسی نیازمندی ها و مواردی که باید در انتخاب سرور بازی به آن ها توجه کرد.
در چند مقاله ی قبلی ما به «ساختار فنی بازی های مولتی پلیر» پرداختیم؛ بازی هایی که نیازمندی آن ها داشتن یک یا چند سرور است و در این مقاله خود سرور را مورد بررسی قرار می دهیم.
با ما همراه باشید.
(در مقاله ی «بهترین سرورهای مناسب بازی» نیز می توانید با بهترین شرکت های داخلی و خارجی برای تهیه ی سرور مورد نیاز خود آشنا شوید.)
سرور اختصاصی چیست ؟
به طور کلی سرورها به سه دسته بندی کلی تقسیم می شوند، سرور اختصاصی، مجازی و اشتراکی، در این بخش ما به توضیح سرور اختصاصی خواهیم پرداخت.
سرور اختصاصی بازی یک سرور است که به طور ویژه برای میزبانی بازی های آنلاین چند نفره، ایجاد و بهینه شده است.
این سرور منابع خود را فقط به اجرای یک بازی اختصاص می دهد.
این انحصار تضمین میکند که گیمرها گیمپلی روانتر و پایدارتر را با حداقل تأخیر تجربه کنند، که برای بازیهای آنلاین سریع و به خصوص ریل تایم بسیار مهم است.
مزایای یک سرور اختصاصی
عملکرد و ثبات
یکی از مهمترین دلایلی که توسعه دهندگان یک سرور اختصاصی بازی را انتخاب می کنند، عملکرد و پایداری آن است.
توانایی سرورهای اختصاصی بازی برای تخصیص منابع به نیازهای بازی شما، گیم پلی روان تر و حداقل تاخیر اجتناب ناپذیر است.
اینها عوامل مهمی هستند که به بازی های رقابتی و تجربه یکپارچه چند نفره کمک می کنند.
کنترل و سفارشی سازی بهتر
یک سرور اختصاصی بازی به شما امکان کنترل کامل محیط سرور را می دهد.
این امکان سفارشی سازی گسترده را فراهم می کند.
به شما امکان می دهد تنظیمات بازی را تنظیم کنید، مودها یا پلاگین های لازم را نصب کنید و سرور را مطابق با مشخصات خود پیکربندی کنید.
امنیت بهبود یافته
امنیت در طول بازی برای محافظت در برابر حملات DDoS، تلاشهای هک و سایر تهدیدات آنلاین بسیار مهم است.
سرورهای بازی اختصاصی اغلب با ویژگی های امنیتی پیشرفته و توانایی نصب اقدامات امنیتی بیشتر ارائه می شوند.
این محافظت اضافی کمک می کند تا مطمئن شوید که محیط بازی شما ایمن و بدون وقفه باقی می ماند.
معایب یک سرور اختصاصی
هزینه
قابل توجه ترین نکته ی سرور اختصاصی بازی هزینه آن است.
سرورهای میزبان اختصاصی بسیار پرهزینه تر از گزینه های میزبانی مشترک یا سرورهای خصوصی مجازی (VPS) هستند.
هزینه بالا می تواند برای گیمرهای معمولی یا جوامع بازی کوچک بسیار زیاد باشد.
دانش فنی مورد نیاز
راه اندازی و مدیریت سرورهای اختصاصی بازی نیازمند دانش فنی است.
و این دانش فنی قطعا متخصصین و توسعه دهندگان سمت سرور را نیاز دارد.
ممکن است مجبور باشید وظایفی مانند پیکربندی سرور و بررسی های امنیتی را انجام دهید.
عدم استفاده
منابع یک سرور میزبان اختصاصی ممکن است برای انجمن های بازی کوچکتر یا بازی هایی با بازیکنان کمتر مورد استفاده قرار نگیرد.
اگر بازی شما به منابع گسترده این سرورها نیاز نداشته باشد، پرداخت هزینه برای این نوع سرور ممکن است مقرون به صرفه نباشد.
انواع سرورها و انتخاب بین آن ها
همانطور که در بالا اشاره شد بهترین نوع سرور، سرور اختصاصی است که این شامل اختصاص کل سرور به کلاینت ها است.
اما در برخی از موارد نیازهای کلاینت ها ممکن است استفاده از کل منابع سرور را توجیه نکند.
به همین دلیل سرورهای اختصاصی را می توان به قسمت های کوچکتر تقسیم کرد.
این نوع میزبانی که در آن کلاینت ها فضای دیسک مخصوص به خود را دارند و پردازنده و کارت حافظه را به اشتراک می گذارند، میزبانی اشتراکی نامیده می شود.
اما به دلیل کارایی پایین برای میزبانی بازی ها مناسب نیست.
راه دیگر برای تقسیم سرور از طریق مجازی سازی است که شامل ایجاد سرورهای مجازی کوچکتر است.
اینها می توانند سرورهای مجازی خصوصی با منابع اختصاصی باشند.
این امکان را برای تقسیم یک پردازنده هشت هسته ای بین دو کلاینت فراهم می کند که هر کدام دارای چهار هسته و یک سیستم عامل مستقل هستند.
روش دیگر برای تقسیم سرور، استخراج سرورهای مجازی اختصاصی است که منابع فیزیکی اختصاصی را به هر سرور مجازی اختصاص می دهند.
در این حالت پردازنده بین چندین کلاینت تقسیم نمی شود بلکه هر کلاینت از یک پردازنده جداگانه استفاده می کند.
کدام یک از این راه حل های میزبانی برای سرورهای بازی بهترین است؟
همانطور که گفته شد هاست اشتراکی برای بازی مناسب نیست.
میزبانی VPS یا VDS ممکن است برای بازی های کوچک با منابع محدود مناسب باشد.
برخی از بازیها نیز با مجازیسازی عملکرد خوبی ندارند و ممکن است بر روی سرورهای مجازی به راحتی اجرا نشوند که تجربه بازی ضعیفی را ارائه میکنند.
اما بهترین گزینه برای جایگذینی سرور اختصاصی در صورتیکه محدودیت بودجه ای وجود داشته باشد، قطعا VPS است.
اجزای مهم یک سرور
CPU
CPU مغز سرور است.
دستورالعمل ها را پردازش می کند و وظایف را مدیریت می کند.
در سرورهای بازی، CPU منطق بازی، اقدامات بازیکن و تعاملات درون دنیای بازی را کنترل می کند.
یک CPU قدرتمند تضمین می کند که این فرآیندها در زمان واقعی انجام می شوند.
این فرایندها تاخیر را کاهش می دهد و تجربه بازی را بهبود می بخشد.
به دنبال سرورهایی با پردازندههای چند هستهای (چهار هستهای، شش هستهای و غیره) با سرعت کلاک بالا که بر حسب گیگاهرتز اندازهگیری میشوند، برای اهداف بازی باشید.
این امر مدیریت کارآمد چندین سشن بازی همزمان و مکانیک های پیچیده بازی را تضمین می کند.
RAM
RAM برای ذخیره موقت داده هایی که سرور نیاز به دسترسی سریع به آنها دارد، بسیار مهم است.
در سرورهای بازی، اندازه RAM مستقیماً بر توانایی سرور برای مدیریت وضعیت بازی، دادههای بازیکن و رویدادهای ریل تایم بدون مشکل تأثیر میگذارد.
هرچه رم بیشتر در دسترس باشد، سرور میتواند به طور همزمان تعداد بیشتری از بازیکنان و نمونههای بازی را مدیریت کند.
شروع با حداقل 16 گیگابایت رم برای اکثر بازیهای مدرن توصیه میشود، اگرچه بازیهای سختتر و تعداد بازیکنان بزرگتر ممکن است به 32 گیگابایت یا بیشتر برای اطمینان از عملکرد مطلوب نیاز داشته باشند.
فضای ذخیره سازی
فضای ذخیره سازی جایی است که داده های بازی، اطلاعات بازیکن و تمام دارایی های لازم نگهداری می شوند.
دو نوع اصلی ذخیره سازی عبارتند از هارد دیسک (درایو دیسک سخت) و SSD (درایوهای حالت جامد).
SSDها، به طور قابل توجهی سریعتر از HDDها، برای سرورهای بازی ترجیح داده می شوند زیرا می توانند زمان بارگذاری را به شدت کاهش دهند و دنیای بازی را در دسترس تر و پاسخگوتر کنند.
یک بازی مدرن می تواند به ده ها گیگابایت فضای ذخیره سازی نیاز داشته باشد.
بنابراین سروری با چند صد گیگابایت تا چند ترابایت پیشنهاد می شود.
پهنای باند (Bandwidth and Latency )
پهنای باند و تأخیر، مشخصات شبکه مهمی هستند که بر توانایی سرور برای برقراری ارتباط با دستگاه های بازیکنان تأثیر می گذارد.
پهنای باند مقدار داده ای است که در یک زمان معین ارسال می شود.
Latency refers به تأخیر قبل از شروع انتقال داده به دنبال دستورالعمل انتقال آن اشاره دارد.
پهنای باند بالا برای پشتیبانی از بسیاری از پلیر های همزمان ضروری است.
این تضمین می کند که داده ها (مانند اقدامات بازیکن، حالت های بازی، و تعاملات زمان واقعی) به سرعت و کارآمد منتقل می شوند.
تأخیر کم برای پاسخگویی در زمان واقعی بسیار مهم است، یکی از موارد ضروری برای بازی های رقابتی که در آن هر میلی ثانیه اهمیت دارد.
در تهیه سرور بازی به چه نکاتی باید توجه کرد ؟
در ادامه به صورت موردی تمام نکاتی را که باید در انتخاب سرور خود در نظر داشته باشید را ذکر خواهیم کرد.
نوع بازی
نوع بازی (MMO، FPS، استراتژی و غیره) مستقیماً بر انتخاب سرور تأثیر می گذارد.
تعداد بازیکنان همزمان، پیچیدگی مکانیک بازی و نیازهای تعامل ریل تایم از موارد مهمی هستند که باید به آن توجه داشته باشید.
در اینجا نوع حالت مولتی پلیر بازی نیز مطرح است که پیشنهاد می شود برای درک هر چه بهتر آن از مقاله ی «انواع حالت های مولتی پلیر بازی» دیدن کنید.
تعداد پلیرها
منظور از تعداد پلیرهای بازی، ICU یا همان تعداد پلیرهای همزمان در بازی می باشد، که باید تخمین نسبتا دقیقی از آن داشته باشید.
در مقاله ی «حداکثر تعداد پلیرهای همزمان بازی» ما به صورت کامل به این بحث پرداختیم و در نظر داشته باشید که این تعداد پلیر همزمان نیز در هر بازی یک بار فشاری را به سرور وابسته به تعاملات و سنگینی بازی می آورد.
حساسیت تاخیر
بازی های مختلف حساسیت های مختلف را دارند؛ به عنوان در یک بازی FPS حساسیت تاخیر در حد چند میلی ثانیه می باشد؛ به همین علت در نظر گرفتن حساسیت تاخیر بسیار مهم است.
این نکته را در نظر داشته باشید که موقعیت فیزیکی سرور اختصاصی بازی از اهمیت فوق العاده ای برخوردار است.
به خصوص از آنجایی که در مورد سرورهای اختصاصی بازی، یک شبکه تحویل محتوا (CDN) اهمیت چندانی را برای میزبانی سرور اختصاصی بازی انجام نمی دهد.
دسترسی سریع به سرورهای نصب شده در نزدیکی (تا 1000 کیلومتر دورتر) به معنای تاخیر در سطح 10-15 میلی ثانیه است که برای ماشین هایی که در دیتا سنترهایی در فاصله 2000 کیلومتری راه اندازی می شوند می تواند به حدود 30-40 میلی ثانیه افزایش یابد.
سطح سفارشی سازی
نیازهای بازی می تواند در طول زمان تغییر کند و توسعه دهندگان به سرورهایی نیاز دارند که بتوانند با نیازهای در حال تغییر سازگار شوند.
سرورهای اختصاصی یا VPS که از شرکت های ارائه دهنده این خدمات تهیه می شوند؛ قائدتا امکان این ارتقا و سازگاری را خواهند داشت.
اما برای سرورهای اختصاصی که به صورت خانگی و توسط خود افراد بسته می شود، توجه به این نکته در تهیه ی سخت افزار بسیار مهم است.
لوکیشن بازیکنان
درک اینکه بازیکنان شما در کجا قرار دارند، کلید انتخاب بهترین گزینه میزبانی سرور بازی برای شما است.
تقریباً در تمام سناریوهای محاسباتی، سرعت بسیار مهم است؛ اما همانطور که گفته شد هیچ کدام بیشتر از بازی ها نیست.
سرورهای بازی یک برنامه حساس به تأخیر هستند.
با قرار دادن زیرساخت سرور بازی نزدیک تر به بازیکنان خود، می توانید به کاهش تاخیر کمک کنید.
حتی با استفاده از کابل فیبر نوری که دادهها را با سرعت نور انتقال میدهد، هر مایل فیزیکی اضافی تأخیر را افزایش میدهد.
ارسال داده از لندن به پاریس بسیار سریعتر از لندن به نیویورک خواهد بود زیرا فاصله بین نقاط به مراتب کمتر است.
برای اطمینان از یک تجربه خوب برای همه، بازیکنان باید تا حد امکان نزدیک به زیرساخت سرور بازی میزبان بازی آنها باشند.
به عنوان مثال بهترین گزینه برای بازی هایی که برای مارکت داخلی هستند، سرورهای داخل کشور می باشد.
و برای بازی های بین المللی می توان سرور یا سرورهای اروپا را انتخاب کرد.
مهرسا امینی
برنامه نویس سایت و بازی
موفقیت چیزی نیست که برای شما اتفاق بیوفتد بلکه به واسطه ی شما و تلاش هایتان پیش می آید.