Matchmaking and dedicated servers, without the ops team.
Matchdock pairs your players, starts a dedicated game server for every match in an isolated container, and records the result only your server can report. Upload a build, drop in the SDK, ship.
Built for our own 1v1 mobile game after Unity retired Multiplay hosting.
- 0.0 sTwo players tap PlayPOST /matchmaking/join
- 0.6 sMatch foundSame queue and region, ratings within ±100
- 1.1 sDedicated server is upIsolated container · its own UDP port
- 1.3 sPlayers admittedJoin tokens verified by the server
- 3 minResult accepted3 – 2 · ratings +12 / −12 · server removed
From a zip file to live matches in an afternoon.
Upload your server build
Zip your Linux dedicated server and upload it from the console or CI. We verify it, distribute it to the fleet and keep every version one click away for rollback.
Players queue from your game
The SDK signs the device in and joins a queue. Matchdock pairs players by rating and region, widening the window the longer someone waits - you set the rules per queue.
A server starts for that match
Each match gets a fresh server in a locked-down container. It admits only its own players, reports the result, and disappears. Ratings, history and leaderboards update themselves.
Everything between “Play” and the final whistle.
Matchmaking you can tune
Queues with rating windows that widen over wait time, regions, friend matches, cancel and abandon handled correctly - including both players cancelling at once.
One container per match
No capabilities, read-only filesystem, unprivileged user, hard CPU and memory limits, only the match port exposed. Your build cannot touch anything else, and neither can anyone else’s.
Results nobody can fake
Only the dedicated server can report a result, and reporting is idempotent. Quitters lose by forfeit, crashes cost nobody rating, and every match keeps a full timeline.
Ratings, leagues, leaderboards
Elo with placement matches, league tiers, per-project leaderboards and match history are part of the platform - not another service to build and secure.
A console your team will use
Live sessions, match outcomes with reasons, build uploads with progress, queue editor, API keys, usage charts, and CPU and memory per game server so you can size with data.
Your games stay separate
Every game is its own project: players, matches, leaderboards, builds and keys are isolated. Client keys identify the project; server keys manage it.
A few lines on each side.
The client SDK signs players in, renews expired sessions silently and keeps their place in the queue through a dropped connection. The server SDK reads its session from the environment, never exposes the secret, and retries the result until it is accepted.
- Unity 2021.3 and newer, no third-party dependencies
- Optional Mirror authenticator for the admission handshake
- Plain HTTP API underneath - any engine can integrate
var client = MatchdockUnity.CreateClient(settings);
await client.SignInAsync(MatchdockUnity.DeviceId, MatchdockUnity.PlatformName);
// Queue, wait, and get the server to join - one call.
var ticket = await new Matchmaker(client).FindMatchAsync(
new FindMatchOptions { QueueName = "ranked" }, cancelToken);
Connect(ticket.Host, ticket.Port, ticket.JoinToken);var server = MatchdockUnity.TryCreateServerClient(out var session);
// Only players who belong to this match get in.
bool allowed = await server.AdmitPlayerAsync(userId, joinToken, slot);
// The dedicated server is the only source of truth for results.
await server.SubmitWinAsync(winnerId, loserId, 3, 1, durationSeconds);
Application.Quit(0);Boring on purpose.
We built Matchdock to launch our own game on it, so it had to handle the unglamorous parts: deploys during matches, nodes that vanish, players who pull the plug when they are losing.
- Rolling builds
- New matches start on the new build; matches in progress finish on the one they started with.
- Fleet health
- Nodes report in every few seconds. Unhealthy or draining nodes stop receiving matches; lost nodes fail their sessions cleanly.
- Region aware
- Matches land on a node in the players’ region when one has room, and fall back instead of failing.
- Observable
- Prometheus metrics for queues, waits, outcomes, fleet and API latency, with alerts for the things that matter at 3 a.m.
Bring your multiplayer game.
We are onboarding a small number of studios. Tell us about your game and we will set up a project, keys and a first build with you.