Matchmaker Integration

Gameye + Nakama

Native Fleet Manager implementation. Nakama matchmaking to a running dedicated server in under 0.5 seconds.

Go package Open source Fleet Manager interface

Nakama's Fleet Manager interface lets your backend delegate dedicated server allocation to a specialist platform. Gameye implements that interface natively — the same pattern as the official AWS GameLift integration, but without egress fees, without AWS lock-in, and with sandbox access in 24 hours.

The Fleet Manager handles the full session lifecycle: creation, player join and leave tracking, backfilling (adding players to existing sessions), and termination. Player connections are verified against Gameye's describe-session endpoint. The Fleet Manager can be triggered by Nakama's matchmaker or called directly for manual session creation — it's not matchmaker-only.

How it works
  1. Players queue — Nakama handles party formation and matchmaking logic
  2. Match found — Nakama calls the Gameye Fleet Manager to request a session
  3. Fleet Manager calls Gameye's Session API — server spins up in the closest region
  4. Gameye returns the server IP and port to Nakama (~0.5s average)
  5. Nakama delivers connection details to the matched players' clients
  6. Match starts on a dedicated Gameye-managed server

Installation

The Fleet Manager is a Go package. Install it into your Nakama server module:

Shell
go get github.com/Gameye/nakama-fleetmanager/fleetmanager

What you need

Requires Nakama 3.21+. Five environment variables configure the Fleet Manager:

GAMEYE_API_TOKEN

Request sandbox access at /get-access/. Provisioned within 24 hours — no sales call required.

GAMEYE_API_URL

Your Gameye environment URL. Provided with your API token during onboarding.

GAMEYE_API_IMAGE

Your application or image name in Gameye. Must be published to a Docker registry Gameye pulls from.

GAMEYE_API_IMAGE_VERSION

The specific build version to deploy. Lets you control which server build is in rotation during rollouts.

GAMEYE_API_REGION

Your primary target region. Gameye places sessions across bare metal and cloud globally, with automatic failover.


Why Gameye for Nakama studios

No egress fees

$0.07/vCPU/hr is the full compute cost. Bandwidth is included — no per-GB charges on top of your session costs.

Sub-second allocation

0.5s average server start time. Players don't wait between match found and server ready.

Ping-based placement

Gameye exposes ping data to the Fleet Manager for latency-aware matchmaking. Players get placed on the server closest to them — not just the closest region by geography.

No lock-in

Gameye runs across bare metal and multiple cloud providers. If one region or provider has an issue, sessions fail over automatically.

Drop-in for Hathora studios

If you're migrating from Hathora, Gameye is the only platform with a native Nakama integration. No connector to rebuild.


Known limitations

The Gameye Nakama integration is the right fit for most session-based multiplayer games. A few things worth knowing before you start:

Limited session list querying

Gameye's Session API doesn't paginate, which limits FleetManager#List for studios that need to query large numbers of running sessions programmatically.

No retry queue

Sessions are created immediately on request with no built-in job queue or backpressure. If a session creation fails, retry logic needs to be handled at the application layer.


Frequently asked questions

Is this the official Nakama integration for Gameye?

Yes. The nakama-fleetmanager package is Gameye's own implementation of Nakama's Fleet Manager interface, maintained by the Gameye engineering team. It follows the same pattern as Heroic Labs' official GameLift integration.

Do I need to write any custom integration code?

No. The Fleet Manager package implements the full Nakama interface. You configure it with your API token, environment URL, image name, and region — the session allocation handoff is handled automatically.

Can I run Nakama on Gameye too, or just the game servers?

Gameye orchestrates your dedicated game server containers — the session layer. Nakama itself typically runs on your own infrastructure or a separate hosting provider. The Fleet Manager bridges the two.

What regions does Gameye support?

Gameye places sessions across a global network of bare metal and cloud capacity. Sessions are placed in the region closest to your players, with automatic failover if capacity is unavailable. Contact us for a specific region list.

Get started

Sandbox access in 24 hours.

Request your API token, push your image, and make your first Fleet Manager allocation — all before your next sprint ends.