Developing a Game Client¶
Strix Cloud is a cloud solution for online games. It works in combination with a game client developed separately. STRIX provides easy-to-use SDKs as game engine plugins, and you can develop online features of games smoothly.
STRIX’s SDK is provided for each of the game engines. Consult the following SDK documentation for development of online game clients:
If you use Unity as your game engine: Strix Unity SDK User’s Guide
If you use Unreal Engine as your game engine: Strix Unreal SDK User’s Guide
Information to be shared with game clients¶
Strix Cloud assigns several configuration values automatically, and some of them need to be shared with your game clients. A typical workflow is that you check your Strix Cloud Application Dashboard for their values and embed them into your game clients in your development process.
Specifically, you need to share Application ID and Master hostname with your game clients.
Application ID¶
Strix Cloud assigns an application ID automatically when you define your application. It is different from your application name. Both STRIX’s SDK and STRIX server use the application ID to make sure they are talking to appropriate peers.
You can check your application ID on Information Page on Applications Dashboard.
When using Strix Unity SDK, you set your application ID onto applicationId property of the StrixNetwork singleton upon initialization.
Otherwise, if you are using StrixConnectUI prefab, the ID should be set to ApplicationId property of StrixConnectGUI script in the StrixConnectPanel object.
When using Unreal SDK, you pass your application ID to InitializeStrixNetwork or InitializeStrixNetworkWithHttpAccessToken Blueprint function through the application Id argument.
The application ID will be embedded in a client. Please be very careful to avoid its leakage.
Master hostname¶
Creating a cluster will automatically add a master server, then it automatically assigns a DNS hostname to the master server. It is called master hostname. STRIX’s SDKs connect to the master server using the master hostname.
You can check the master hostname of each of your clusters on Servers Page on Applications Dashboard. Or you can check it on Information Page, too.
When using Strix Unity SDK, you pass the master hostname on the host argument of ConnectMasterServer() method of the StrixNetwork singleton on its invocation.
Otherwise, if you are using StrixConnectUI prefab, the hostname should be set to Host property of StrixConnectGUI script in the StrixConnectPanel object.
Note that, if you use WSS (Secure WebSocket) communication protocol, you specify a URL-style string in a form of “wss://<master hostname>:9122” to host for ConnectMasterServer or Host for StrixConnectGUI rather than the master hostname alone.
When using Unreal SDK, you pass the master hostname on the Host argument of ConnectToMasterServer Blueprint function upon calling it.
Note
For Strix SDK to connect to the master server, it requires a port number in addition to the master hostname. The port number of a master server in Strix Cloud is 9122 regardless of the communication protocol.
Note
Strix Cloud assigns an application ID and a master hostname automatically when you create your application and a cluster. Users can’t change these values. Once you deleted an application or a cluster, you can’t get the same values again, even if you try to recreate an application or a cluster with an identical set of settings.
If the application ID or a master hostname changes in a middle of a development process, you will need to embed the new values in your game clients. Please be careful never to delete your application and/or clusters unintentionally.
Note
There will be a requirement to run a set of servers for development environment and another for operation environment at the same time, especially if you are developing a next version while you are servicing for the released version. To do so, it is recommended to embed application IDs and master hostnames for both of development and operation environments in your client and to switch between them in some way.