Skip to main content

Server Environment Variables

The Match Life Cycle interface is configured on the game server machine by setting configuration values in environment variables. These values control which features of the Match Life Cycle interface are enabled, and provide FACEIT with information such as the server's location and IP address.

info

Configuration values may be set in code - however, this is recommended only for ease of development and testing, and should not be used in a production environment. Any configuration values set in environment variables will override those set in code.

The sections below describe the available configuration options. Advanced options that are only relevant for developers have been omitted.

Server Identity

Variable NameDescriptionDefault Value
FACEIT_GAME_SERVER_VERSIONUser-defined string representing the version of the game that is using the plugin. This should be changed each time the game is updated.Empty
FACEIT_GAMEFACEIT-specific ID of the game that is using the plugin. This must correspond to the ID of the game as configured on the FACEIT Game Studio.Empty
FACEIT_CUSTOM_IDUser-defined ID string representing the machine that the game server is running on.Auto-generated if left blank
FACEIT_BOX_IDNumerical ID representing the physical hardware unit that the game server is running on. Used for load balancing.Auto-generated if left blank
FACEIT_SERVER_LOCATIONSpecific geographical location in which the server machine is based, eg. London. This is not the same as the server's region, which is the broad area to which the server caters (eg. EU).Empty
FACEIT_SERVER_PROVIDERName of the company or service which hosts the server. Provides context for the FACEIT backend.Empty
FACEIT_SERVER_REGIONBroad geographical area to which the server caters, eg. EU. This is not the same as the server's location, which is more specific (eg. London).Empty

Server Connectivity

Variable NameDescriptionDefault Value
FACEIT_HTTPS_CERTIFICATE_DIRECTORY_PATHPath on disk to where the server's HTTPS certificates reside. These certificates are required in order for Facebot to make requests to the game server. Please contact FACEIT Support if you need help generating or setting up HTTPS certificates.Empty
FACEIT_SERVER_PLUGIN_PUBLIC_IPIP address to which players can connect to the game server to play a match.Empty
FACEIT_SERVER_PLUGIN_PRIVATE_IPIP address to which Facebot sends match configuration and cancellation requests.Empty
FACEIT_SERVER_PLUGIN_HTTPS_PORTPort on which secure HTTPS requests can be made from FACEIT to the server.Empty
FACEIT_SERVER_PLUGIN_HTTPS_NAT_PORTExternal port on which secure HTTPS requests can be made from FACEIT to the server, if the server is behind a NAT router. It is the responsibility of the NAT router to forward these requests to the game server on its local HTTPS port (above).Empty
FACEIT_SERVER_PLUGIN_INCOMING_TOKENToken used to authenticate all inbound HTTPS requests to the server.Empty

FACEIT APIs

Variable NameDescriptionDefault Value
FACEIT_USE_FACEBOTIf true, the server will use Facebot for server provisioning. If false, the server expects the game developer to have set up their own server provisioning service, and will send events directly to the FACEIT Games API rather than via Facebot.True
FACEIT_FACEBOT_WORKER_TOKENIf using Facebot, this token will be sent on all requests made to the server's Facebot worker. If this token does not match what Facebot expects, the requests will be rejected. FACEIT will provide you with this token.Empty
FACEIT_GSR_API_TOKENIf using Facebot, this is the token used on all requests to the FACEIT Game Server Registry API. The token must match what the API expects, or the request will be rejected. If the server is not using Facebot, this token is not used. FACEIT will provide you with this token.Empty
FACEIT_GAMES_API_TOKENIf not using Facebot, this is the token used on all requests to the FACEIT Games API. The token must match what the API expects, or the request will be rejected. If the server is using Facebot, this token is not used. FACEIT will provide you with this token.Empty

Metrics

Variable NameDescriptionDefault Value
FACEIT_COLLECT_METRICSIf true, the server plugin will attempt to collect server and player metrics data at a regular interval while a match is in play. If false, no metrics collection will take place.True

Logging

Variable NameDescriptionDefault Value
FACEIT_SERVER_PLUGIN_LOGLEVELSpecifies the maximum verbosity of the logs emitted from the plugin. Values can be Error, Warning, Info, Debug or VerboseDebug.Info
FACEIT_LOG_SENSITIVE_INFORMATIONIf true, sensitive information such as request tokens are printed to the logs. If false, this information is obfuscated.True

Required Configuration

The following configuration items for the Match Life Cycle interface are always required, regardless of whether the server chooses to use Facebot or not:

  • FACEIT_GAME_SERVER_VERSION
  • FACEIT_GAME
  • FACEIT_HTTPS_CERTIFICATE_DIRECTORY_PATH
  • FACEIT_SERVER_PLUGIN_HTTPS_PORT
  • FACEIT_SERVER_PLUGIN_INCOMING_TOKEN

If FACEIT_USE_FACEBOT is set to true, the following configuration items are also required:

  • FACEIT_FACEBOT_WORKER_TOKEN
  • FACEIT_GSR_API_TOKEN
  • FACEIT_SERVER_PLUGIN_PRIVATE_IP
  • FACEIT_SERVER_PROVIDER
  • FACEIT_CUSTOM_ID (auto-generated if left blank)
  • FACEIT_BOX_ID (auto-generated if left blank)

If instead FACEIT_USE_FACEBOT is set to false, the following configuration items are required:

  • FACEIT_GAMES_API_TOKEN