SmartFoxServer 2X Clustering Introduction

The Overcast service offers the ability to deploy a SmartFoxServer 2X Cluster, adding horizontal scalability to your multiplayer games and applications.

The system is entirely dynamic offering load balancing and server orchestration out of the box, while striving to keep the management and deployment processes as simple as possible.

SmartFoxServer 2X Cluster can be beneficial not only for large scale projects but also for small and medium ones, since it allows to fine tune the size and number of cluster nodes and dynamically react to higher traffic demands.

IMPORTANT: This documentation requires some prior experience with SmartFoxServer client and server development.

If you have never used SmartFoxServer 2X before or you're not familiar with SmartFoxServer development we strongly recommend to learn those skills before continuing with this documentation.

Objectives

The Overcast Cluster allows SmartFoxServer developers to apply their prior SFS2X knowledge in a cloud-based, clustered environment, using the same tools they already know:

  • All major features are available in the cluster just like in standalone mode.
  • Most server-side Extensions can be ported from SFS2X to the Overcast Cluster without changes.
  • All our client-side API officially support the Overcast Cluster via a set of new requests and events.
  • The SmartFoxServer 2X AdminTool has been extended to provide new tools for managing the cluster, Extension deployment and more.

Overview

At its core a SmartFoxServer Cluster consists of two types of nodes:

  • Lobby Node: acts as the main entry point for all players and provides match-making, load balancing and node orchestration behind the scenes.
  • Game Node(s): handle all the active games and can be dynamically (or manually) added and removed from the cluster.

These nodes work together as a whole providing many essential features, such as:

  • Automatic Load Balancing.
  • Automatic scaling via configurable ScaleUp/ScaleDown triggers.
  • Advanced cluster-wide match-making.
  • Advanced monitoring and management via SFS2X AdminTool.
  • Extended SFS2X client side API with new events and requests.

In addition to these essential nodes one or more Database Servers can be integrated for persistence and centralized application state.