/simpl/its_simpl.json. It says which match this server is for, who is playing, and where players connect. The path is the same for ZIP builds and Docker images.
Read it once when your server starts. A server started directly, not by matchmaking, has no match ID or queue ID: match_id and queue_id are null.
Example
Fields
Each player has a
player_id and a lobby_id. team and role are there only when your queue uses teams and roles. state is the player state they sent, or null.
Network ports
Each entry innetwork_ports is one port:
name: the port’s name. Players connect to the port namedgame.host: the address players connect to. It looks like{region}.servers.simpl.gg.external_port: the port number players connect to.internal_port: the port number your server listens on. For thegameport it is the same number as theSIMPL_PORT_GAMEenvironment variable.ip: the server’s IP address. It can benull. Players should usehost.tls_enabled:truemeans Simpl handles encryption for this port. Connect withwss://using the host name. Your game still listens on plain TCP. See Browser games (wss://). It isfalsefor a port without TLS.
host:external_port. For a port with tls_enabled set to true, they connect to wss://host:external_port, and never use ip.
Your server should listen on the port in the SIMPL_PORT_GAME environment variable, and bind UDP to SIMPL_UDP_BIND_ADDRESS and TCP to SIMPL_TCP_BIND_ADDRESS, exactly as given. Don’t type an address yourself, even one that matches today.