finds.dev← search

// the find

googleforgames/open-match

★ 3,410 · Go · Apache-2.0 · updated May 2026

Flexible, extensible, and scalable video game matchmaking.

Open Match is a Kubernetes-native matchmaking framework from Google that handles the plumbing — ticket storage, query filtering, synchronization cycles — while you plug in your own match function and evaluator logic. It's aimed at game studios that want to run matchmaking at scale without building the state management and service coordination from scratch. Redis is the backing store for tickets.

The separation between framework responsibilities (ticket lifecycle, query cache, synchronization windows) and game logic (match function, evaluator) is genuinely clean — you write a gRPC service implementing one interface and the framework calls it. The synchronizer component that batches match function runs into evaluation cycles is a non-obvious but important design decision that prevents proposal collisions at scale. Telemetry is first-class: Prometheus, Stackdriver, Jaeger, and Grafana dashboards ship out of the box. The backfill API for filling incomplete matches as players trickle in is a real feature that most homegrown matchmakers skip.

Kubernetes-only is a genuine constraint — there's no path to running this outside K8s without significant work, which rules it out for studios on bare metal or simpler hosting. The last major activity appears to be maintenance-level; the repo hasn't shipped a stable 1.0 and the changelog suggests Google is not actively driving new features. Redis as the sole state store means your ticket data lives in memory with no durable fallback — a Redis restart drops all pending tickets, and this is documented but easy to miss when you're prototyping. The match function and evaluator are separate gRPC services you deploy yourself, so 'just run it' requires standing up four or five services before you see a single match.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →