This guide shows you how to keep Epic Online Services (EOS) lobbies in your Unreal Engine game and start an Edgegap dedicated game server for each match: when the lobby is ready, your backend deploys a server near the players, and the lobby hands its address to every member.
Once your game server is containerized, Edgegap deploys it worldwide to 615+ Edge Cloud locations (on-demand) from a simple API call and billed exclusively on usage: no entire server to rent, provision or keep running between matches. For persistent servers of reserved capacity, Edgegap offers Private Fleets.
EOS groups the players; Edgegap hosts the match. Between them sits one small service on your backend, because starting a server needs your Edgegap API token, which never goes in a game client.
This guide covers:
Preparing a working Edgegap app version for your Unreal game
Connecting your coding agent to Edgegap (optional)
Setting up your EOS lobby
Adding a deploy service to your backend
Requesting a server when the lobby is ready
Sharing the server with the lobby, and ending the match
Testing with two players
You can do it two ways, and mix them:
With a coding agent. Connect Claude Code, Cursor or another agent to the Edgegap MCP server and its agent skills. The agent writes the deploy service and the lobby code, and checks your app version and deployments. You handle your EOS and Edgegap dashboards, the secrets, and playtest.
By hand. Every step below also works without an agent.
Prefer a hosted matchmaker with no backend to run? See Unreal Matchmaking.
1. Before you start
A free Edgegap account. Verify your email. No credit card is needed to test.
A working Edgegap app version of your Unreal game server: a server you deployed and joined at least once. Your backend deploys that version for every match, so it needs a functional, containerized game server to work end to end. If you don't have one yet, use our guide: Unreal Engine. Note its application name, version name and port name (usually
gameport).EOS lobbies in your game: an Epic Developer Portal product with the Lobbies interface, and the EOS SDK or Unreal's EOS Online Subsystem in your project.
A backend you control, for the deploy service: your existing game backend, or a small serverless function.
An Edgegap API token, from Dashboard → User Settings → Tokens, stored in your backend's secret manager. It is organization-wide, so never put it in your game client, your game server, your project files or a chat.
2. Connect your coding agent to Edgegap
Skip this step if you're doing everything by hand.
The Edgegap MCP server lets your agent check your apps and versions, deploy test servers and read their logs on your account. The edgegap-deployments-api agent skill gives it the tested rules for backends that start Edgegap servers: where the token lives, placing servers near players, webhooks, retries and cleanup.
Claude Code (run in your own terminal, so the token never passes through the chat):
claude mcp add --transport http edgegap https://mcp.edgegap.dev/mcp -H "Authorization: token YOUR_EDGEGAP_API_TOKEN" --scope user
Then install the skills: /plugin marketplace add edgegap/edgegap-agent-skills, then /plugin install edgegap@edgegap. Restart the session.
Cursor, VS Code and other clients that send headers: add https://mcp.edgegap.dev/mcp with the header Authorization: token YOUR_EDGEGAP_API_TOKEN, and install the skills with npx skills add edgegap/edgegap-agent-skills --skill "*".
Claude Desktop: custom connectors can't send the header, so use the local server instead (Node 18+): { "mcpServers": { "edgegap": { "command": "npx", "args": ["-y", "@edgegap/mcp"] } } }. It asks for the token on first use.
Check it works:
"List my Edgegap apps and their versions, with each version's ports."
3. Set up your EOS lobby
The lobby carries the match. Two lobby attributes are enough: the server's address and its port. Everything else stays as your game already has it.
Members join as today, through your lobby UI or Unreal's EOS Online Subsystem.
Each player checks in with your backend once when they join (for example when they sign in), with their EOS user ID. Your backend records the public IP it sees on that request. Edgegap uses those IPs to start the server near all the players, and players never have to report their own IP.
Add two lobby attributes, empty for now, for example
ServerAddressandServerPort. Only the lobby owner can set them; every member gets notified when they change.
4. Add a deploy service to your backend
Your backend starts the server with one call: POST https://api.edgegap.com/v2/deployments, with the header Authorization: token <your API token>, and a body with:
applicationandversion: your Edgegap app and the version to run, read from your config, never "whatever is newest".users: each player's public IP, as{"user_type": "ip_address", "user_data": {"ip_address": "..."}}. Edgegap picks the location with the best ping for the whole group.tags: for examplelobby-<id>, so you can find the server later.webhook_on_ready(andwebhook_on_error): your backend's URL, with an unguessable per-lobby token in it. Edgegap calls it with the server'sfqdn,public_ipandports.gameport.externalonce it starts.
Edgegap answers 202 with a request_id: store it with the lobby right away. There's no idempotency key, so if the call timed out, look for a deployment tagged lobby-<id> before deploying again. A 422 means no server could be allocated yet: retry with backoff. Webhooks aren't retried, so if none arrives in time, check GET https://api.edgegap.com/v1/status/<request_id> (at most 20 requests per second for your whole organization).
With your agent:
"Load the edgegap-deployments-api skill and add an Edgegap deploy service to my backend: an endpoint the EOS lobby owner calls with the lobby ID and member EOS IDs, which checks the caller is the lobby owner, looks up the members' IPs, deploys my app version with POST /v2/deployments (tags, ready and error webhooks), stores the request_id, and exposes the server's address and external port once ready. Read the API token from my secret manager. Add a periodic cleanup that stops orphaned deployments by exact ID."
Prototype shortcut, not for release: Edgegap's docs also show the lobby owner calling the API directly from the game. That puts your organization-wide API token inside your game build, where anyone can extract it. Use it only on your own machine.
5. Request a server when the lobby is ready
When the lobby owner starts the match:
The lobby owner's game calls your deploy service with the lobby ID and the members' EOS IDs, authenticated as that player (for example with their EOS ID token).
Your service deploys the server and returns right away. The server takes a few seconds to start.
The lobby owner's game waits for the address: it checks your service every few seconds, or your service notifies it, until the ready webhook has arrived.
Show players a "starting server" state meanwhile, and a retry if your service reports an error.
6. Share the server with the lobby, and end the match
The lobby owner sets
ServerAddressandServerPorton the lobby. EOS notifies every member.Each member connects to that address and port (
open <address>:<port>, orClientTravel). Ready means the container started; the game can need up to a minute more to load, so retry the connection every second for a while.When the match ends, the lobby owner clears both attributes, and members leave the server. The server stops its own deployment: on match end, it calls the
ARBITRIUM_DELETE_URLEdgegap gives every deployment, withARBITRIUM_DELETE_TOKEN. No API token needed.
Rematch with the same players? The lobby owner requests a new server, and the flow starts again.
Your deploy service stops anything left over: a lobby that broke up before the match started, or a server that never ended. Stop those by exact request_id (DELETE https://api.edgegap.com/v1/stop/<request_id>; a 410 means it already stopped), never with broad filters.
7. Test with two players
Make sure no test deployment is still running: the free tier runs one deployment at a time.
Launch two clients, sign both in to EOS, and join the same lobby.
Start the match as the lobby owner. Your service deploys the server; in the Edgegap dashboard, the deployment appears tagged with the lobby, in a location near you.
Both clients get the lobby update and connect to the same server.
End the match: the attributes clear, the server stops itself, and it disappears from the dashboard.
If the lobby gets an address but nobody can connect, it's the server, not the lobby: deploy your version by hand and join it with open <address>:<port>.
Going live? Ask your agent to run the edgegap-launch skill's checklist: version rollouts, restart policy, maximum duration, cost control. Prefer a hosted matchmaker with no backend? See Unreal Matchmaking.
Stuck? Ask your agent to load edgegap-troubleshoot, or ask our team and other studios on the Edgegap Discord.
Frequently Asked Questions
Common questions about starting Edgegap dedicated servers from Epic Online Services lobbies.
Can I use Epic Online Services lobbies with Edgegap dedicated servers?
Yes. Keep your EOS lobbies, and when the lobby owner starts the match, a small service on your backend deploys an Edgegap server near the players. The lobby owner shares its address through lobby attributes, and every member connects.
Why do I need a backend to start Edgegap servers from EOS lobbies?
Starting a server needs your Edgegap API token, which gives access to your whole Edgegap organization. In a game client, anyone could extract it. A backend service keeps it secret and can check who's asking.
How does Edgegap choose the server location for an EOS lobby?
From the players' public IP addresses, which your backend records when each player checks in. Edgegap picks the location with the best ping for the whole group.
How do I stop the Edgegap server when the EOS match ends?
The server stops its own deployment with the delete URL and token Edgegap injects into every deployment, with no API token needed. Your backend also stops leftovers by their exact request ID.
Does Edgegap work with EOS for both Unreal Engine and other engines?
This guide uses Unreal Engine, but the flow only needs EOS lobby attributes and a backend that calls Edgegap's API, so it works the same with the EOS SDK in other engines.

Clients
Learn more from clients who integrated Edgegap
31 case studies are available from studios that moved to Edgegap from another platform.

A Flawless Global Launch for Rivals of Aether 2
Aether Studios
Learn how Aether Studios quickly added Edgegap and delivered flawless launch & post-launch to their community.
Case Study

Overcome Latency Introduced by VR’s use of WiFi in Competitive Multiplayer
Halfbrick Studios
Discover how Halfbrick successfully launched & maintains a multiplayer-focused Early Access on META Quest's VR platform.
Case Study

MENA’s Social App Adds Online Games
WOLF
Learn how the highly popular MENA-region social app added matchmaking & multiplayer games orchestration easily to WOLF Qanawat.
Case Study

Hybrid Orchestration Keeps Kickoff Tactics Ready for Any Traffic
Birch Games
How hybrid orchestration helped Birch Games handle traffic, pairing egress-free Fleets with the regionless cloud.
Case Study

7 Days Blood Moons
The Fun Pimps & iLLOGIKA
Learn how Illogika dramatically reduced server costs & ensured the online experience the 7 Days to Die franchise expects.
Case Study

Authentic Online Warfare Requires the Ultimate Orchestration
Highwire Games
Learn how Highwire's need for performance required orchestration only Edgegap can deliver.
Case Study

22,000 Reviews, 4.8 Stars, and Infrastructure That Scaled Automatically
Sinn Studios
How a simple, Slack-supported integration got Sinn Studio's hit VR title online fast and keeps it there.
Case Study

Dynamic Server Orchestration
Under NDA - AAA Studio
Discover how one the world's biggest AAA studio improved its peer-to-peer multiplayer experience through edge computing.
Case Study

Near Zero Latency for AAA Fighting Game
AAA Studio - Under NDA
How an unannounced project delivered the lowest lag possible and improved fairness in its 1v1 game.
Case Study

Play Gods with Multiplayer Physics
Squido Studio
Learn how Squido uses Edgegap's highligh optimized game servers to deliver mind-bending & chaotic VR gameplay.
Case Study

A Fully Managed Solutions that Saves Time for Indies Multiplayer VR Horror
Dirty Pearl Studios
Discover how Dirty Pearl Studios saved development time thanks to Edgegap’s easy integration and automated orchestration alongside its Nakama integration.
Case Study

Instant Global Server Deployment for Collaborative XR Medical Education
AlensiaXR
How AlensiaXR uses Edgegap to deliver low-latency, always-available shared anatomy sessions to medical students worldwide.
Case Study

The Lightkeepers: A VR Social Co-op Game with Dedicated Servers
Spectral Games
How Spectral Games used Edgegap Matchmaking and Server Browser to launch dedicated servers for its VR social lobby, with no prior server experience.
Case Study

Fast & reliable deployments worldwide for PvPvE challenger Gravebound
Crater Studios
How Edgegap’s orchestration and matchmaking helped Crater Studios dramatically helped a small them focus on gameplay instead of infrastructure.
Case Study

Rapid Scaling of Web Metaverse
Hiber
Learn how Hiber eliminated the guesswork out of its server capacity planning with Edgegap.
Case Study

High Hardware Requirements & Custom Game Server Pools
Alderon Games
Learn how Alderon Games instantly leverages a custom pool of game servers across multiple providers worldwide for its popular MMO.
Case Study

Easy Integration for Indie Devs
WhaleFood Games
Read how WhaleFood Games "kicked out" its netcode issues with Edgegap.
Case Study

Cutting-edge tech that powers South-East Asia’s first-ever eSports title.
Anantarupa Studios
Learn how Edgegap transformed South-East Asia’s gaming landscape streamlining complex infrastructure and cutting-edge tech with one seamless solution.
Case Study

One Strike. Global Reach.
Triple Hill Interactive
How Triple Hill Interactive leverages Edgegap's orchestration to deliver low latency and improve fairness in a genre where every millisecond counts.
Case Study

Fast-paced Team Battle Royale... with Gun-totting Animal Plushes!
SANDYFLOOR
Discover how a Korea-based Indie Studio launched it multiplayer worldwide.
Case Study

Mobile Horse Racing Goes Global with Instant, Cost-Efficient Servers
Mirai Labs
How Mirai Labs powers Pegaxy Blaze's worldwide multiplayer races with just-in-time server deployment and fractional vCPU to keep cost per player low.
Case Study

Server Management & Distribution
Matrioshka Games
Read how Matrioshka Games were able to ship a Battle Royale in early access with limited ressources.
Case Study

At my Signal, Unleash Hell!
TyGames
Discover how Indie studio TyGames immerses players in third-person gladiatorial combat multiplayer.
Case Study

Instant Worldwide Orchestration
Soliton Interactive
Discover how Soliton Interactive did the impossible… Ship it's first playable as multiplayer!
Case Study

Competitive play with server-side physics ensures ideal sub-50 ms latency
NS7
Discover why solely Edgegap could enable an indie studio to deliver on its vision for a AAA-quality F2P sports gameplay through server-side physics and authority.
Case Study

Regional Deployments for iGaming
X1 Contra 1
X1 Contra 1 delivers real-time PvP casual games to its Brazilian player base through cost-effective hosting & regional deployments, ensuring data and legal compliance.
Case Study

Pay Only When Players Play: Affordable Multiplayer Infrastructure
Meltdown Interactive
How Edgegap helped indie developer Meltdown Interactive Media solve cost-effective scaling and matchmaking without the complexity, so they could focus on building the game.
Case Study

One Edgegap platform, three very different networking profiles
Warped Games
How Warped Games runs a social hub, real-time co-op, and turn-based co-op, all on the same Edgegap deployment API and the same container pipeline.
Case Study

Pool Live Tour Max
RETA Games
Case Study

Korea’s Web3 POP Extraction Shooter Goes Global, Instantly
NDUS Entertainment
How XOCIETY easily added Edgegap orchestration & integrated custom matchmaking working alongside Edgegap Ping Beacons to optimize latency.
Case Study

Multiplayer in Every Dimension
Arcadia.tv
Discover how Arcadia.tv uses Edgegap's edge network to deliver an innovative, team and location-based athletic VR sport.
Case Study

F2P Mobile Fighter Cuts Infrastructure Costs With Just-in-Time Servers
Game Changers Worldwide
How Game Changer Worldwide hosted Rumble Rush's real-time 3v3 PvP globally on mobile.
Case Study
Key reasons why they chose Edgegap
Discover the impact of Edgegap's automated game server orchestration for a flawless multiplayer experience.









