Strix Architecture Overview

Strix is built out of several components:

  1. Strix Server: The server-side application.

  2. Strix Cloud: The cloud solution to use Strix game servers as a service, accessible through the Strix Cloud web interface.

  3. Strix Net/Strix Client: The client-side libraries that implements basic Strix functionality.

  4. Strix SDKs: Plugins to provide tailored Strix functionality to specific game engines.

The Strix Server and the Strix Cloud

After you have created a new application on the Strix Cloud, you can add clusters of servers. Clusters are groups of room servers connected to a central Master Server.

Master Servers

Servers in Strix can be of two types: Master and Room. Master servers contain the current information of each connected Room Server, and the rooms on those servers. The master acts as the entry point for a given cluster; clients can perform search operations on it to look for specific rooms or Room Servers.

Room Servers

Room Servers run rooms that players can join. They are responsible for routing communications between members in rooms and holding the information of all the room members and room properties. Room Servers are capable of containing many different rooms. The creation/deletion of rooms is handled by your application, and Room Servers can be configured to limit room counts or messages per second through the Strix Cloud interface.

Rather than running an instance of a given map or game, Room Servers maintain lists of players and handle messages between them. Every individual client has their own game state, which is updated by different messages from other players, routed through the servers. Strix servers handle permissions, connections, routing, and room/client property management.

Note

Master Servers can also be Room Servers, which is useful for simple test clusters.

Strix Net/Strix Client

The client-side libraries of Strix to provide basic Strix functionality. These libraries send and receive messages to and from the Strix servers. They also include implementation of some specific functionality for in-game features such as matchmaking, movement interpolation, and object replication.

Strix SDKs

Strix provides separate SDKs for specific game engines so that developing with Strix is simple and easy, and it fits into your existing development process without the need to learn any new tools or scripting/programming languages. The Strix Unreal SDK provides its functionalities primarily as Blueprint functions and Actor components, with C++ APIs available for advanced usage.