در این مقاله سعی خواهم کرد تا انواع روش های ساخت یک سرور بازی , برای ساخت بازی آنلاین در یونیتی را توضیح دهم , قبلا مقاله ای راجب مقدمه ورود به بازی های آنلاین نوشته بودم که در آن یکسری از سرور های آماده رو توضیح داده بودم حال در این مقاله کمی عمیق تر این موضوع را بررسی خواهیم کرد.
تمامی روش های ساخت سرور حتی با وجود تفاوت هایی که دارند ارسال و دریافت اطلاعات را تا حدود زیادی مشابه به هم انجام میدهند به طوری که گاها حتی با وجود تفاوت در زبان برنامه نویسی نیز تفاوت چندانی در نوع و سرعت ارتباط در بین آنها دیده نمیشود.
در کل تمام سرور ها سه ویژگی دارند که آنها را مورد بررسی قرار میدهیم .
دو مورد اول نوع سرور می باشد که به نام های UDP و TCP شناخته میشوند که در آینده با این نوع سرور ها کار خواهیم کرد و مورد آخر CCU سرور هست که در خیلی از سایت ها زیاد مورد بررسی قرار نگرفته در این مقاله کمی در مورد سه مورد بالا توضیح خواهم داد.
در سرور های UDP پکیج های ارسالی به صورت دایم و بدون رهگیری ارسال میشوند و از این رو این نوع ارتباط دارای سرعت خیلی بالایی نسبت به TPC است که همین امر باعث میشود تا این نوع سرور مناسب بازی های رئال تایم باشد , یکی از معایب این نوع ارتباط از دست رفتن پکیج های ارسالی میباشد که ممکن است توسط کلاینت هرگز دریافت نشوند ولی با وجود سرعت بسیار بالای این نوع سرور براحتی میشود اطلاعات ارسالی را چک کرد.
در حالت کلی ساده ترین تعریفی که میتوان برای ccu عنوان کرد در واقع تعداد یوزرهایی است که بصورت همزمان به سرور ما وصل شده اند و سروری که بتواند تعداد ccu های بیشتری را در هر سیشن ساپورت کند طبیعتا بهتر و قوی تر است , البته بسته به نوع بازی ای که میخواهیم توسعه دهیم باید نوع سرور را انتخاب کنیم و در موقع انتخاب به حداکثر ccu که لازم داریم باید دقت داشته باشیم , مثلا برای بازی ای مثل بازی هشت خوان که یک بازی کارتی و نوبتی هست یک سرور tcp کاملا انتظارات ما را براورده خواهد کرد و برای یک بازی مانند کال اف موبایل و … حتما به یک سرور از نوع udp و با قابلیت ساپورت ccp بالا نیازمندیم.

در جدول بالا برخی از پکیج ها و سرویس های مرتبط با ساخت سرور بازی معرفی شده است که میتوانید مشاهده کنید من فقط یه توضیح کوتاه بدم که سه مورد بالا تا جایی که بنده اطلاع دارم اولا فیلتر هستند و دوما تحریم هستیم و سوما هزینه ماهیانه بر اساس ccu می خواهند که به هیچ وجه مناسب ایرانی ها نیستند یا حداقل مناسب تیم های کوچک و استارت آپی نیستند البته دارک ریفت رو کار نکردم و اطلاعی هم ندارم ( چون تو جدول بالا نوشته 100 دلار برای سورس )
در کنار لیست بالا من یه لیست کامل از انتخاب هایی که برای ساخت سرور داریم رو براتون مینویسم :
به جز پکیج های بالا روش های زیادی برای ساخت سرور وجود دارد از ساخت کنسول اپ با سی شارپ گرفته تا ساخت سرور با تایپ اسکریپت و اینکه از کدام روش استفاده کنید کاملا بسته به خودتونه.
پس با توجه به روشهای بالا میبینیم که تعداد خیلی زیادی از پکیج ها و سرویس ها برای ساخت سرور بازی وجود دارند با این حال چه عاملی باعث بهتر بودن یا بدتر بودن یک روش میشود ؟
در پاسخ به آن می توان گفت که روش انتخابی شما باید از هر نظر به صرفه باشد یعنی چه از نظر یادگیری و داکیومنت ها و چه از نظر زمان ساخت و مدیریت توابع و سیستم مدیریت سرور و حتی فایل اجرایی سرور ( نوع فرمت سیستم مورد نیاز و امنیت کدها و … )
و در آخر میزان بازدهی سرور باید قابل قبول باشد و حتی به جرات میتوان گفت که بازدهی سرور خیلی مهمتر از تمام موارد بالاست به طوری که هزینه ماهیانه ای که برای نگهداری و انلاین نگه داشتن سرور خرج میشود باید نسبت به بازدهی آن قابل قبول و منطقی باشد.
پس سروری مناسب است که تمام موارد بالا را باهم یا با اولویت بندی اختصاصی شما داشته باشد .
در مورد بازدهی استفاده از متدهای پیشرفته تر و مولتی تردینگ برای سرور بسیار حائز اهمیت است.
در صورتی که سوالی دارید میتوانید در اینجا بپرسید . باتشکر