مرجع اموزش بازی سازی با یونیتی https://rosedev.ir
دوره ساخت سرور بازی آنلاین با یونیتی ( فصل یک - درس یک )
درس یک مقدمه
آشنایی اولیه با نحوه کار کرد بازی های انلاین و آشنایی با مفهوم سرور و کلاینت
در یک بازی انلاین ما با دو مفهوم کار داریم یکی کلاینت و دیگری سرور .
کلاینت (Client) : هر دستگاهی که به سرور اطلاعات ارسال کند یک کلاینت است و میتواند یک نرم افزار , بازی و یا هر نوع از سیستمی باشد.
سرور (Server) : یک نرم افزار که روی یک سیستم عاملی که همیشه به اینترنت متصل است ( برای بازی های انلاین ) اجرا میشود و وظیفه دریافت و پردازش و ارسال اطلاعات به کلاینت ها را بر عهده دارد.
تفاوت سرور و کلاینت :
بطور کلی کلاینت تنها به داده های خود و داده های ارسالی از طرف سرور دسترسی دارد و در کل دسترسی محدود تری نسبت به سرور دارد و این در حالی است که سرور به تمام دیتاها ها دسترسی کامل دارد و در مورد اتصال و یا قطع اتصال یک کاربر کاملا اختیار تام دارد و بسته به نوع برنامه نویسی و حلقه های امنیتی مورد استفاده میتواند نسبت به کاربران در درجه های مختلفی قرار داشته باشد .
موارد فوق حتمی نیستند و برنامه نویس میتواند تمام انها را تعریف کند یا تغییر دهد.
تبادل اطلاعات مابین سرور و کلاینت
برای اینکه کلاینت ها بتوانند به سرور متصل شوند نیاز دارند تا به ip و port ( در درس های اینده بیشتر توضیح خواهم داد ) دسترسی داشته باشند البته گاهی شرکت های بازی سازی برای افزایش امنیت سرور و جلوگیری از هک شدن آن اقدام به مخفی سازی ای پی اصلی سرور میکنند که در نهایت ای پی اصلی رو میشه با چند اسکن پیدا کرد که بنظر بنده ارزش مخفی کردن رو نداره و به جای مخفی کردن ای پی میتوان از لیست ها سیاه استفاده کرد تا ای پی شخص کرک کننده را بسته شود.
همچنین برای اینکه سرور تشخیص دهد که کدام کلاینت اطلاعات ارسال میکند , تمام کلاینت ها نیاز به یک ای دی دارند این ای دی میتوان شامل حروف و یا اعداد باشد.
البته این نوع تبادل اطلاعات بسیار سست و نا امن است که در درس های اینده در مورد نحوه هک شدن ان با اتک MIM و نحوه جلوگیری و تشخیص اطلاعات اصلی از فیک صحبت خواهیم کرد.
نقشه کلی یک بازی انلاین
کلاینت ها اطلاعات رو به سرور ارسال و اطلاعات پردازش شده را از سرور دریافت میکنند همچنین سرور می تواند بطور مستقیم با دیتابیس در ارتباط باشد و کلاینت ها به هیچ عنوان امکان دسترسی که آن را ندارند , مثلا اگر کلاینتی بخواهد وارد منو شود یک درخواست شامل ای دی کلاینت به سرور میفرستد و سرور در دیتابیس ان را جستجو میکند و اگر اطلاعات کاربر را پیدا کرد آنها را برای کاربر ارسال میکند ولی اگر قادر به پیدا کردن آنها نبود ( کاربر ثبت نام نکرده است ) یک پیام به کلاینت ارسال میکند که نیاز به ثبت نام است و کلاینت برای کاربر صفحه ثبت نام را باز میکند.
برای مشاهده سایر درس های این اموزش میتوانید به این ادرس مراجعه نمایید , همچنین لازم به ذکره که آموزش رو تازه شروع کرده ام و مدتی طول میکشه تا بتونم اموزش رو تکمیل کنم ( چیزی حدود 30 روز )
باتشکر سالار ندایی .
مطلبی دیگر از این انتشارات
همه چیز درباره بازی پابجی و شرکت سازنده بازی پابجی
مطلبی دیگر از این انتشارات
نصب بازی های دیتادار در GameLoop
مطلبی دیگر از این انتشارات
بهترین بازی های مسابقه ای جهان + اثبات بهترین بودن