Game Engine Integration

Unreal Engine dedicated server hosting

Container-based orchestration. No UE plugin required. Sub-second session starts at global scale.

UE4 & UE5 Linux dedicated server No engine-side SDK Any matchmaker

Gameye orchestrates your Unreal Engine dedicated servers using the same mechanism it uses for any game engine: containers. You build a Linux dedicated server, package it as a Docker image, and Gameye handles the rest — session allocation, placement, health monitoring, and termination. No Unreal-specific plugin, no server-side SDK, no engine coupling.

Your matchmaker calls the Gameye Session API when a match is found. A containerized UE server starts in under 0.5 seconds. Players connect directly. When the session ends, the container is reclaimed. You pay only for capacity reserved — not per-session, not per-GB.

250K concurrent players at launch — Chivalry 2 (UE4), zero downtime
0.5s average time to a running dedicated server session
120M+ game sessions orchestrated since 2019

How integration works

The integration has two parts: packaging your server, and calling the Gameye API from your matchmaker or backend.

Session lifecycle
  1. Players queue — your matchmaker handles party formation and skill-based matching
  2. Match found — matchmaker calls the Gameye Session API to request a dedicated server
  3. Gameye starts your containerized UE server in the nearest available datacenter (~0.5s)
  4. Gameye returns the server IP and port to your matchmaker
  5. Matchmaker delivers connection details to players' clients
  6. Players connect directly to the dedicated server — Gameye is not in the data path
  7. Session ends — Gameye reclaims the container automatically

Packaging your Unreal dedicated server

Gameye runs Linux containers. You need a Linux dedicated server build and a Dockerfile. Here's the minimal setup:

1
Build a Linux dedicated server

In Unreal Editor, package your project for Linux → Server. This produces a headless binary that runs without a display. Supported from UE 4.x and all UE5 releases.

2
Write a Dockerfile

Base your image on a suitable Linux base (Ubuntu 22.04 LTS works well). Copy your server binaries, set the entrypoint to your ServerTarget binary, and expose your game port (typically UDP 7777).

3
Push to a container registry

Build and push your image to any OCI-compatible registry (Docker Hub, GitLab Registry, AWS ECR, GCP Artifact Registry). Gameye pulls from your registry during session allocation.

4
Register your image with Gameye

Provide your image name and registry credentials during onboarding. Gameye pre-pulls your image so it's ready to start immediately — no cold-pull delay at session start.

5
Call the Session API from your matchmaker

When a match is found, POST to the Gameye Session API with your image name, target location, and any launch arguments (map, game mode, max players). You'll receive the server IP and port in under 0.5 seconds.


Matchmaker integrations

Gameye is matchmaker-agnostic. Any system that can make an HTTP call to the Gameye REST API can allocate a session. Off-the-shelf integrations are available for the most common matchmakers used with Unreal Engine games:

Pragma

Native integration via Pragma's matchmaking extension points. Gameye allocates sessions in response to Pragma match events.

Nakama

Native Fleet Manager implementation. Gameye's Nakama Fleet Manager handles the full session lifecycle including player join/leave tracking and backfill.

AWS FlexMatch

Use Gameye as the server allocation layer behind FlexMatch. Keep FlexMatch's matchmaking rules; remove AWS GameLift as the compute dependency.

Idem

Gameye integrates with Idem's matchmaking platform for server allocation, enabling skill-based matching with fast dedicated server delivery.

Custom / in-house

Call the Gameye REST API directly from your own matchmaker, Unreal Game Instance, backend service, or CI/CD pipeline. Full API reference in our docs.


Infrastructure

Gameye runs your UE dedicated servers on performance-optimized bare metal with the latest AMD Ryzen and EPYC CPUs — more headroom for server-side logic and stable tick rates even in CPU-intensive matches. Cloud bursting is available for launch spikes and free weekends.

21 providers

Multiple bare metal and cloud providers in every major region — no single-provider dependency.

200+ datacenters

