Skip to main content

Introduction

NetCluster is a robust networking plugin for Unreal Engine 5, built to facilitate the connection of multiple dedicated server processes, each responsible for different computational tasks. By extending Unreal Engine’s native networking capabilities, NetCluster enhances server-to-server communication through efficient RPCs (Remote Procedure Calls) and property synchronization.

Why NetCluster

Unreal Engine is a powerful, open-source platform with a wide array of features for game development. While various clustering solutions exist, they often involve significant engineering costs—either from learning new software stacks or from the financial burden of purchasing these solutions.

Unreal Engine, however, provides an extensive toolset, including:

  • A robust system for handling game objects
  • A powerful reflection system
  • Blueprints for visual scripting
  • A versatile Gameplay Ability System
  • Modular gameplay support
  • Efficient Movement & Collision

These built-in features, along with Unreal Engine’s native network framework, can be directly utilized for clustering, thereby reducing the need for external integrations and minimizing costs. The engine’s homogeneous and continuously improving network framework is especially suited for clustering. NetCluster leverages these strengths, extending Unreal Engine’s network capabilities to deliver an efficient, cost-effective clustering solution.

Features

NetCluster provides essential features for clustering and load balancing, allowing for easy expansion with additional modules. This modularity simplifies verification and integration.

Proxy Actor

The Proxy Actor is essential for enabling communication between actors on different servers. It allows an actor to detect and interact with nearby counterparts across the game world. This lightweight proxy requires updates only for position and replicated variables, optimizing resource usage while maintaining effective communication.

Performance

Customize the OnRep_* callback to optimize your server performance.

Visibility server

The Visibility Server is responsible for determining an actor’s visibility between dedicated servers. It guides other servers in creating Proxy Actors, facilitating server-to-server communication.

Seamless Player Migration

This feature enables seamless player computation transfers between servers. The original server only handles packet routing, ensuring a smooth transition.

Dynamic topology

NetCluster supports dynamic load management, allowing users to add or remove servers at runtime to adapt to changing demands.

Typical usage

NetCluster supports communication exclusively between Unreal Engine dedicated servers. It can be integrates with other frameworks, such as PlayFab, GameLift, Photon, and any MMO framework that supports Unreal Engine, particularly in cases where those frameworks do not offer load balancing or dedicated server communication.

NetCluster accommodates various network topologies, making it suitable for a wide range of use cases.

Offloading Computation

When running a match-based or room-based game, if you identify a performance bottleneck on a dedicated server, NetCluster allows you to offload related computations to other servers as an alternative to optimization. For example, AI bots can be managed by offloading their computational needs, such as processing actor movements or attack strategies, to dedicated AI servers. Unreal Engine's network system can efficiently replicate necessary data to these offload servers, ensuring smooth operation.

Offloading topology

AI servers can handle AI computations, and servers can be dynamically added or removed based on demand.

Expansive World

For hosting expansive game worlds, NetCluster helps you create a dynamic and efficient structure:

A dynamic hosting topology

Here’s a simplified overview:

  • The world is divided into Areas (A to F).
  • Each Area is initially hosted by a server. As long as players remain spread out, multiple servers can manage a single Area.
  • During gameplay, a Dynamic Battlefield with high player density may emerge. Players within this battlefield can be dynamically assigned to a dedicated server from an available pool.
Customize Your Hosting with NetCluster

NetCluster offers the flexibility to design your hosting setup. For instance, you can use servers to manage the entire game world, enabling smooth player transitions. Each server handles only a portion of the players, ensuring optimal performance and scalability.

Space-based topology

NetCluster also supports the creation of a topology similar to the BaseApp and SpaceApp architecture.

Base Space Pattern

In this topology, the base server can be built as a UE application or even a standalone application. This topology is currently in the planning stages.