Glossary of terms

  • The accept mode defines how a Relay server should handle requests from clients trying to connect. The accept mode is always AUTO.
  • An ACCEPTED message is a message type in the Relay Message Protocol specification that indicates a confirmation message sent from a Relay server to a requesting client after a successful connection to a target client.
  • A logical session on a Relay server that multiple players can connect to if the players are properly authenticated with a join code.
  • A unique identifier of a player’s allocation on a Relay server.
  • The entry point for interacting with the Relay service. It exposes a public-facing API that allows players to allocate a slot on a Relay server.
  • A Relay server that best fits the needs of an allocation request.
  • A BIND message is a message type in the Relay Message Protocol specification that indicates a bind request sent from a client to a Relay server.
  • A BIND_RECEIVED message is a message type in the Relay Message Protocol specification that indicates a successful response from the Relay server to a client after receiving a BIND request.
  • A CLOSE message is a message type in the Relay Message Protocol specification that indicates a request from a client to unbind from a Relay server.
  • A CONNECT_REQUEST message is a message type in the Relay Message Protocol specification that indicates a request from a player (the requesting client) to connect to another player (the target client).
  • A connecting player (or joining player) is a player that wants to join a host player for a game session on a Relay server.
  • An opaque data blob that uniquely represents a player's connection to a Relay server. The primary purpose of connection data is for establishing a RELAY message channel between the host player and the connecting players.
  • The connections details represent a player's connection to a Relay server and include the Relay server IP address, the Relay server port, the secret key, and the player's allocation ID.
  • A logical place on a Relay server that a player can connect to.
  • A basic unit of data within a packet-switched network. A datagram typically consists of a header and payload. For more information, see RFC 1594.
  • A game server hosted on a remote machine that multiple players can connect to by using a game client.
  • A game server hosted on a remote machine that multiple players can connect to by using a game client.
  • A DISCONNECT message is a message type in the Relay Message Protocol specification that indicates a request to disconnect two connected players.
  • An ERROR message is a message type in the Relay Message Protocol specification that indicates an error that has occurred.
  • A subsystem of a game that allows players to communicate with one another and to add players as friends.
  • Clients, or game clients, are executable programs that players use to play a game. Clients allow players to connect to other players to participate in a game match in multiplayer games.
  • Clients, or game clients, are executable programs that players use to play a game. Clients allow players to connect to other players to participate in a game match in multiplayer games.
  • In the Relay service, a game session is an active match between multiple players connected through a Relay server. One player is the host player to which the other connecting players communicate using the Relay message protocol.
  • In the Relay service, a game session is an active match between multiple players connected through a Relay server. One player is the host player to which the other connecting players communicate using the Relay message protocol.
  • In the Relay service, a game session is an active match between multiple players connected through a Relay server. One player is the host player to which the other connecting players communicate using the Relay message protocol.
  • An HMAC, or hash-based message authentication code, is a type of message authentication code that uses a cryptographic hash function and keys to authenticate messages.
  • A host player is a player that initiates a game session on a Relay server and generates a join code to share with other players. There is only one host player per game match.
  • An idle timeout disconnects a player from a Relay server when no Relay protocol messages are detected for a specific amount of time. Game clients can prevent an idle timeout by periodically sending a PING message to the Relay server.
  • A simple, randomly generated code that allows connecting players to join a host player's game.
  • A connecting player (or joining player) is a player that wants to join a host player for a game session on a Relay server.
  • An integer that indicates the maximum number of peer connections a client allows to communicate with them. This parameter must be less than or equal to 100.
  • An integer that indicates the maximum number of peer connections a client allows to communicate with them. This parameter must be less than or equal to 100.
  • An integer that indicates the maximum number of peer connections a client allows to communicate with them. This parameter must be less than or equal to 100.
  • Multi-tenanted refers to software architecture in which a single instance of a process runs on a server and serves multiple tenants. Relay servers are multi-tenanted.
  • A nonce, or cryptographic nonce, is an incrementing number that is used in cryptographic communication to ensure previous messages cannot be resent arbitrarily. Each subsequent message should increment the nonce. This way, if a bad actor tries to use a previous message in a replay attack, the service can reject the message. In the Relay service, you use nonces as part of the HMAC creation process.
  • Out-of-band communication is communication that occurs outside of the game client. Examples of out-of-band communication include third-party chat services and spoken word.
  • A PING message indicates a ping message sent between a client and a Relay server (both directions) to keep the connection alive.
  • A player is an end-user connected to a game client who wants to play in a game match. In Relay, each game match has a single host player and one or more connecting players.
  • A unique ID identifying a player connected to a Relay server. Since players can only communicate with other players within the same session, player IDs are not globally unique.
  • A unique ID identifying a player connected to a Relay server. Since players can only communicate with other players within the same session, player IDs are not globally unique.
  • The IPv4 IP address of the Relay server
  • The IPv4 IP address of the Relay server
  • A RELAY message is a message type in the Relay Message Protocol specification that indicates a request to send a message between two players (clients).
  • A custom datagram protocol that provides message types for communication between Relay servers, host players, and connecting players.
  • The port of the Relay server.
  • A server within the Relay service that relays messages between multiple players. Relay servers ensure that game clients do not need to keep track of each player's network information.
  • A replay attack, or playback attack, is a type of network attack in which valid data transmissions are maliciously repeated or delayed.
  • A requesting client is the game client of a connecting player—the requesting client requests to join a target client on a Relay server for a game session.
  • A shared secret key is a key generated by the Relay server for a game client to use to sign an HMAC that contains the connection data.
  • A shared secret key is a key generated by the Relay server for a game client to use to sign an HMAC that contains the connection data.
  • The total number of open connection slots for new players on a Relay server.
  • The total number of open connection slots for new players on a Relay server.
  • A target client is the game client of a host player—the target client is the target of a request from a requesting client to join a game session on a Relay server.
  • A game in which players take turns making moves instead of making moves or decisions simultaneously. Turn-based games have less need for low latency communication than real-time games.
  • The unique identifier of your Unity project.
  • The unique identifier of your Unity project.
  • The unique identifier of your Unity project.
  • A modern networking library built for the Unity game engine to abstract networking. UTP allows developers to focus on the game rather than on low-level protocols and networking frameworks.
  • A modern networking library built for the Unity game engine to abstract networking. UTP allows developers to focus on the game rather than on low-level protocols and networking frameworks.