Relay servers
Understand how Relay servers facilitate message delivery between players without exposing their addresses.
Read time 1 minuteLast updated 14 hours ago
The Relay service facilitates multiplayer support without dedicated game servers by allowing players to communicate with each other through Relay servers. Relay servers deliver messages between connected players using low-latency datagram exchange between game clients, so no two players ever connect directly to each other. Relay servers are ideal for games that use a listen server pattern where one player (the host player) acts as the “server” and the other players (the joining players) act as “clients.” Relay servers act as public endpoints reachable by all players. This design addresses common issues of changing networks and IP addresses, network address translation (NAT), and firewalls between players. Each player can connect to the same IP address and port (the selected Relay server’s IP address and port), and game clients can trust that the connection information remains the same throughout the game session. Through this indirection, players in a game session don't need to know each other's IP address, thereby increasing security and privacy.

A diagram showing how players send all messages through the Relay server
Capacity
The host player’s game client defines the maximum number of players the game session supports when it creates an allocation.Relay server lifecycle
Relay servers are designed as long-running and multi-tenanted connection points. As a result, the Relay server lifecycle is independent of the game session lifecycle. A Relay server disconnects a player if the player connection times out. The default time to live (TTL) before Relay disconnects a client is 10 seconds. The disconnect TTL is 60 seconds when the host in alone (after theBINDCONNECTPINGCLOSE