Integration requirements

Note: The content on this page pertains to Game Server Hosting (Clanforge). If you’re using Game Server Hosting (Multiplay), see the Game Server Hosting (Multiplay) documentation.

The tables below contain the requirements of your game server binary for integrating with the Game Server Hosting orchestration platform. If you have questions about specific requirements or exceptions when integrating with the Game Server Hosting orchestration platform, contact the Multiplayer support team.

Want to make the most of Game Server Hosting's services? See Integration best practices.

Supported operating systems

Requirement Description
Operating System

Game Server Hosting officially supports:

  • Windows Server 2012 R2
  • Windows Server 2019
  • Ubuntu 18.04

Minimum requirements

Requirement Description Exceptions
Multiple Instances

Your binary process must support running multiple instances of the process on the same machine.

No exceptions

Bindable Port

Game Server Hosting generates port numbers dynamically per server instance (with an offset to ensure there is no port conflict on server startup).

To leverage this functionality, your server instance must support configurable ports (for example, accept the port number via a command-line argument).

Game Server Hosting recommends using a command-line parameter such as -PORT= or -Port=. To learn more about bindable ports, see Why does Game Server Hosting require bindable ports?.

No exceptions

Bindable IP Address

All engines must bind to 0.0.0.0.

No exceptions.

Logs Directory

Your server should generate logs in a directory relative to the server instance root directory where the executable is. If you’re using Unreal Engine, the logs directory should be relative to the Saved directory. Game Server Hosting exposes files generated in this directory on your Game Server Hosting panel for each server instance.

For log retention, Game Server Hosting also recommends setting up a log rotation within the server code to ensure that you have a history of logs without it overwriting a single file continuously. This helps with debugging historic issues.

Game Server Hosting recommends using a command-line parameter such as -log= or -LogPath=. To learn more about exposed files and directories, see Game Server Hosting (Clanforge) exposed directories.

You can omit the logs directory requirement if you don’t plan on accessing your server logs or crash dumps.

Advanced hosting

In addition to the minimum requirements above, this table contains additional requirements for advanced hosting (Multiplay’s managed service).

Requirement Description Exceptions
Query Protocol

Game Server Hosting supports game server query protocols to collect analytic data on your game servers. Game Server Hosting provides an offset of +10 from the main port and +100 from other query ports to prevent any conflicts. Leveraging query port functionality enables us to provide you with real-time analytics to better support your game. Game Server Hosting recommends specifying the query port via a command-line argument such as -QueryPort=. To learn more about game server query protocols, see Why do I need a game server query protocol?.

No exceptions.

Configuration Directory

If your game server accepts additional configuration options through a configuration file, you must supply Game Server Hosting with a way to dynamically change where your server looks for this file.

Game Server Hosting recommends using a command-line parameter such as -Homedir=, -Userdir= or -Config=.

The configuration directory requirement only applies if your server looks for additional arguments in a configuration file.

server.json

To use the allocation system, you must enable a command-line argument for specifying a file that contains the allocation UUID (supplied by your matchmaker). This can be read either by an event trigger set (which is preferred) or by an intermittent check from the process (which can lead to racing conditions).

Game Server Hosting recommends using a command-line parameter such as -serverjson=. To learn more about the server.json file, see Server.json file.

You can omit the server.json requirement if you opt to use Game Server Hosting's unmanaged services.