Europe, North America, South America, Asia-Pacific, Middle East, and Africa — including London, Amsterdam, Frankfurt, Singapore, Tokyo, São Paulo, Mumbai, Dubai, Johannesburg, and more.

DDoS mitigation

All providers in the Gameye network are selected partly for DDoS protection capability and peering quality — relevant for competitive Unreal titles that attract targeted attacks.

Automatic failover

If a provider or datacenter has an issue, new sessions are routed to the next-best option automatically. No manual intervention needed.


Why Gameye for Unreal Engine studios

No UE plugin required

Gameye orchestrates the server process — not the engine. Your dedicated server binary runs as-is. No engine-side integration, no plugin to maintain across UE versions.

Sub-second session starts

0.5s average from API call to running server. Players don't wait between "match found" and being able to connect — critical for competitive games where wait time kills retention.

No egress fees

Bandwidth is included in Gameye's capacity pricing. AWS GameLift, GCP, and Azure charge $0.09–$0.12/GB — for a multiplayer FPS, egress alone can be 40–60% of your infra bill. With Gameye, it's zero.

Proven at launch scale

Chivalry 2 (UE4) launched with 250,000 concurrent players in 30 minutes. Zero downtime. Gameye's container-based approach scales horizontally without pre-warming fleets.

Works with your CI/CD

Push a new Docker image tag → Gameye serves the new build. Roll back by pointing to a previous tag. No GameLift fleet rebuild, no multi-hour deployment cycle.

No lock-in

Your server is a Docker image. If you ever want to move, you take the image with you. No proprietary SDK baked into your binary — nothing that ties you to Gameye at the engine level.


Migrating from AWS GameLift

Many Unreal Engine studios using GameLift are finding that fleet management overhead and egress costs don't scale well. If you're on GameLift, the migration path to Gameye is straightforward:

1 Package your existing UE server binary into a Docker image (if you're not containerized already)
2 Replace GameLift SDK calls with Gameye Session API calls in your matchmaker or backend
3 Remove the GameLift Server SDK from your game server binary entirely — Gameye doesn't need it
4 Push your image, get your API token, and run sessions in sandbox

See the full AWS GameLift migration guide →


Frequently asked questions

Does Gameye support Windows Unreal dedicated servers?

Gameye runs Linux containers. Unreal Engine supports Linux dedicated server builds from UE 4.x and all UE5 versions — cross-compilation from Windows is well-supported via the Epic toolchain. If your dedicated server currently only runs on Windows, cross-compiling for Linux is typically the path forward. Our team can help scope that work during onboarding.

Do I need to remove the GameLift Server SDK from my game server?

Yes, but it's straightforward. Gameye doesn't use the GameLift Server SDK — your server runs as a plain Linux process inside a container, and Gameye communicates session lifecycle events through environment variables and the Session API, not an engine-side SDK. Removing the GameLift SDK is typically a one-time cleanup during migration.

How does my server know when to shut down?

Your game server can shut itself down when the session ends (e.g. when the last player disconnects or the match timer expires). Gameye detects when the process exits and reclaims the container. You can also call the Gameye Session API to terminate a session explicitly from your matchmaker or backend. No GameLift-style "process ready" handshake is required.

Can I pass launch arguments to my Unreal server?

Yes. The Session API accepts an arguments array that's passed directly to your server binary at startup. You can pass map name, game mode, max players, custom config flags, or any other command-line argument your server accepts. Arguments are specified per-session, so different match types can start different server configurations from the same image.

What port does my Unreal server need to expose?

Unreal Engine defaults to UDP port 7777. Expose that port in your Dockerfile and declare it in your Gameye image configuration. You can use any port your server listens on — Gameye will return the correct IP and port combination to your matchmaker after allocation.

Can I run multiple game modes from the same Docker image?

Yes. Since map and game mode are passed as launch arguments at session start, a single Docker image can serve all your game modes. You don't need separate images per mode. This simplifies your CI/CD pipeline and reduces the number of image versions you need to manage.

Get started

Sandbox access in 24 hours.

Request your API token, push your UE server image, and run your first session — no sales call required.