Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EDGEGAP_API_TOKENNoAPI token. Optional — omit it and the developer is asked at first use. The `token ` prefix is added for you.
EDGEGAP_READ_ONLYNoSet to `1` and the five mutating tools are never registered. The agent cannot see them, so it cannot be talked into calling them.0
EDGEGAP_TIMEOUT_MSNoPer-request HTTP timeout.30000
EDGEGAP_APP_ALLOWLISTNoComma-separated application names. When set, every tool refuses to touch anything else.
EDGEGAP_MAX_DURATION_MINUTESNoCeiling on `max_duration` the agent may set on a version. Caps runaway cost from an unattended agent.60

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
edgegap_context

Report which Edgegap API this server talks to, its version, whether it is the local or hosted server, and the guardrails in force: read-only mode, application allowlist, max_duration ceiling, the agent deployment cap, the tag forced onto every deployment, and which tools support dry_run. Call it first when unsure what this session is allowed to do, or before anything billable. Makes no API call and never shows the token.

edgegap_list_appsA

List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a duplicate. An "application" groups versions of one game server.

edgegap_create_appA

Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application does not deploy anything — follow with edgegap_create_app_version.

edgegap_update_app

Set whether an application accepts new deployments. Turning it off stops new deployments of every version under it; running deployments keep running. Use it to pause an application without deleting anything.

edgegap_list_app_versionsA

List the versions under an application, with their container image, resources, ports (including whether TLS Upgrade is on, which browser/WebGL clients need for wss://) and whether a registry login is set for pulling the image. Use this to find the version name to deploy, to check a version is ready before deploying, or to copy settings from a working version when creating a new one.

edgegap_get_app_version

Read one version in full: image, resources, ports, max_duration, whether image caching (force_cache) and verify_image are on, restart policy, and the names of its env vars (values are never shown). Use it before edgegap_update_app_version or edgegap_deploy to check what a version will do.

edgegap_create_app_version

Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get_registry_credentials and edgegap_list_registry_tags). Resource units: 1024 cpu units = 1 vCPU; memory_mb must be at least 256 and at most double the cpu units. Set verify_image true on the first version so a bad image fails here rather than at deploy time. Refused, with nothing sent, for the "latest" or an empty docker tag (use a build ID so deployments are reproducible) and for a docker_image that also holds a registry host or tag. Env vars named like secrets (TOKEN, SECRET, PASSWORD, API_KEY…) are hidden in the dashboard.

edgegap_update_app_version

Change settings on an existing version instead of creating a new one: point it at a new image tag, turn it on or off, change max_duration, set the registry login, turn on image caching (force_cache: Edgegap pre-loads the image so deployments start faster), or set the shutdown grace period. Only the fields you pass change. Deployments already running keep their old settings; new deployments get the new ones. Same refusals as edgegap_create_app_version: "latest" or empty tags, a docker_image holding a host or tag, and the API token in the registry login. Resources, ports and env vars cannot be changed here; create a new version for those.

edgegap_list_locations

List the cities Edgegap can deploy to. Pass application and version to see only the locations with capacity for that version right now. Use it to pick geo_coordinates for edgegap_deploy when you have no player IPs, or to tell a developer where their players can be served from. For the ping beacons game clients use to measure latency, see edgegap_list_ping_beacons.

edgegap_list_ping_beacons

List Edgegap's ping beacons: one host per region that a game client can ping (UDP or TCP) to measure its latency before matchmaking. The matchmaker's latency rules use these measurements. Read-only; the game client does the pinging, not this tool.

edgegap_deploy

Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplayer match: the server owns the game state, so no player hosts it. Returns immediately with a request_id; the server is still starting and has no connection details yet. Follow this call with edgegap_wait_for_deployment to get the address players connect to. Always stop deployments you started for testing. Every deployment is tagged "edgegap-mcp" in addition to any tags you pass, so edgegap_list_deployments with only_agent_deployments: true finds them all. Runs until stopped or until the version's max_duration, which the result reports. Refused, with nothing sent, if the API token appears in an env var or tag, if the version uses the "latest" docker tag, or when too many agent deployments are already running (EDGEGAP_MAX_AGENT_DEPLOYMENTS, default 5): stop finished ones first. Env vars named like secrets are hidden in the dashboard.

edgegap_get_deploymentA

Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_deployment — it polls for you instead of making you call this in a loop.

edgegap_wait_for_deploymentA

Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do not build your own polling loop — this handles backoff and reports the container error detail if the server fails to start.

edgegap_list_deploymentsA

List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned servers cost money. Filter by status, application, version, tags, request_id, created_at, fleet_name or host_name, e.g. [{field:"application",operator:"eq",value:"my-game"},{field:"status",operator:"eq",value:"ready"}]. Operators: eq and neq on every field except created_at (eq, gte, lte); in and nin with an array value on request_id, tags, application, version, fleet_name, host_name; ilike with % wildcards on fleet_name and host_name. At most one filter per field. Sort by created_at or available_session_sockets. To find every deployment an agent started through this server, pass only_agent_deployments: true (the same as filtering tags in ["edgegap-mcp", "mcp"]).

edgegap_stop_deploymentA

Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool stops exactly one deployment, named by its exact request_id: empty IDs, wildcards and lists are refused, and bulk stop is deliberately not exposed.

edgegap_get_deployment_logsA

Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually identifies the problem faster than redeploying does. Logs for stopped deployments are only retained if Endpoint Storage was configured on the version beforehand.

edgegap_get_deployment_metrics

Summarise a deployment's resource use over time: CPU, CPU throttling, memory and network, each as latest, average and peak, with the API's own labels. Use it to size a version (cpu_units, memory_mb) from a real match, or to check whether a crash was memory or CPU starvation before redeploying. Defaults to the whole life of the deployment.

edgegap_generate_dockerfileA

Write a Dockerfile for this project's headless game server build, ready for Edgegap: linux/amd64 base, the build folder copied in, the binary made executable, the right headless flags (Unity -batchmode -nographics, Godot --headless), a non-root user where the engine needs it (Unreal refuses root), CRLF fixes for start scripts, and EXPOSE lines matching the ports. Call this when the project has no Dockerfile, before building anything. Look at the build output first so you can pass the real build folder, binary name and port; anything you omit is assumed and listed under assumptions, which you must confirm with the developer or the project files. Write the result to Dockerfile, then build. The output is checked against edgegap_validate_server_config before it is returned. Makes no API calls.

edgegap_validate_server_configA

Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures that otherwise only show up after a build, push, version and deploy: ARM or Windows images (Edgegap runs linux/amd64), Unreal running as root, missing Unity -batchmode -nographics, a server bound to localhost, EXPOSE ports that do not match the version ports, a protocol that does not match the netcode transport, the "latest" tag, and bad CPU/memory ratios. Pass the Dockerfile text (read it from disk first). If there is no Dockerfile yet, call edgegap_generate_dockerfile instead. Makes no API calls.

edgegap_get_registry_credentialsA

Get the push login for this organization's private Edgegap container registry (registry.edgegap.com) and the exact docker login, build and push commands for your image. Use this when the server image is not in a registry yet. Edgegap only hands these credentials to the quick-start token the Unity/Unreal plugins use; with a regular API token this tool cannot fetch them and instead returns the steps to copy them from the dashboard's Container Registry page — ask the developer for them then, do not retry. When it does return a token, it is registry-scoped (push/pull images in this project), not the org API token: pass it to docker login via --password-stdin, never as a command-line argument, and do not write it into files. Call edgegap_validate_server_config before building.

edgegap_list_registry_tagsA

List the tags pushed for one image in this organization's Edgegap container registry, with push time and size. Call it after docker push to confirm the tag landed before edgegap_create_app_version, which otherwise fails later with an image-pull error.

edgegap_delete_registry_tag

