Skip to content

Migrate from Hathora to Gameye

Hathora shuts down May 5th, 2026. This guide covers everything you need to move your game servers to Gameye before that deadline — including matchmaker integrations, image migration, and first session validation.

You will need:

  • A Gameye account — sandbox access is provisioned within 24 hours of request
  • Your game server packaged as a Docker image (all Hathora deployments already meet this requirement)
  • Access to your matchmaker configuration (Pragma, Nakama, PlayFab, FlexMatch, or custom)

Gameye pulls server images from Docker Hub. If you’re currently using Hathora’s registry, re-tag and push your existing image:

Terminal window
docker pull your-hathora-image:latest
docker tag your-hathora-image:latest yourdockerhubuser/your-game-server:latest
docker push yourdockerhubuser/your-game-server:latest

No changes to the image itself are required. Gameye runs any containerised Linux game server.

Step 2: Create your organisation and upload your image

Section titled “Step 2: Create your organisation and upload your image”

Log into the Gameye dashboard and:

  1. Create your organisation
  2. Add your Docker Hub image reference
  3. Configure your exposed port (the port your game server listens on)

Gameye’s session API is a simple HTTP interface. If you’ve used Hathora’s API, the pattern is familiar:

Terminal window
curl -X POST https://api.gameye.com/v2/session \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "test-session-001",
"image": "yourdockerhubuser/your-game-server:latest",
"region": "eu-west"
}'

The response returns an ip and port your clients can connect to directly.


Gameye is an official Capacity Provider in Pragma’s codebase. Update your Pragma configuration to point at Gameye instead of Hathora:

{
"capacityProvider": "gameye",
"gameyeApiKey": "YOUR_GAMEYE_API_KEY",
"gameyeImage": "yourdockerhubuser/your-game-server:latest"
}

No custom Capacity Provider code is required. This is the only step needed for Pragma migration.

Gameye provides a native Nakama integration. In your Nakama matchmaker module, replace Hathora’s session creation call with Gameye’s:

const response = await fetch('https://api.gameye.com/v2/session', {
method: 'POST',
headers: {
'Authorization': `Bearer ${GAMEYE_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
sessionId: matchId,
image: 'yourdockerhubuser/your-game-server:latest',
region: preferredRegion,
}),
});
const { ip, port } = await response.json();

See Integrate a matchmaker for the full connection guide.

See the PlayFab integration guide.

See the FlexMatch integration guide.


Run through this checklist before Hathora’s shutdown date:

  • Image pushes successfully to Docker Hub
  • Test session allocates in your target region
  • Server IP and port returned correctly from API
  • Matchmaker successfully triggers a Gameye session
  • Client connects to Gameye-provisioned server
  • Session terminates cleanly after match ends

Gameye charges $0.07 per vCPU per hour. Egress is included — there is no separate bandwidth line item. You can forecast your costs before speaking to anyone.


Contact support@gameye.com or reach out via the dashboard. Gameye’s team has run 120M+ sessions and can help you validate your migration setup before the deadline.