🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش یونیتی چند نفره: ایجاد و میزبانی سرور اختصاصی بازی.
- آخرین آپدیت
دانلود Unity Multiplayer: Create and host dedicated game server.
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
آموزش ساخت و میزبانی سرور اختصاصی بازی آنلاین با Unity3D و LiteNetLib
یاد بگیرید چگونه با استفاده از شبکهسازی Low-Level از طریق LiteNetLib و Unity3D، یک سرور اختصاصی بازی ایجاد و میزبانی کنید.
ایجاد سرور اختصاصی بازی با استفاده از LiteNetLib و .NET Core 6
میزبانی سرور بر روی Digital Ocean، Azure، AWS یا هر پلتفرم ابری دیگر با استفاده از Docker و Azure Container Instances
ایجاد یک کلاینت ساده بازی TicTacToe که با سرور اصلی ارتباط برقرار میکند
ایجاد لابی بازی برای کمک به مسابقات
ایجاد یک لایه شبکه قوی که میتوان برای هر بازی آینده مجدداً استفاده کرد
پیش نیازها: توصیه می کنیم دانش اولیه ای از زبان C# و Unity3D داشته باشید.
میخواهم با شما کاملاً صادق باشم.
در گذشته، ماهها در اینترنت تلاش میکردم تا اطلاعات خوبی در مورد نحوه ایجاد و میزبانی یک سرور اختصاصی بازی واقعی پیدا کنم. تقریباً هیچ اطلاعات ساختاریافتهای در این مورد وجود ندارد. اکنون که درک مناسبی از این موضوع دارم، تصمیم گرفتم آن را با شما به اشتراک بگذارم. واقعاً امیدوارم این آموزش به شما کمک کند تا پایههای سفر خود را در دنیای بازیهای چند نفره آنلاین بنا کنید.
در این آموزش چه انتظاری باید داشته باشید:
در بخش اول، ما یک تنظیمات بسیار حداقلی از ارتباط کلاینت-سرور خود را با استفاده از Unity3D، .NET 6 و کتابخانه شبکه LiteNetLib ایجاد می کنیم.
پس از اتمام اثبات مفهوم، یا همانطور که دوست دارم آن را "پروژه اسکلت متحرک" بنامم، به بنای پایههای یک ارتباط کلاینت به سرور قوی ادامه خواهیم داد. ما سریالسازی و دیسریالسازی بستهها را پیادهسازی خواهیم کرد و این کار را به گونهای انجام خواهیم داد که منطقی که بستههای مختلف را مدیریت میکند، در هندلرهای بسته مختلف جدا باشد و از ساختارهای C# کاملاً تایپ شده استفاده کند.
پس از اتمام لایه شبکه، روی دو صحنه اصلی کار خواهیم کرد که برای هر بازی چند نفره ضروری هستند. صحنه های ورود و لابی.
در صحنه ورود، به بازیکنان اجازه می دهیم خود را شناسایی کرده و در سرور ما ثبت نام کنند. ما اعتبارسنجی ورودی کاربر را انجام خواهیم داد و به کاربر بازخورد بصری در قالب انیمیشن بارگیری می دهیم.
در صحنه لابی، یک لیست مرتب شده از 10 بازیکن برتر ایجاد می کنیم و وضعیت آنها (آنلاین یا آفلاین) را نشان می دهیم. ما همچنین تعداد کل بازیکنان فعلی را در سرور نشان خواهیم داد. علاوه بر این، وقتی یک بازیکن جدید وارد می شود یا یک بازیکن موجود آفلاین می شود، لیست را در همه کلاینت ها به روز می کنیم.
پس از اتمام این کار، به بازیکنان این امکان را می دهیم که در استخر مسابقات خود ثبت نام کنند و با فشار دادن دکمه "یافتن حریف" به دنبال حریف بگردند.
پس از یافتن مسابقه، بازیکنان را به صحنه بازی واقعی هدایت می کنیم، جایی که می توانند بازی کلاسیک Tic Tac Toe را انجام دهند.
ما انیمیشن های زیبا را پیاده سازی می کنیم و گوشه های خاص را در هر دو سمت سرور و کلاینت مدیریت می کنیم.
پس از اتمام یک جلسه بازی، به بازیکنان اجازه می دهیم دوباره درخواست بازی کنند و سپس البته به آنها این امکان را می دهیم که پیشنهاد را بپذیرند یا رد کنند.
و در آخر، هنگامی که از کلاینت و سرور بازی آماده شدیم، سرور خود را در یک ارائه دهنده ابری مستقر می کنیم و از کلاینت به آن متصل می شویم.
اگر علاقه ای به این آموزش وجود داشته باشد، آن را با بخش های اضافی پاداش بسته به نیاز دانشجویان گسترش خواهم داد.
از آنجایی که این اولین آموزش من در Udemy است، مهارت های ارائه من دور از کمال است و من از این بابت عذرخواهی می کنم، اما هنوز معتقدم که اطلاعات ارزشمندی وجود دارد که می توانید از آن بهره مند شوید. واقعاً امیدوارم از آن لذت ببرید.
آیا شرایط یا پیش نیازهای دوره وجود دارد؟
درک اساسی از Unity3D و .NET
اشتیاق و میل به یادگیری بیشتر در مورد نحوه ایجاد بازی چند نفره آنلاین.
این دوره برای چه کسانی است:
این دوره برای هر کسی است که علاقه مند به ایجاد یک سرور اختصاصی سفارشی با استفاده از شبکه سازی سطح پایین است. این دوره برای مبتدیان کامل نیست زیرا مفاهیم بسیار اساسی مانند: نحوه نصب نرم افزار یا اصول اولیه برنامه نویسی C# را پوشش نمی دهد. اما من هنوز معتقدم که حتی اگر مبتدی باشید، می توانید آن را دنبال کنید، زیرا این دوره اساساً یک راهنمای گام به گام است.
سرفصل ها و درس ها
مقدمه
Introduction
مقدمه
Introduction
راه اندازی محیط توسعه دهنده
Setting up the developer environment
راه اندازی اولیه شبکه با استفاده از LiteNetLib
Minimal setup of Networking using LiteNetLib
کلیک و لغو دکمه Find opponent.
Find opponent button onClick and cancelling.
مدل ها و تعریف هندلرها برای FindOpponentRequest و CancelFindOpponentRequest
FindOpponentRequest and CancelFindOpponentRequest models and handlers definition
همسان سازی (Matchmaking) بخش 1
Matchmaking part 1
همسان سازی (Matchmaking) بخش 2
Matchmaking part 2
مدیر بازی ها
Games Manager
اعلام رویداد OnStartGame
Raising OnStartGame event.
هندلر بسته OnStartGame
OnStartGame packet handler
کد منبع بخش
Section Source Code
صحنه بازی
Game scene
رابط کاربری بازی
Game UI
[کلاینت] مدیر بازی
[Client] GameManager
منطق متن نوبت بازیکن فعلی
Current player turn text logic
رندر کردن صفحه بازی
Rendering the game Board
مدل ها و تعریف هندلرها برای MarkCellRequest و OnMarkCell
MarkCellRequest and OnMarkCell models and handlers definition
ساختار و اعتبارسنجی MarkCellRequest
MarkCellRequest structure and validation
بررسی شرط برد در سرور
Checking win condition on the server
مدیریت نتایج مختلف MarkCell. هیچکدام، مساوی، برد
Handling different MarkCell outcomes. None, Draw, Win
هندلر OnMarkCell در کلاینت
OnMarkCell handler on the client
به روز رسانی متن نوبت بازیکن فعلی
Updating current player turn text
خط برد
Win line
کد منبع بخش
Section Source Code
مودال پایان دور
EndRound modal
قصد ساختن چه چیزی را داریم
What are we going to make
رابط کاربری مودال
Modal UI
مقداردهی اولیه و نمایش مودال در پایان دور
Initializing and showing the modal on round end
انیمیشن مودال
Modal animation
مدل و هندلر درخواست PlayAgain
PlayAgain request model and handler
هندلر OnPlayAgain
OnPlayAgain handler
پذیرش درخواست بازی دوباره
Accepting play again request
مدیریت OnNewRound
Handling OnNewRound
تسلیم شدن
Surrendering
مدیریت OnSurrender
Handling OnSurrender
خروج
Quitting
کد منبع بخش
Section Source Code
ساخت و استقرار
Build and Deploy
ساخت فایل اجرایی کلاینت
Build client executable
ساخت و ارسال ایمیج Docker به dockerhub
Build and push Docker image to dockerhub
میزبانی سرور در فضای ابری با استفاده از DigitalOcean droplet
Host the server in the cloud using DigitalOcean droplet
نمایش نظرات