Delete one tag, and the image it points to, from this organization's Edgegap container registry, to clean up old builds. Takes exactly one image name and one exact tag; wildcards, lists and "latest" are refused, and there is no bulk delete. A version that still uses the tag can no longer start deployments, so check edgegap_list_app_versions first. Cannot be undone.

edgegap_create_relay_sessionA

A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead. A relay only forwards traffic between players while one player's game acts as host and owns the game state: the host can cheat and has a latency advantage, the host's PC and connection cap the match, and the match ends if the host quits. Only use this when the developer has chosen peer-to-peer/host-client, or the netcode is already a listen server and a dedicated server is not an option; if that has not been established, ask first. Never pick it only because it needs no server image. Creates an Edgegap relay session for every player's public IP, host first, waits until it is ready, and returns the relay address plus per-player authorization tokens for the relay transport. Relay sessions are billed while open: delete test sessions with edgegap_delete_relay_session when finished.

edgegap_get_relay_sessionA

Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_session already waits for readiness; use this to re-read a session or one created with wait_until_ready false.

edgegap_list_relay_sessions

List this organization's active relay sessions: id, status, readiness and player count. Relay sessions bill while open, so use this to find ones left over from earlier sessions and delete them with edgegap_delete_relay_session. Authorization tokens are not listed; read one session with edgegap_get_relay_session.

edgegap_authorize_relay_userA

Authorize one more player (by public IP) on an existing relay session, for a player joining after the session was created. Returns that player's authorization token.

edgegap_revoke_relay_user

Revoke one player's access to a relay session, by that player's authorization token (from edgegap_get_relay_session or edgegap_authorize_relay_user). The player loses the relay connection; the session and the other players stay.

edgegap_delete_relay_sessionA

Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task. Takes exactly one session_id; empty IDs, wildcards and lists are refused.

edgegap_build_matchmaker_configA

Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that relax the rules the longer a player waits. Checks the referenced application version exists and has ports. Edgegap has no API for creating a matchmaker, so this tool does NOT create one: save the returned config to a file (e.g. matchmaker-config.json) and have the developer upload it on the Matchmaker page of the dashboard. The matchmaker starts an authoritative dedicated server for each match, which is the recommended setup for multiplayer games.

edgegap_list_skills

