Mô tả

I will be completely honest with you.

In the past, I have been struggling for months to find good information on internet on how to create and host real dedicated game server. There is hardly any well structured information on this topic. Now that I have a decent understanding on the topic I've decided to share it with you. I really hope this course will help you lay the foundation on your journey in the world of online multiplayer games.


Here is what you should expect in the course:


1. In the first section we are creating very minimal setup of our client-server communication using Unity3D, .NET 6 and the networking library LiteNetLib.


2. After we are done with the proof of concept, or as a like to call it "walking-skeleton" project, we will continue by laying the foundation of a strongly typed client to server communication. We will implement packet serialization and deserialization and will make it so the logic that handles different packets is separate in different packet handlers and it will use strongly typed C# structs.


3. Once the networking layer is done, we will work on two core scenes that are essential for any multiplayer game. Login and Lobby scenes.


4. In the login scene, we will allow the players to identify themselves and register in our server. We will handle user input validation and we will give the user visual feedback in the form of loading animation.


5. In the lobby scene we will create a sorted list of the top 10 players and will show their statuses (online or offline). We will also show the current total players count on the server. In addition to that we will update the list on all clients when a new player joins or an existing one turns offline.


6. After we are done with that, we will enable the players to register in our matchmaking pool and search for opponents by pressing the "Find Opponent" button.


7. Once a match is found, we will redirect the players to the actual game scene, where they will be able to play the classic game of Tic Tac Toe.


8. We will implement beautiful animations and handle corner cases on both server and client-side.


9. After one game session is complete we will allow the players to request to play again and then of course give them the ability to accept or reject the offer.


10. And last but not least, once we are ready with the game client and server, we will deploy our server to a cloud provider and will connect to it from the client.


11. If there is interest in the course I will expand it with additional bonus sections, depending on the needs of the students.


Since this is my first course in Udemy, my presentation skills are far from perfect and I apologize for that, but I still believe that there is valuable information that you can benefit from. I really hope you enjoy it.


Are there any course requirements or prerequisites?

Basic understanding of Unity3D and .NET

A passion and desire to learn more about how to create online multiplayer game.


Who this course is for:

This course is intended for anyone that is interested on creating a custom dedicated server using low-level networking. The course itself is not for complete beginners as do not cover very basic concepts like for example: How to install software or the very basics of C# programming. But I still believe that even if you are beginner you will be able to follow up, because the course is basically a step-by-step guide.

Bạn sẽ học được gì

Create a low-level dedicated game server using LiteNetLib and .net core 6.

Host the server on Digital Ocean, Azure, AWS or any other cloud platform using Docker and Azure Container Instances.

Create a simple TicTacToe game client that will communicate with the authoritative server.

Create a gameplay lobby to help with matchmaking.

Create a strongly typed networking layer that can be reused for any future game.

Yêu cầu

  • We recommend having basic knowledge of C# language and Unity3D.

Nội dung khoá học

9 sections

Introduction

2 lectures
Introduction
03:10
Setting up the developer environment
04:16

Minimal setup of Networking using LiteNetLib

5 lectures
Create new Unity project.
15:26
NetworkClient using LiteNetLib.
10:38
NetworkServer using LiteNetLib
11:06
Client-Server integration
05:14
Section Source Code
00:06

Login Scene

10 lectures
Introduction
03:31
Install custom font
02:28
Login UI
14:23
Login form validation part 1
14:28
Login form validation part 2
04:24
Loading animation
09:13
Login button click
06:01
Serializable network packets
11:12
OnServerConnected event
04:38
Section Source Code
00:06

Server architecture

6 lectures
Dependency Injection
05:32
OnNetworkReceive
05:26
Resolving packets using PacketRegistry
11:22
Resolving handlers using HandlerRegistry and HandleRegisterAttribute
17:03
Dynamic handler registration in DI container
05:19
Section Source Code
00:06

User Authentication

6 lectures
Users repository
21:32
Handling user connections
12:07
Notify clients for auth outcome
15:06
OnAuth packet handler
20:55
OnAuthFail packet handler
08:18
Section Source Code
00:06

Lobby scene

19 lectures
Lobby UI
19:45
Requesting server status
07:53
ServerStatusRequest handler
24:23
Rendering top players part 1
11:24
Rendering top players part 2
07:20
Displaying total players count
03:02
Setup ParrelSync
07:21
Enable Run in Background
02:06
Update other players screens on disconnect
08:08
Logging out
03:46
Find opponent button UI
06:41
Find opponent button onClick and cancelling.
09:48
FindOpponentRequest and CancelFindOpponentRequest models and handlers definition
08:45
Matchmaking part 1
15:05
Matchmaking part 2
06:34
Games Manager
12:41
Raising OnStartGame event.
09:21
OnStartGame packet handler
07:49
Section Source Code
00:06

Game scene

12 lectures
Game UI
21:14
[Client] GameManager
13:12
Current player turn text logic
18:39
Rendering the game Board
14:42
MarkCellRequest and OnMarkCell models and handlers definition
12:45
MarkCellRequest structure and validation
14:30
Checking win condition on the server
23:49
Handling different MarkCell outcomes. None, Draw, Win
08:46
OnMarkCell handler on the client
15:58
Updating current player turn text
08:23
Win line
18:38
Section Source Code
00:06

EndRound modal

12 lectures
What are we going to make
02:28
Modal UI
11:50
Initializing and showing the modal on round end
23:21
Modal animation
03:24
PlayAgain request model and handler
13:38
OnPlayAgain handler
08:38
Accepting play again request
14:14
Handling OnNewRound
13:37
Surrendering
12:36
Handling OnSurrender
05:25
Quitting
20:38
Section Source Code
00:06

Build and Deploy

4 lectures
Build client executable
06:13
Build and push Docker image to dockerhub
08:36
Host the server in the cloud using DigitalOcean droplet
13:25
Course Source Code
00:02

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.