Match flow
Hathora provides the infrastructure to deploy, scale, and manage competitive online multiplayer game servers. This page describes how Hathora fits into your existing match flow stack to simplify game server orchestration.
Hathora simplifies matchflow
Hathora takes your game server binary, builds it into a container, and launches it with an exposed host and port that game clients can directly connect to. From there, when running matches:
- Dynamically allocate game sessions with a single API call (
CreateRoom
) - Deploy game clients and server binaries with no SDK integration
- Develop locally without needing Hathora in the matchmaking flow
Match flow steps
Game matches powered by Hathora involve game clients, your matchmaker, Hathora, and regional game servers run by Hathora. This diagram shows the flow from a client coming online to joining a game session hosted on Hathora.

- Game client fetches regional latencies to all Hathora regions
- Game client enters matchmaking
- Matchmaker finds a match and requests a server allocation in a desired region
- Hathora allocates a game server in that region
- Game server registers its connection information with the matchmaker (
host:port
) - Matchmaker distributes connection information to matched clients
- Game client connects to the game server using connection information
- (Not pictured) Once the match completes, the game server sends match end information to matchmaker and exits
Matchmaker recommendations
Matchmaking is a critical component of the matchflow that ensures players are paired into games in a fair, efficient, and scalable way.
We recommend using a dedicated matchmaker and identity system that allows for robust player management and matchmaking logic. Some key features to look for include:
- Player Authentication: Support for systems like Steam, Epic Online Services (EOS), or custom authentication mechanisms.
- Skill-Based and Latency-Based Matching: Ensure players are matched based on skill level and ping for a fair and smooth gameplay experience.
- Player Rate Limiting and Abuse Prevention: Protect your game from bad actors by rate-limiting requests and preventing abuse.
- Player Bans: Enforce rules and manage bans effectively at the matchmaking layer.