Skip to main content

How to Get Started

The Server Match Life Cycle interface allows a dedicated game server to register its presence on the FACEIT platform. When a group of players want to play a match together, the server may be assigned the match, and have the players connect to play the match. Once the match is finished, the server may report the results back to FACEIT, along with statistics, match recordings, and other such data.

The FACEIT platform currently supports only dedicated game servers which have a persistent IP address, have authority over the state of the match, and are trusted to return genuine match results. Peer-to-peer architectures, or server instances that only exist once a match has been started, are not supported at this time.

Availability

DomainInterface Presence
C++Server SDK v3.0.0+
UnrealServer SDK v3.0.0+
C#Server SDK v5.0.0+

Overview

All matches played on the FACEIT platform follow a standard sequence of steps:

  1. Players join a competition (eg. a matchmaking queue, tournament, or hub), and a group of players are chosen from the queue to play a match together.
  2. The match that the players want to play is assigned to a dedicated server for the game in question.
  3. Players connect to this server and play the match.
  4. Once the match finishes, the server reports the results back to the FACEIT platform.

The Match Life Cycle interface streamlines this process for the game server. Based on a configuration supplied via environment variables, the server is automatically registered with the FACEIT platform, and becomes available to receive requests to host matches. The game itself can call functions to send updates to the FACEIT platform during a match, such as when players or teams within the game score points. The game may also report periodic performance data to the FACEIT platform, so that the health of the server can be monitored remotely.

To get started, it is important to understand the stages that a match may go through throughout the life cycle. The following pages demonstrate the life cycle for a typical match, and detail how to follow this life cycle in C++ and C#.