List the Edgegap agent skills: tested, step-by-step workflows for getting a multiplayer game online on Edgegap, with templates (Dockerfiles, matchmaker configs, Unity C# and Unreal C++ drop-ins) and known pitfalls. Before working on a game project, load the matching skill with edgegap_get_skill: edgegap-ngo for Unity with Netcode for GameObjects, edgegap-fishnet for Unity with FishNet, edgegap-purrnet for Unity with PurrNet, edgegap-fusion for Unity with Photon Fusion 2, edgegap-unity for other Unity projects, edgegap-unreal for Unreal Engine (edgegap-eos-voice to add voice chat to it), edgegap-fusion-simplefps for the Photon Simple FPS sample, edgegap-godot for Godot 4 with a Godot server, edgegap-colyseus for a Colyseus server, edgegap-nakama for a game with a Nakama backend, edgegap-playfab for a game that keeps PlayFab Matchmaking, edgegap-manus for a browser game built with Manus, edgegap for any other engine or platform questions; it routes to the rest. No API call.

edgegap_get_skill

Load one Edgegap agent skill: its SKILL.md (the workflow to follow) by default, or one of its reference documents or templates with file. Load the matching skill before acting on a game project — edgegap-ngo for Unity with Netcode for GameObjects, edgegap-fishnet for Unity with FishNet, edgegap-purrnet for Unity with PurrNet, edgegap-fusion for Unity with Photon Fusion 2, edgegap-unity for other Unity projects, edgegap-unreal for Unreal Engine (edgegap-eos-voice for voice chat), edgegap-fusion-simplefps for the Photon Simple FPS sample, edgegap-godot for Godot 4 with a Godot server, edgegap-colyseus for a Colyseus server, edgegap-nakama for a Nakama backend, edgegap-playfab for PlayFab Matchmaking, edgegap-manus for a browser game built with Manus, edgegap otherwise — and fetch the references and templates it points to as you reach them. No API call.

Prompts

Interactive templates invoked by user choice

NameDescription
edgegapStart here for hosting a game on Edgegap (dedicated game servers + matchmaking) when the engine is not Unity, Unreal or Godot, is unknown, or the question is about the platform itself. Use when someone wants to host or deploy a game server, wants a single-player or co-op game to be always online or harder to crack, decompile or pirate, asks how players will connect to matches, wants dedicated servers for a web/Node or custom-engine game, compares hosting options, or asks what Edgegap apps, versions, deployments, fleets or matchmakers are, even if they never say "hosting". It picks the server shape (per match, per player session, or persistent), explains the vocabulary and the Edgegap MCP safety rules, and routes to the right edgegap-* skill. For a Unity project, load edgegap-unity instead (NGO: edgegap-ngo, FishNet: edgegap-fishnet, PurrNet: edgegap-purrnet, Fusion: edgegap-fusion); Unreal: edgegap-unreal; Godot 4: edgegap-godot; Colyseus: edgegap-colyseus; Nakama: edgegap-nakama; Manus: edgegap-manus.
edgegap-colyseusColyseus + Edgegap: host a Colyseus (Node.js) multiplayer game on Edgegap with one dedicated server per match, near its players, that stops itself, end to end. Load this before using any Edgegap MCP tool on a Colyseus project (colyseus or @colyseus/* in package.json, Room classes with onJoin/onLeave, defineServer, app.config.ts, colyseus.js, @colyseus/sdk, the Colyseus Unity, Godot, Defold, GameMaker or Haxe SDKs). It has templates verified on Edgegap with the Colyseus tanks demo: a lifecycle module (self-stop on no join, empty server or match end), a Dockerfile, the WS + TLS Upgrade app version, a direct deploy script, a matchmaker config, and matchmaker clients for browser JS/TS, Unity and Godot, plus the pitfalls: 502 right after a server starts, wss by FQDN, CORS origins, playground and monitor exposed. Use for "host my Colyseus server", "Colyseus on Edgegap", "replace Colyseus Cloud", "one server per match", "Find Match with Colyseus", or debugging Colyseus deployments. Manus games: edgegap-manus.
edgegap-containerizePackage any game server (Unreal, Godot, Node, Go, Rust, C++, a Unity build) into a Docker image that runs correctly on Edgegap, push it to the Edgegap Container Registry or Docker Hub, GHCR, ECR, GCR or GitLab, and register it as an app version: the container contract, Dockerfile patterns, linux/amd64 builds on Apple Silicon, image tags, registry credentials on the version, and port mapping. Use whenever writing or fixing a Dockerfile for a game server, building on a Mac, pushing to registry.edgegap.com, getting "unable to pull image" or exec format errors, or when someone asks how to get a server build onto Edgegap. Engine-agnostic; edgegap-unity has a ready Unity Dockerfile.
edgegap-deployments-apiWrite backend code that starts, tracks and stops Edgegap game servers through the HTTP API: POST /v2/deployments with player IPs or coordinates, env vars and tags, ready/error/terminate webhooks, status polling within rate limits, stopping and cleaning up orphaned deployments, and handing players the address and external port. Use whenever building a custom matchmaker, allocator, lobby service or CI job for Edgegap, connecting Unity Matchmaker (UGS Cloud Code), EOS lobbies or Steam lobbies to Edgegap servers (Nakama: edgegap-nakama), or when someone mentions api.edgegap.com, the Deploy API, deployment webhooks, request_id, or Edgegap error codes 422/429/410. Not for game clients, which must never hold the API token.
edgegap-eos-voiceAdd in-game voice chat with EOS Voice (Epic Online Services) to an Unreal Engine game that runs on Edgegap dedicated servers. The game server is the trusted server: it checks each player's EOS ID token, puts them in a match or team room from the Edgegap matchmaker data, gets room tokens from the EOS Voice Web API (EOS voice doesn't run on Linux servers) and removes players who leave. Ships tested C++ drop-ins (device ID login so players need no Epic account, a replicated component that needs no game class edits, server token service), Developer Portal client policies, Edgegap env vars, local two-client test with fake audio, and fixes for pitfalls. Use for "add voice chat", "team voice", "proximity or party chat", "EOS voice", "push to talk", "players can't hear each other", Vivox replacement, or voice on an Unreal game hosted on Edgegap. Needs a working Edgegap dedicated server first (edgegap-unreal). Not for Unity yet, lobby-only voice without a server, or Mumble.
edgegap-fishnetFishNet (Fish-Networking) + Edgegap: take a Unity game built on FishNet to dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on a FishNet project (Assets/FishNet, Tugboat, Bayou, Multipass, ServerManager, NetworkHudCanvas). It has FishNet-ready C# templates verified on Edgegap (matchmaker client, server self-stop, scene-change persistence), the Start On Headless and WebGL/Bayou wss setup, port 7770 app version, Dockerfile, matchmaker config and fixes for known pitfalls, including the SDK JSON bug on Unity before 2022.3. Use when a FishNet dev wants online play: "host my FishNet game", "players should not host", "works on LAN but not online", "Find Match button", "FishNet WebGL on Edgegap", moving off the old FishNet Edgegap samples that call the API from the client, or debugging FishNet deployments, ports or matchmaking. Other Unity netcodes (NGO, Mirror): edgegap-unity.
edgegap-fusionPhoton Fusion 2 + Edgegap: run a Unity game built on Photon Fusion as a dedicated server on Edgegap, verified end to end with Photon's BR200 Battle Royale sample. Load this before using any Edgegap MCP tool on a Fusion project (Assets/Photon/Fusion, NetworkRunner, StartGameArgs, GameMode.Server, PhotonAppSettings, NetworkProjectConfig, TPSBR, BR200). It has a drop-in BR200 kit that changes no sample code (server build with preflight checks, Dockerfile, start script mapping Edgegap variables to BR200's command-line options, Photon region, self-stop), headless test clients logging the connection type, and fixes for pitfalls: Loader IP 127.0.0.1 forcing Photon relays, public IP failing to bind, IL2CPP required on the server, Linux toolchain packages and App ID/AppVersion/region mismatches. Use when a Fusion dev wants dedicated servers, "host BR200", "CT shows Relayed", GameNotFound. Simple FPS sample: edgegap-fusion-simplefps. Other Unity netcodes: edgegap-unity, edgegap-ngo, edgegap-fishnet, edgegap-purrnet.
edgegap-fusion-simplefpsPhoton's Simple FPS (Fusion 2) sample + Edgegap: run it as a dedicated server on Edgegap and join through its Party menu, verified end to end. Load this before using any Edgegap MCP tool on a Simple FPS project (SimpleFPS namespace, Deathmatch and Startup scenes, FusionBootstrap, FusionMenuUIParty, MenuConnectionBehaviour, SceneObjects). It has a drop-in kit that edits no Simple FPS or Fusion file: a bootstrap subclass that starts the server and names the session after the deployment FQDN, a Party menu subclass that joins by FQDN and Photon region, an editor setup and IL2CPP build, a Dockerfile, and headless test clients. It fixes the two traps of the usual Simple FPS dedicated-server steps: a server built with only the Deathmatch scene, and a scene that is not active on load, which both make clients throw NullReferenceException in Player.FixedUpdateNetwork. Use for "Simple FPS on Edgegap", "join a deployment from the Party menu" or that error. Other Fusion games, BR200: edgegap-fusion.
edgegap-godotGodot 4 + Edgegap: take a Godot multiplayer game (high-level multiplayer: MultiplayerAPI, @rpc, ENetMultiplayerPeer, WebSocketMultiplayerPeer, MultiplayerSpawner, netfox) to dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on a Godot project (project.godot, .gd, .tscn, export_presets.cfg). It has tested GDScript templates (a server lifecycle autoload that waits for the matched players and stops its own deployment, a matchmaker client and Find Match button), the headless Linux dedicated server export, Dockerfile, app version ports (UDP for ENet, WS + TLS Upgrade for web and wss), matchmaker config, and fixes for Godot pitfalls: empty server logs, export allowlists that drop new scripts, SIGTERM ignored in containers, join validation that silently blocks matched players. Use when a Godot dev wants online play: "host my Godot game", "nobody should host", "Find Match button", "Godot web multiplayer", or is debugging Godot deployments, ports or matchmaking on Edgegap.
edgegap-launchTake an Edgegap-hosted game from "the test deployment works" to live players: the launch checklist (token hygiene, app version settings, restart policy, max duration, self-stop, image caching, log storage), version naming and blue/green rollouts with zero matchmaking downtime, cost and leak control, rate limits, free-tier limits to lift before launch, observability (logs, metrics, deployment IDs), capacity planning with Edgegap, Private Fleets and persistent servers, and incident basics. Use when preparing a launch, beta or playtest on Edgegap, reviewing production readiness, rolling out a new server build, or when someone mentions going live, launch day, rollout, scaling, hosting costs or operating game servers with real players.
edgegap-local-testingProve a game server container behaves on a laptop exactly as it will on Edgegap before spending money: the parity docker run with Edgegap-style env vars, the random-external-port test, the SIGTERM drain test, boot timing, two servers on one host, resource sizing with docker stats, then one tagged test deployment on Edgegap with a real client. Use before any first deploy or new build rollout, when a server works locally but not on Edgegap, or when someone asks how to test a game server container, run it with Docker, or smoke-test a deployment. Engine-agnostic.
edgegap-manusManus + Edgegap: turn a browser game built with Manus (manus.im, Manus Game Dev, a Manus web app, or its code exported to GitHub) into an online multiplayer game with an authoritative dedicated server and matchmaking on Edgegap. Load this before using any Edgegap MCP tool on a Manus project. It has templates: Steam sign-in verified on the backend, backend join/status/cancel/leave routes that create Edgegap matchmaker tickets (mode, region, party, player IP) and return only the server address and a signed join token, a Node.js WebSocket game server that self-stops, a browser client with reconnect, a Dockerfile, a GitHub Actions image build, and a matchmaker config. Use when a Manus user wants online play: "make my Manus game multiplayer", "add matchmaking", "Find Match", "Steam login for my web game", "host my HTML5/JavaScript game server", or is debugging wss, CORS, tickets or deployments for a Manus game. Unity: edgegap-unity; Unreal: edgegap-unreal.
edgegap-nakamaNakama + Edgegap: keep Nakama for accounts, matchmaking and leaderboards, and run every match on its own Edgegap dedicated server near the players through the Edgegap Fleet Manager for Nakama (nakama-edgegap), end to end. Load this before using any Edgegap MCP tool on a project with a Nakama backend (a Go, TypeScript or Lua Nakama module, heroiclabs/nakama images, a Nakama client SDK: nakama-godot, nakama-unity, nakama-js). Engine-agnostic templates verified on Edgegap with Fish Game (Godot 4.7, Nakama 3.39): the Go module (Fleet Manager, AfterAuthenticate hook for the real sign-in method, MatchmakerMatched hook, notifications 111/112/113, a leaderboard only the server writes), game server code for READY, connection events, STOP and player checks, Dockerfile, compose. Use for "host my Nakama game on Edgegap", "Nakama matchmaker should start a dedicated server", "replace Nakama relayed matches", "Heroic Cloud plus Edgegap", or debugging nakama-edgegap. Unity servers: edgegap-server-nakama-plugin-unity.
edgegap-ngoNetcode for GameObjects (NGO) + Edgegap: take a Unity game built on NGO to dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on an NGO project (com.unity.netcode.gameobjects, NetworkManager, UnityTransport, StartHost, ConnectionManager, Boss Room). It has NGO C# templates verified on Edgegap that add themselves at runtime, no scene edits (server start and self-stop, Find Match panel, settings asset), a Boss Room ConnectionManager adapter, port 7777 UDP app version, Dockerfile, matchmaker config, and fixes for NGO pitfalls: host-only logic, connection payloads and approval, UnityTransport needing an IP, client-only code on the server, Relay leftovers. Use when an NGO dev wants online play: "host my NGO game", "nobody should host", "replace Unity Relay or Multiplay", "Boss Room on Edgegap", "Find Match button", or is debugging NGO deployments, ports or matchmaking on Edgegap. Mirror or WebGL-first games: edgegap-unity. FishNet: edgegap-fishnet. PurrNet: edgegap-purrnet.
edgegap-playfabPlayFab + Edgegap: keep PlayFab for players, login and Matchmaking, and run each match on its own Edgegap dedicated server near the players, started by PlayFab Azure Functions (CloudScript using Azure Functions), end to end. Load this before using any Edgegap MCP tool on a project that uses PlayFab for matchmaking (a PlayFab title ID, playfabapi.com, PlayFabMultiplayerAPI, CreateMatchmakingTicket) or is leaving PlayFab Multiplayer Servers (MPS, GSDK). Verified on Edgegap with a Unity FishNet game: match_found rule, StartEdgegapDeployment (POST /v2/deployments near the players), ready webhook, server address in player read-only data. Ships the Azure Functions, setup scripts, a dependency-free Unity client, server self-stop, and fixes for PlayFab pitfalls (new titles block LoginWithCustomID player creation, legacy CloudScript, ticket polling limits). Use for "PlayFab matchmaking with Edgegap servers", "replace PlayFab Multiplayer Servers", "PlayFab CloudScript Edgegap bridge", or debugging one.
edgegap-purrnetPurrNet + Edgegap: take a Unity game built on PurrNet to dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on a PurrNet project (dev.purrnet.purrnet, NetworkManager start flags, UDPTransport, WebTransport, ParrelSync clones). It has PurrNet-ready C# templates verified on Edgegap that add themselves at runtime without editing scenes (server start and self-stop, connect panel with direct and matchmaker modes, settings asset), port 5000 UDP app version, Dockerfile, matchmaker config, and fixes for PurrNet pitfalls: auto start flags, the async StartClient, ObserversRpc that never runs on a dedicated server. Use when a PurrNet dev wants online play: "host my PurrNet game", "nobody should host", "works with a host but not online", "Find Match button", or is debugging PurrNet deployments, ports or matchmaking on Edgegap. Other Unity netcodes: edgegap-unity (NGO, Mirror) or edgegap-fishnet.
edgegap-server-designDesign an authoritative dedicated game server that fits per-match hosting on Edgegap: who owns the game state, the deployment lifecycle (boot, read injected env vars, bind a fixed port on 0.0.0.0, accept players, self-stop at match end, drain on SIGTERM), logging, and what never goes in the server. Use whenever adding online multiplayer to a game, converting a host/client, listen-server or peer-to-peer game to dedicated servers, or when someone asks about netcode architecture, authoritative servers, match lifecycle, tick rate, cheat prevention or how a game server should behave on Edgegap. Engine-agnostic (Unreal, Godot, Node, custom engines); apply it before containerizing. Unity projects get the same rules, already applied, from edgegap-unity.
edgegap-troubleshootDiagnose why a game server on Edgegap will not start, keeps restarting, stops early, or cannot be reached, for any engine: image push and pull failures (401, 403, 424 "unable to pull image"), exec format errors, 422 couldn't allocate, Error deployments, crash loops and OOM kills, 100% CPU, deployments stopping after 60 minutes or 24 hours, missing logs, clients timing out or failing to connect (internal vs external port, protocol, 0.0.0.0 binding, wss and TLS Upgrade), and matchmaker players stuck searching. Use when someone says their Edgegap deployment, server or matchmaking "isn't working", or pastes an Edgegap error. Unity-specific build and SDK issues are in edgegap-unity.
edgegap-unityUnity + Edgegap: get a Unity multiplayer game online with dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on a Unity project: it has the Unity workflow, tested C# templates (matchmaker client, server self-stop), Linux server build, Dockerfile, matchmaker config and fixes for known pitfalls. Use when a Unity dev wants online play: "put my game online", "play with people over the internet", "works on LAN/same wifi but not online", "nobody should have to host", "click Play and get matched", how Fall Guys/Among Us match players, servers for a playtest, "where do I start with servers". Also for Mirror host/client games moving to dedicated servers, WebGL multiplayer, or debugging Edgegap deployments, ports or matchmaking for a Unity game. Use even for beginners who never say Edgegap, servers or Docker. Not for NGO (edgegap-ngo), FishNet (edgegap-fishnet), PurrNet (edgegap-purrnet) or Fusion (edgegap-fusion) projects, Unreal (edgegap-unreal), Godot or non-game backends.
edgegap-unrealUnreal Engine + Edgegap: get an Unreal multiplayer game online with dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on an Unreal project: it has the Unreal workflow, tested C++ drop-ins (matchmaker client with latency beacons, server self-stop), source-engine and Linux cross-compile setup, server packaging, Dockerfile, matchmaker config and fixes for the pitfalls that cost hours. Use when an Unreal dev wants online play: "put my game online", "players can only join on LAN", "nobody should have to host", "click Play and get matched", listen server to dedicated server, a .uproject that needs servers, "open <ip>" connections, packaging a Linux server, or debugging Edgegap deployments, ports or matchmaking for an Unreal game. Covers C++ and Blueprint-only projects. Use even for beginners who never say Edgegap, servers or Docker. Not for Unity (edgegap-unity), Godot or non-game backends.

Resources

Contextual data attached and managed by the client

NameDescription
edgegap/SKILL.mdStart here for hosting a game on Edgegap (dedicated game servers + matchmaking) when the engine is not Unity, Unreal or Godot, is unknown, or the question is about the platform itself. Use when someone wants to host or deploy a game server, wants a single-player or co-op game to be always online or harder to crack, decompile or pirate, asks how players will connect to matches, wants dedicated servers for a web/Node or custom-engine game, compares hosting options, or asks what Edgegap apps, versions, deployments, fleets or matchmakers are, even if they never say "hosting". It picks the server shape (per match, per player session, or persistent), explains the vocabulary and the Edgegap MCP safety rules, and routes to the right edgegap-* skill. For a Unity project, load edgegap-unity instead (NGO: edgegap-ngo, FishNet: edgegap-fishnet, PurrNet: edgegap-purrnet, Fusion: edgegap-fusion); Unreal: edgegap-unreal; Godot 4: edgegap-godot; Colyseus: edgegap-colyseus; Nakama: edgegap-nakama; Manus: edgegap-manus.
edgegap/references/agent-rules.md
edgegap-colyseus/SKILL.mdColyseus + Edgegap: host a Colyseus (Node.js) multiplayer game on Edgegap with one dedicated server per match, near its players, that stops itself, end to end. Load this before using any Edgegap MCP tool on a Colyseus project (colyseus or @colyseus/* in package.json, Room classes with onJoin/onLeave, defineServer, app.config.ts, colyseus.js, @colyseus/sdk, the Colyseus Unity, Godot, Defold, GameMaker or Haxe SDKs). It has templates verified on Edgegap with the Colyseus tanks demo: a lifecycle module (self-stop on no join, empty server or match end), a Dockerfile, the WS + TLS Upgrade app version, a direct deploy script, a matchmaker config, and matchmaker clients for browser JS/TS, Unity and Godot, plus the pitfalls: 502 right after a server starts, wss by FQDN, CORS origins, playground and monitor exposed. Use for "host my Colyseus server", "Colyseus on Edgegap", "replace Colyseus Cloud", "one server per match", "Find Match with Colyseus", or debugging Colyseus deployments. Manus games: edgegap-manus.
edgegap-colyseus/assets/client/godot/edgegap_matchmaker.gd
edgegap-colyseus/assets/client/js/joinWithRetry.ts
edgegap-colyseus/assets/client/js/Matchmaker.ts
edgegap-colyseus/assets/client/unity/EdgegapMatchmaker.cs
edgegap-colyseus/assets/matchmaker/casual.json
edgegap-colyseus/assets/server/.dockerignore
edgegap-colyseus/assets/server/Dockerfile
edgegap-colyseus/assets/server/scripts/edgegap-deploy.mjs
edgegap-colyseus/assets/server/src/edgegap.ts
edgegap-colyseus/references/clients.md
edgegap-colyseus/references/deploy.md
edgegap-colyseus/references/server.md
edgegap-colyseus/references/troubleshooting.md
edgegap-containerize/SKILL.mdPackage any game server (Unreal, Godot, Node, Go, Rust, C++, a Unity build) into a Docker image that runs correctly on Edgegap, push it to the Edgegap Container Registry or Docker Hub, GHCR, ECR, GCR or GitLab, and register it as an app version: the container contract, Dockerfile patterns, linux/amd64 builds on Apple Silicon, image tags, registry credentials on the version, and port mapping. Use whenever writing or fixing a Dockerfile for a game server, building on a Mac, pushing to registry.edgegap.com, getting "unable to pull image" or exec format errors, or when someone asks how to get a server build onto Edgegap. Engine-agnostic; edgegap-unity has a ready Unity Dockerfile.
edgegap-deployments-api/SKILL.mdWrite backend code that starts, tracks and stops Edgegap game servers through the HTTP API: POST /v2/deployments with player IPs or coordinates, env vars and tags, ready/error/terminate webhooks, status polling within rate limits, stopping and cleaning up orphaned deployments, and handing players the address and external port. Use whenever building a custom matchmaker, allocator, lobby service or CI job for Edgegap, connecting Unity Matchmaker (UGS Cloud Code), EOS lobbies or Steam lobbies to Edgegap servers (Nakama: edgegap-nakama), or when someone mentions api.edgegap.com, the Deploy API, deployment webhooks, request_id, or Edgegap error codes 422/429/410. Not for game clients, which must never hold the API token.
edgegap-deployments-api/references/api-reference.md
edgegap-eos-voice/SKILL.mdAdd in-game voice chat with EOS Voice (Epic Online Services) to an Unreal Engine game that runs on Edgegap dedicated servers. The game server is the trusted server: it checks each player's EOS ID token, puts them in a match or team room from the Edgegap matchmaker data, gets room tokens from the EOS Voice Web API (EOS voice doesn't run on Linux servers) and removes players who leave. Ships tested C++ drop-ins (device ID login so players need no Epic account, a replicated component that needs no game class edits, server token service), Developer Portal client policies, Edgegap env vars, local two-client test with fake audio, and fixes for pitfalls. Use for "add voice chat", "team voice", "proximity or party chat", "EOS voice", "push to talk", "players can't hear each other", Vivox replacement, or voice on an Unreal game hosted on Edgegap. Needs a working Edgegap dedicated server first (edgegap-unreal). Not for Unity yet, lobby-only voice without a server, or Mumble.
edgegap-eos-voice/assets/unreal/Build.cs.txt
edgegap-eos-voice/assets/unreal/Config/DefaultEngine-voice.ini
edgegap-eos-voice/assets/unreal/Config/DefaultGame-voice.ini
edgegap-eos-voice/assets/unreal/Source/EdgegapVoiceClientSubsystem.cpp
edgegap-eos-voice/assets/unreal/Source/EdgegapVoiceClientSubsystem.h
edgegap-eos-voice/assets/unreal/Source/EdgegapVoiceComponent.cpp
edgegap-eos-voice/assets/unreal/Source/EdgegapVoiceComponent.h
edgegap-eos-voice/assets/unreal/Source/EdgegapVoiceServerSubsystem.cpp
edgegap-eos-voice/assets/unreal/Source/EdgegapVoiceServerSubsystem.h
edgegap-eos-voice/assets/unreal/Source/EdgegapVoiceSettings.h
edgegap-eos-voice/assets/unreal/uproject-plugin.json
edgegap-eos-voice/references/eos-portal.md
edgegap-eos-voice/references/testing.md
edgegap-eos-voice/references/troubleshooting.md
edgegap-fishnet/SKILL.mdFishNet (Fish-Networking) + Edgegap: take a Unity game built on FishNet to dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on a FishNet project (Assets/FishNet, Tugboat, Bayou, Multipass, ServerManager, NetworkHudCanvas). It has FishNet-ready C# templates verified on Edgegap (matchmaker client, server self-stop, scene-change persistence), the Start On Headless and WebGL/Bayou wss setup, port 7770 app version, Dockerfile, matchmaker config and fixes for known pitfalls, including the SDK JSON bug on Unity before 2022.3. Use when a FishNet dev wants online play: "host my FishNet game", "players should not host", "works on LAN but not online", "Find Match button", "FishNet WebGL on Edgegap", moving off the old FishNet Edgegap samples that call the API from the client, or debugging FishNet deployments, ports or matchmaking. Other Unity netcodes (NGO, Mirror): edgegap-unity.
edgegap-fishnet/assets/docker/.dockerignore
edgegap-fishnet/assets/docker/Dockerfile
edgegap-fishnet/assets/matchmaker/casual-webgl.json
edgegap-fishnet/assets/unity/EdgegapMatchmakingClient.cs
edgegap-fishnet/assets/unity/EdgegapMatchmakingDTOs.cs
edgegap-fishnet/assets/unity/EdgegapPersistence.cs
edgegap-fishnet/assets/unity/EdgegapServerLifecycle.cs
edgegap-fishnet/assets/unity/Editor/EdgegapSceneSetup.cs
edgegap-fishnet/assets/unity/Editor/EdgegapServerBuild.cs
edgegap-fishnet/assets/unity/Examples/MatchmakingSystem.cs
edgegap-fishnet/assets/unity/link.xml
edgegap-fishnet/references/deploy.md
edgegap-fishnet/references/fishnet.md
edgegap-fishnet/references/matchmaker.md
edgegap-fishnet/references/troubleshooting.md
edgegap-fusion/SKILL.mdPhoton Fusion 2 + Edgegap: run a Unity game built on Photon Fusion as a dedicated server on Edgegap, verified end to end with Photon's BR200 Battle Royale sample. Load this before using any Edgegap MCP tool on a Fusion project (Assets/Photon/Fusion, NetworkRunner, StartGameArgs, GameMode.Server, PhotonAppSettings, NetworkProjectConfig, TPSBR, BR200). It has a drop-in BR200 kit that changes no sample code (server build with preflight checks, Dockerfile, start script mapping Edgegap variables to BR200's command-line options, Photon region, self-stop), headless test clients logging the connection type, and fixes for pitfalls: Loader IP 127.0.0.1 forcing Photon relays, public IP failing to bind, IL2CPP required on the server, Linux toolchain packages and App ID/AppVersion/region mismatches. Use when a Fusion dev wants dedicated servers, "host BR200", "CT shows Relayed", GameNotFound. Simple FPS sample: edgegap-fusion-simplefps. Other Unity netcodes: edgegap-unity, edgegap-ngo, edgegap-fishnet, edgegap-purrnet.
edgegap-fusion/assets/br200/.dockerignore
edgegap-fusion/assets/br200/.gitattributes
edgegap-fusion/assets/br200/Assets/EdgegapBR200/Editor/BR200ServerBuilder.cs
edgegap-fusion/assets/br200/edgegap/Dockerfile
edgegap-fusion/assets/br200/edgegap/start-server.sh
edgegap-fusion/assets/br200/examples/app-version.json
edgegap-fusion/assets/br200/examples/deploy-request.json
edgegap-fusion/assets/br200/scripts/build-server.sh
edgegap-fusion/assets/br200/scripts/package.sh
edgegap-fusion/assets/br200/scripts/run-local.sh
edgegap-fusion/assets/br200/scripts/test-in-container.sh
edgegap-fusion/assets/br200/tests/start-server.test.sh
edgegap-fusion/assets/test/ConnectionTypeProbe.cs
edgegap-fusion/assets/test/Editor/FusionTestClientBuild.cs
edgegap-fusion/references/br200.md
edgegap-fusion/references/deploy.md
edgegap-fusion/references/fusion.md
edgegap-fusion/references/troubleshooting.md
edgegap-fusion-simplefps/SKILL.mdPhoton's Simple FPS (Fusion 2) sample + Edgegap: run it as a dedicated server on Edgegap and join through its Party menu, verified end to end. Load this before using any Edgegap MCP tool on a Simple FPS project (SimpleFPS namespace, Deathmatch and Startup scenes, FusionBootstrap, FusionMenuUIParty, MenuConnectionBehaviour, SceneObjects). It has a drop-in kit that edits no Simple FPS or Fusion file: a bootstrap subclass that starts the server and names the session after the deployment FQDN, a Party menu subclass that joins by FQDN and Photon region, an editor setup and IL2CPP build, a Dockerfile, and headless test clients. It fixes the two traps of the usual Simple FPS dedicated-server steps: a server built with only the Deathmatch scene, and a scene that is not active on load, which both make clients throw NullReferenceException in Player.FixedUpdateNetwork. Use for "Simple FPS on Edgegap", "join a deployment from the Party menu" or that error. Other Fusion games, BR200: edgegap-fusion.
edgegap-fusion-simplefps/assets/simplefps/.dockerignore
edgegap-fusion-simplefps/assets/simplefps/.gitattributes
edgegap-fusion-simplefps/assets/simplefps/Assets/EdgegapSimpleFPS/EdgegapFusionBootstrap.cs
edgegap-fusion-simplefps/assets/simplefps/Assets/EdgegapSimpleFPS/EdgegapPartyMenu.cs
edgegap-fusion-simplefps/assets/simplefps/Assets/EdgegapSimpleFPS/EdgegapServerSceneLoader.cs
edgegap-fusion-simplefps/assets/simplefps/Assets/EdgegapSimpleFPS/Editor/SimpleFpsEdgegapSetup.cs
edgegap-fusion-simplefps/assets/simplefps/edgegap/Dockerfile
edgegap-fusion-simplefps/assets/simplefps/edgegap/start-server.sh
edgegap-fusion-simplefps/assets/simplefps/scripts/build.sh
edgegap-fusion-simplefps/assets/simplefps/scripts/package.sh
edgegap-fusion-simplefps/assets/simplefps/scripts/run-local.sh
edgegap-fusion-simplefps/assets/simplefps/scripts/test-clients.sh
edgegap-fusion-simplefps/assets/test/EdgegapSimpleFPSTest/ConnectionTypeProbe.cs
edgegap-fusion-simplefps/assets/test/EdgegapSimpleFPSTest/PartyJoinDriver.cs
edgegap-fusion-simplefps/references/deploy-and-test.md
edgegap-fusion-simplefps/references/simplefps.md
edgegap-fusion-simplefps/references/troubleshooting.md
edgegap-godot/SKILL.mdGodot 4 + Edgegap: take a Godot multiplayer game (high-level multiplayer: MultiplayerAPI, @rpc, ENetMultiplayerPeer, WebSocketMultiplayerPeer, MultiplayerSpawner, netfox) to dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on a Godot project (project.godot, .gd, .tscn, export_presets.cfg). It has tested GDScript templates (a server lifecycle autoload that waits for the matched players and stops its own deployment, a matchmaker client and Find Match button), the headless Linux dedicated server export, Dockerfile, app version ports (UDP for ENet, WS + TLS Upgrade for web and wss), matchmaker config, and fixes for Godot pitfalls: empty server logs, export allowlists that drop new scripts, SIGTERM ignored in containers, join validation that silently blocks matched players. Use when a Godot dev wants online play: "host my Godot game", "nobody should host", "Find Match button", "Godot web multiplayer", or is debugging Godot deployments, ports or matchmaking on Edgegap.
edgegap-godot/assets/docker/.dockerignore
edgegap-godot/assets/docker/Dockerfile
edgegap-godot/assets/godot/edgegap/edgegap_find_match_button.gd
edgegap-godot/assets/godot/edgegap/edgegap_matchmaker.gd
edgegap-godot/assets/godot/edgegap/edgegap_server.gd
edgegap-godot/assets/godot/edgegap/edgegap_settings.gd
edgegap-godot/assets/godot/export_presets.server.cfg
edgegap-godot/assets/matchmaker/casual.json
edgegap-godot/references/deploy.md
edgegap-godot/references/godot.md
edgegap-godot/references/matchmaker.md
edgegap-godot/references/troubleshooting.md
edgegap-launch/SKILL.mdTake an Edgegap-hosted game from "the test deployment works" to live players: the launch checklist (token hygiene, app version settings, restart policy, max duration, self-stop, image caching, log storage), version naming and blue/green rollouts with zero matchmaking downtime, cost and leak control, rate limits, free-tier limits to lift before launch, observability (logs, metrics, deployment IDs), capacity planning with Edgegap, Private Fleets and persistent servers, and incident basics. Use when preparing a launch, beta or playtest on Edgegap, reviewing production readiness, rolling out a new server build, or when someone mentions going live, launch day, rollout, scaling, hosting costs or operating game servers with real players.
edgegap-local-testing/SKILL.mdProve a game server container behaves on a laptop exactly as it will on Edgegap before spending money: the parity docker run with Edgegap-style env vars, the random-external-port test, the SIGTERM drain test, boot timing, two servers on one host, resource sizing with docker stats, then one tagged test deployment on Edgegap with a real client. Use before any first deploy or new build rollout, when a server works locally but not on Edgegap, or when someone asks how to test a game server container, run it with Docker, or smoke-test a deployment. Engine-agnostic.
edgegap-manus/SKILL.mdManus + Edgegap: turn a browser game built with Manus (manus.im, Manus Game Dev, a Manus web app, or its code exported to GitHub) into an online multiplayer game with an authoritative dedicated server and matchmaking on Edgegap. Load this before using any Edgegap MCP tool on a Manus project. It has templates: Steam sign-in verified on the backend, backend join/status/cancel/leave routes that create Edgegap matchmaker tickets (mode, region, party, player IP) and return only the server address and a signed join token, a Node.js WebSocket game server that self-stops, a browser client with reconnect, a Dockerfile, a GitHub Actions image build, and a matchmaker config. Use when a Manus user wants online play: "make my Manus game multiplayer", "add matchmaking", "Find Match", "Steam login for my web game", "host my HTML5/JavaScript game server", or is debugging wss, CORS, tickets or deployments for a Manus game. Unity: edgegap-unity; Unreal: edgegap-unreal.
edgegap-manus/assets/backend/edgegapMatchmaker.ts
edgegap-manus/assets/backend/joinToken.ts
edgegap-manus/assets/backend/routes.example.ts
edgegap-manus/assets/backend/steamAuth.ts
edgegap-manus/assets/client/matchmakingClient.ts
edgegap-manus/assets/github/edgegap-game-server.yml
edgegap-manus/assets/manus-prompts.md
edgegap-manus/assets/matchmaker/manus-modes-regions.json
edgegap-manus/assets/scripts/dev-token.mjs
edgegap-manus/assets/scripts/gen-join-keys.mjs
edgegap-manus/assets/server/.dockerignore
edgegap-manus/assets/server/Dockerfile
edgegap-manus/assets/server/package.json
edgegap-manus/assets/server/src/auth.mjs
edgegap-manus/assets/server/src/game.mjs
edgegap-manus/assets/server/src/lifecycle.mjs
edgegap-manus/assets/server/src/server.mjs
edgegap-manus/references/backend.md
edgegap-manus/references/deploy.md
edgegap-manus/references/server.md
edgegap-manus/references/troubleshooting.md
edgegap-nakama/SKILL.mdNakama + Edgegap: keep Nakama for accounts, matchmaking and leaderboards, and run every match on its own Edgegap dedicated server near the players through the Edgegap Fleet Manager for Nakama (nakama-edgegap), end to end. Load this before using any Edgegap MCP tool on a project with a Nakama backend (a Go, TypeScript or Lua Nakama module, heroiclabs/nakama images, a Nakama client SDK: nakama-godot, nakama-unity, nakama-js). Engine-agnostic templates verified on Edgegap with Fish Game (Godot 4.7, Nakama 3.39): the Go module (Fleet Manager, AfterAuthenticate hook for the real sign-in method, MatchmakerMatched hook, notifications 111/112/113, a leaderboard only the server writes), game server code for READY, connection events, STOP and player checks, Dockerfile, compose. Use for "host my Nakama game on Edgegap", "Nakama matchmaker should start a dedicated server", "replace Nakama relayed matches", "Heroic Cloud plus Edgegap", or debugging nakama-edgegap. Unity servers: edgegap-server-nakama-plugin-unity.
edgegap-nakama/assets/game-server/godot/nakama_edgegap_server.gd
edgegap-nakama/assets/game-server/node/nakamaEdgegap.ts
edgegap-nakama/assets/nakama/.dockerignore
edgegap-nakama/assets/nakama/.env.example
edgegap-nakama/assets/nakama/.gitignore
edgegap-nakama/assets/nakama/docker-compose.yml
edgegap-nakama/assets/nakama/Dockerfile
edgegap-nakama/assets/nakama/go.mod
edgegap-nakama/assets/nakama/go.sum
edgegap-nakama/assets/nakama/main.go
edgegap-nakama/references/clients.md
edgegap-nakama/references/game-server.md
edgegap-nakama/references/infra.md
edgegap-nakama/references/nakama-module.md
edgegap-nakama/references/troubleshooting.md
edgegap-ngo/SKILL.mdNetcode for GameObjects (NGO) + Edgegap: take a Unity game built on NGO to dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on an NGO project (com.unity.netcode.gameobjects, NetworkManager, UnityTransport, StartHost, ConnectionManager, Boss Room). It has NGO C# templates verified on Edgegap that add themselves at runtime, no scene edits (server start and self-stop, Find Match panel, settings asset), a Boss Room ConnectionManager adapter, port 7777 UDP app version, Dockerfile, matchmaker config, and fixes for NGO pitfalls: host-only logic, connection payloads and approval, UnityTransport needing an IP, client-only code on the server, Relay leftovers. Use when an NGO dev wants online play: "host my NGO game", "nobody should host", "replace Unity Relay or Multiplay", "Boss Room on Edgegap", "Find Match button", or is debugging NGO deployments, ports or matchmaking on Edgegap. Mirror or WebGL-first games: edgegap-unity. FishNet: edgegap-fishnet. PurrNet: edgegap-purrnet.
edgegap-ngo/assets/docker/.dockerignore
edgegap-ngo/assets/docker/Dockerfile
edgegap-ngo/assets/matchmaker/casual.json
edgegap-ngo/assets/unity/EdgegapBootstrap.cs
edgegap-ngo/assets/unity/EdgegapMatchmakingClient.cs
edgegap-ngo/assets/unity/EdgegapMatchmakingDTOs.cs
edgegap-ngo/assets/unity/EdgegapQuitTimer.cs
edgegap-ngo/assets/unity/EdgegapServerLifecycle.cs
edgegap-ngo/assets/unity/EdgegapSettings.cs
edgegap-ngo/assets/unity/EdgegapSettings.cs.meta
edgegap-ngo/assets/unity/Editor/EdgegapServerBuild.cs
edgegap-ngo/assets/unity/Examples/BossRoom/EdgegapMatchmakingClient.BossRoomAdapter.cs.txt
edgegap-ngo/assets/unity/Examples/BossRoom/EdgegapServerStarter.cs
edgegap-ngo/assets/unity/Examples/BossRoom/EdgegapTestDriver.cs
edgegap-ngo/assets/unity/link.xml
edgegap-ngo/assets/unity/Resources/EdgegapSettings.asset
edgegap-ngo/references/deploy.md
edgegap-ngo/references/matchmaker.md
edgegap-ngo/references/ngo.md
edgegap-ngo/references/troubleshooting.md
edgegap-playfab/SKILL.mdPlayFab + Edgegap: keep PlayFab for players, login and Matchmaking, and run each match on its own Edgegap dedicated server near the players, started by PlayFab Azure Functions (CloudScript using Azure Functions), end to end. Load this before using any Edgegap MCP tool on a project that uses PlayFab for matchmaking (a PlayFab title ID, playfabapi.com, PlayFabMultiplayerAPI, CreateMatchmakingTicket) or is leaving PlayFab Multiplayer Servers (MPS, GSDK). Verified on Edgegap with a Unity FishNet game: match_found rule, StartEdgegapDeployment (POST /v2/deployments near the players), ready webhook, server address in player read-only data. Ships the Azure Functions, setup scripts, a dependency-free Unity client, server self-stop, and fixes for PlayFab pitfalls (new titles block LoginWithCustomID player creation, legacy CloudScript, ticket polling limits). Use for "PlayFab matchmaking with Edgegap servers", "replace PlayFab Multiplayer Servers", "PlayFab CloudScript Edgegap bridge", or debugging one.
edgegap-playfab/assets/azure-functions/.funcignore
edgegap-playfab/assets/azure-functions/.gitignore
edgegap-playfab/assets/azure-functions/host.json
edgegap-playfab/assets/azure-functions/local.settings.example.json
edgegap-playfab/assets/azure-functions/package-lock.json
edgegap-playfab/assets/azure-functions/package.json
edgegap-playfab/assets/azure-functions/src/functions/EdgegapDeploymentReady.js
edgegap-playfab/assets/azure-functions/src/functions/StartEdgegapDeployment.js
edgegap-playfab/assets/azure-functions/src/lib/edgegap.js
edgegap-playfab/assets/azure-functions/src/lib/playfab.js
edgegap-playfab/assets/docker/.dockerignore
edgegap-playfab/assets/docker/Dockerfile
edgegap-playfab/assets/scripts/deploy-functions.sh
edgegap-playfab/assets/scripts/playfab-setup.mjs
edgegap-playfab/assets/unity/EdgegapServer.cs
edgegap-playfab/assets/unity/Editor/EdgegapServerBuild.cs
edgegap-playfab/assets/unity/PlayFabMatchmakingClient.cs
edgegap-playfab/references/azure-functions.md
edgegap-playfab/references/clients.md
edgegap-playfab/references/game-server.md
edgegap-playfab/references/playfab.md
edgegap-playfab/references/troubleshooting.md
edgegap-purrnet/SKILL.mdPurrNet + Edgegap: take a Unity game built on PurrNet to dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on a PurrNet project (dev.purrnet.purrnet, NetworkManager start flags, UDPTransport, WebTransport, ParrelSync clones). It has PurrNet-ready C# templates verified on Edgegap that add themselves at runtime without editing scenes (server start and self-stop, connect panel with direct and matchmaker modes, settings asset), port 5000 UDP app version, Dockerfile, matchmaker config, and fixes for PurrNet pitfalls: auto start flags, the async StartClient, ObserversRpc that never runs on a dedicated server. Use when a PurrNet dev wants online play: "host my PurrNet game", "nobody should host", "works with a host but not online", "Find Match button", or is debugging PurrNet deployments, ports or matchmaking on Edgegap. Other Unity netcodes: edgegap-unity (NGO, Mirror) or edgegap-fishnet.
edgegap-purrnet/assets/docker/.dockerignore
edgegap-purrnet/assets/docker/Dockerfile
edgegap-purrnet/assets/matchmaker/casual.json
edgegap-purrnet/assets/unity/EdgegapBootstrap.cs
edgegap-purrnet/assets/unity/EdgegapConnectPanel.cs
edgegap-purrnet/assets/unity/EdgegapMatchmakingClient.cs
edgegap-purrnet/assets/unity/EdgegapMatchmakingDTOs.cs
edgegap-purrnet/assets/unity/EdgegapServerLifecycle.cs
edgegap-purrnet/assets/unity/EdgegapSettings.cs
edgegap-purrnet/assets/unity/EdgegapSettings.cs.meta
edgegap-purrnet/assets/unity/Editor/EdgegapServerBuild.cs
edgegap-purrnet/assets/unity/link.xml
edgegap-purrnet/assets/unity/Resources/EdgegapSettings.asset
edgegap-purrnet/references/deploy.md
edgegap-purrnet/references/matchmaker.md
edgegap-purrnet/references/purrnet.md
edgegap-purrnet/references/troubleshooting.md
edgegap-server-design/SKILL.mdDesign an authoritative dedicated game server that fits per-match hosting on Edgegap: who owns the game state, the deployment lifecycle (boot, read injected env vars, bind a fixed port on 0.0.0.0, accept players, self-stop at match end, drain on SIGTERM), logging, and what never goes in the server. Use whenever adding online multiplayer to a game, converting a host/client, listen-server or peer-to-peer game to dedicated servers, or when someone asks about netcode architecture, authoritative servers, match lifecycle, tick rate, cheat prevention or how a game server should behave on Edgegap. Engine-agnostic (Unreal, Godot, Node, custom engines); apply it before containerizing. Unity projects get the same rules, already applied, from edgegap-unity.
edgegap-troubleshoot/SKILL.mdDiagnose why a game server on Edgegap will not start, keeps restarting, stops early, or cannot be reached, for any engine: image push and pull failures (401, 403, 424 "unable to pull image"), exec format errors, 422 couldn't allocate, Error deployments, crash loops and OOM kills, 100% CPU, deployments stopping after 60 minutes or 24 hours, missing logs, clients timing out or failing to connect (internal vs external port, protocol, 0.0.0.0 binding, wss and TLS Upgrade), and matchmaker players stuck searching. Use when someone says their Edgegap deployment, server or matchmaking "isn't working", or pastes an Edgegap error. Unity-specific build and SDK issues are in edgegap-unity.
edgegap-unity/SKILL.mdUnity + Edgegap: get a Unity multiplayer game online with dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on a Unity project: it has the Unity workflow, tested C# templates (matchmaker client, server self-stop), Linux server build, Dockerfile, matchmaker config and fixes for known pitfalls. Use when a Unity dev wants online play: "put my game online", "play with people over the internet", "works on LAN/same wifi but not online", "nobody should have to host", "click Play and get matched", how Fall Guys/Among Us match players, servers for a playtest, "where do I start with servers". Also for Mirror host/client games moving to dedicated servers, WebGL multiplayer, or debugging Edgegap deployments, ports or matchmaking for a Unity game. Use even for beginners who never say Edgegap, servers or Docker. Not for NGO (edgegap-ngo), FishNet (edgegap-fishnet), PurrNet (edgegap-purrnet) or Fusion (edgegap-fusion) projects, Unreal (edgegap-unreal), Godot or non-game backends.
edgegap-unity/assets/docker/.dockerignore
edgegap-unity/assets/docker/Dockerfile
edgegap-unity/assets/matchmaker/casual.json
edgegap-unity/assets/matchmaker/teams-latency.json
edgegap-unity/assets/unity/EdgegapMatchmakingClient.cs
edgegap-unity/assets/unity/EdgegapMatchmakingDTOs.cs
edgegap-unity/assets/unity/EdgegapServerLifecycle.cs
edgegap-unity/assets/unity/Editor/EdgegapSceneSetup.cs
edgegap-unity/assets/unity/Editor/EdgegapServerBuild.cs
edgegap-unity/assets/unity/link.xml
edgegap-unity/references/deploy.md
edgegap-unity/references/matchmaker.md
edgegap-unity/references/netcode.md
edgegap-unity/references/troubleshooting.md
edgegap-unreal/SKILL.mdUnreal Engine + Edgegap: get an Unreal multiplayer game online with dedicated servers and matchmaking, end to end. Load this before using any Edgegap MCP tool on an Unreal project: it has the Unreal workflow, tested C++ drop-ins (matchmaker client with latency beacons, server self-stop), source-engine and Linux cross-compile setup, server packaging, Dockerfile, matchmaker config and fixes for the pitfalls that cost hours. Use when an Unreal dev wants online play: "put my game online", "players can only join on LAN", "nobody should have to host", "click Play and get matched", listen server to dedicated server, a .uproject that needs servers, "open <ip>" connections, packaging a Linux server, or debugging Edgegap deployments, ports or matchmaking for an Unreal game. Covers C++ and Blueprint-only projects. Use even for beginners who never say Edgegap, servers or Docker. Not for Unity (edgegap-unity), Godot or non-game backends.
edgegap-unreal/assets/docker/.dockerignore
edgegap-unreal/assets/docker/Dockerfile
edgegap-unreal/assets/matchmaker/latency.json
edgegap-unreal/assets/unreal/Config/DefaultGame-edgegap.ini
edgegap-unreal/assets/unreal/Source/EdgegapMatchmakerSubsystem.cpp
edgegap-unreal/assets/unreal/Source/EdgegapMatchmakerSubsystem.h
edgegap-unreal/assets/unreal/Source/EdgegapServerSubsystem.cpp
edgegap-unreal/assets/unreal/Source/EdgegapServerSubsystem.h
edgegap-unreal/references/deploy.md
edgegap-unreal/references/engine-setup.md
edgegap-unreal/references/matchmaker.md
edgegap-unreal/references/server-ready.md
edgegap-unreal/references/troubleshooting.md

TDQS

A4.1/5.0

Scored across 22 tools

Disambiguation4/5

Almost every tool targets a distinct resource+action (apps, versions, deployments, relay sessions, registry, config, skills), and the descriptions explicitly steer between the few that could overlap. The deployment trio (deploy/get_deployment/wait_for_deployment) is the only real overlap, but the text clearly explains when to use each, so ambiguity is minimal.

Naming Consistency4/5

Nearly all tools follow a consistent edgegap_verb_noun pattern (list_apps, create_app, get_deployment, stop_deployment). Minor deviations like edgegap_deploy (verb only) and edgegap_context (noun only) break the pattern slightly but remain readable and unambiguous.

Tool Count4/5

22 tools is on the heavy side, but the domain is genuinely broad (app/version lifecycle, deployments, relay sessions, registry, Dockerfile/config generation, matchmaker, and skills). Each tool maps to a distinct capability rather than padding, so the count is justified though near the upper bound.

Completeness4/5

Deployment and relay lifecycles are well covered (create/list/get/wait/stop, plus logs, and full relay CRUD), and config/skill helpers round it out. The main gaps are app- and version-level update/delete operations, which are minor and likely intentional given the API surface.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive