Skip to main content

Overview

NetCluster is a powerful networking plugin designed for Unreal Engine 5. It allows developers to connect multiple dedicated server processes, each handling different computations. Communication between these servers is made efficient through extended Unreal Network RPC and property synchronization.

Why NetCluster

Many solutions allow the use of multiple dedicated servers to create large game worlds. However, few offer a dynamic structure. Unreal Engine provides a robust mechanism for precise network replication and potential performance enhancements. Unfortunately, only a handful of solutions fully utilize Unreal Engine's capabilities. Moreover, these alternatives often demand significant engineering effort to implement server separation.

Enter NetCluster. With NetCluster, you can handle server/client programming entirely within Unreal Engine, simplifying the creation of a dynamic hosting structure for your expansive game world.

Building Large Worlds with Efficiency

When it comes to hosting expansive game worlds, our aim is to create a dynamic and efficient structure, such as: A dynamic hosting structure

Here's a simplified overview:

  • The world is divided into Areas (A to F).
  • Initially, each Area is hosted by a server. As long as players spread out sparsely, multiple servers can be used for a single area.
  • During runtime, the Dynamic Battlefield, characterized by a high player density, is detected. Players within this field can be dynamically shifted to a dedicated server from an available instance pool.
Customize Your Hosting with NetCluster

NetCluster gives you the flexibility to design your own hosting setup. For example, you can employ servers to host the entire game world, allowing for smooth player transitions. Each server only handles a portion of the players, ensuring optimal performance and scalability.

Key Mechanisms Provided by NetCluster

Proxy Actor

The Proxy Actor plays a vital role in enabling communication between actors on different servers.

It allows an actor to see and interact with nearby counterparts in the game world. Importantly, a proxy actor is lighter on resources compared to its local counterpart. It only requires updates for position and replicated variables.

performance

You can simply modify the OnRep_* callback to optimise your server.

This efficient approach minimizes resource usage while ensuring effective communication.

Player Migration

With this plugin, we can move a player's character to a specific server, ensuring smooth network traffic between the server and client.

Visibility server

It has a specific role to check an actor's visibility between dedicated servers. It guides other servers in creating proxy actors for the communication between servers.