Matchdock documentation
Matchdock is a backend for session-based multiplayer games. It does three things:
- Matchmaking - players join a queue from your game and are paired by rating and region.
- Dedicated servers - every match gets its own copy of your server build, started in an isolated container on our fleet and removed when the match ends.
- Results - your server reports the outcome; Matchdock updates ratings, leagues, leaderboards and match history.
You bring a Linux dedicated server build and a game client. Everything in between is a small HTTP API, with a Unity SDK on top.
How a match happens
| Step | Who | What |
|---|---|---|
| 1 | Game client | Signs the device in (POST /auth/device) and joins a queue (POST /matchmaking/join). |
| 2 | Matchdock | Pairs two players, picks a healthy node in their region, reserves a port and starts your server. |
| 3 | Game client | Polls GET /matchmaking/status and receives host, port, a joinToken and its slot. |
| 4 | Your server | Asks Matchdock whether each connecting player belongs to this match, and admits or drops them. |
| 5 | Your server | Reports the result and exits. Ratings and history update; the container is removed. |
Typical timing: about one second from two players queueing to a match, and about one more second until the server is listening.
Where to go next
- Quickstart - the shortest path to a played match.
- Concepts - the vocabulary used everywhere else.
- Unity SDK and Dedicated server - the two integrations you write.
- API reference - if you are not on Unity, or want to see exactly what goes over the wire.
Matchdock is in early access. The EU region is live; other regions are added with the studios that need them.