Companies Home Search Profile

Unity Multiplayer: Create and host dedicated game server.

Focused View

Dobromir Ivanov

12:23:19

463 View
  • 1. Introduction.mp4
    03:10
  • 2. Setting up the developer environment.mp4
    04:16
  • 1. Create new Unity project..mp4
    15:26
  • 2. NetworkClient using LiteNetLib..mp4
    10:38
  • 3. NetworkServer using LiteNetLib.mp4
    11:06
  • 4. Client-Server integration.mp4
    05:14
  • 5. Section Source Code.html
  • 1. Introduction.mp4
    03:31
  • 2.1 Inter font from google fonts..html
  • 2.2 Inter.zip
  • 2. Install custom font.mp4
    02:28
  • 3. Login UI.mp4
    14:23
  • 4. Login form validation part 1.mp4
    14:28
  • 5. Login form validation part 2.mp4
    04:24
  • 6.1 o.zip
  • 6. Loading animation.mp4
    09:13
  • 7. Login button click.mp4
    06:01
  • 8. Serializable network packets.mp4
    11:12
  • 9. OnServerConnected event.mp4
    04:38
  • 10. Section Source Code.html
  • 1. Dependency Injection.mp4
    05:32
  • 2. OnNetworkReceive.mp4
    05:26
  • 3. Resolving packets using PacketRegistry.mp4
    11:22
  • 4. Resolving handlers using HandlerRegistry and HandleRegisterAttribute.mp4
    17:03
  • 5. Dynamic handler registration in DI container.mp4
    05:19
  • 6. Section Source Code.html
  • 1. Users repository.mp4
    21:32
  • 2. Handling user connections.mp4
    12:07
  • 3. Notify clients for auth outcome.mp4
    15:06
  • 4. OnAuth packet handler.mp4
    20:55
  • 5. OnAuthFail packet handler.mp4
    08:18
  • 6. Section Source Code.html
  • 1.1 status-offline.zip
  • 1.2 status-online.zip
  • 1. Lobby UI.mp4
    19:45
  • 2. Requesting server status.mp4
    07:53
  • 3. ServerStatusRequest handler.mp4
    24:23
  • 4. Rendering top players part 1.mp4
    11:24
  • 5. Rendering top players part 2.mp4
    07:20
  • 6. Displaying total players count.mp4
    03:02
  • 7. Setup ParrelSync.mp4
    07:21
  • 8. Enable Run in Background.mp4
    02:06
  • 9. Update other players screens on disconnect.mp4
    08:08
  • 10. Logging out.mp4
    03:46
  • 11.1 cancel.zip
  • 11. Find opponent button UI.mp4
    06:41
  • 12. Find opponent button onClick and cancelling..mp4
    09:48
  • 13. FindOpponentRequest and CancelFindOpponentRequest models and handlers definition.mp4
    08:45
  • 14. Matchmaking part 1.mp4
    15:05
  • 15. Matchmaking part 2.mp4
    06:34
  • 16. Games Manager.mp4
    12:41
  • 17. Raising OnStartGame event..mp4
    09:21
  • 18. OnStartGame packet handler.mp4
    07:49
  • 19. Section Source Code.html
  • 1.1 o.zip
  • 1.2 x.zip
  • 1. Game UI.mp4
    21:14
  • 2. [Client] GameManager.mp4
    13:12
  • 3. Current player turn text logic.mp4
    18:39
  • 4. Rendering the game Board.mp4
    14:42
  • 5. MarkCellRequest and OnMarkCell models and handlers definition.mp4
    12:45
  • 6. MarkCellRequest structure and validation.mp4
    14:30
  • 7. Checking win condition on the server.mp4
    23:49
  • 8. Handling different MarkCell outcomes. None, Draw, Win.mp4
    08:46
  • 9. OnMarkCell handler on the client.mp4
    15:58
  • 10. Updating current player turn text.mp4
    08:23
  • 11.1 line-configs.zip
  • 11.2 line.zip
  • 11. Win line.mp4
    18:38
  • 12. Section Source Code.html
  • 1. What are we going to make.mp4
    02:28
  • 2.1 blur.zip
  • 2.2 blur.zip
  • 2. Modal UI.mp4
    11:50
  • 3. Initializing and showing the modal on round end.mp4
    23:21
  • 4. Modal animation.mp4
    03:24
  • 5. PlayAgain request model and handler.mp4
    13:38
  • 6. OnPlayAgain handler.mp4
    08:38
  • 7. Accepting play again request.mp4
    14:14
  • 8. Handling OnNewRound.mp4
    13:37
  • 9. Surrendering.mp4
    12:36
  • 10. Handling OnSurrender.mp4
    05:25
  • 11. Quitting.mp4
    20:38
  • 12. Section Source Code.html
  • 1. Build client executable.mp4
    06:13
  • 2.1 dockerfile.zip
  • 2. Build and push Docker image to dockerhub.mp4
    08:36
  • 3. Host the server in the cloud using DigitalOcean droplet.mp4
    13:25
  • 4. Course Source Code.html
  • Description


    Learn how to create and host dedicated game server using Low-Level networking via LiteNetLib and Unity3D.

    What You'll Learn?


    • 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.

    Who is this for?


  • This course is for intermediate Unity users who want to create their own multiplayer games using low level networking solution.
  • More details


    Description

    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.

    Who this course is for:

    • This course is for intermediate Unity users who want to create their own multiplayer games using low level networking solution.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Dobromir Ivanov
    Dobromir Ivanov
    Instructor's Courses
    Hi, I'm Dobromir Ivanov. I have been working as a principal software engineer on various SaaS products and have a strong background in UI/UX design. In addition to my professional work, I am also an indie game developer and love sharing my knowledge and experience with others. As an instructor on Udemy, I bring a unique blend of technical expertise and creative insight to my courses, which are designed to help students learn about game development and UI/UX design. Whether you're just starting out or looking to take your skills to the next level, I am here to provide the guidance and support you need to succeed.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 68
    • duration 12:23:19
    • Release Date 2023/03/25