本指南将向您展示如何在游戏中保留用于好友和组队的 Steam 大厅,并为每场比赛启动一个 Edgegap 专用游戏服务器:当大厅房主开始比赛时,您的后端会通过 Steam 验证玩家身份,在他们附近部署一台服务器,然后大厅将服务器地址分发给每位成员。
一旦您的游戏服务器完成容器化,Edgegap 即可通过简单的 API 调用将其按需部署到全球 615 多个边缘云节点,并完全按使用量计费:无需租用、配置整台服务器,也无需在比赛间隔期间保持其运行。针对具有预留容量的持久性服务器,Edgegap 提供了专用机队(Private Fleets)。
Steam 负责将玩家分组;Edgegap 负责托管比赛。它们之间只需运行一个位于您后端的小型服务,因为启动服务器需要您的 Edgegap API 令牌,而该令牌绝不能放入游戏客户端。您游戏的数据流量将直接发送到专用服务器,而无需通过 Steam 中继。
本指南涵盖:
准备一个可用的 Edgegap 应用版本以及您的 Steamworks 应用
将您的编码智能体(Coding Agent)连接到 Edgegap(可选)
设置您的 Steam 大厅
为后端添加带有 Steam 登录功能的部署服务
在大厅就绪时请求服务器
与大厅共享服务器信息并结束比赛
使用两名玩家进行测试
您可以通过两种方式进行操作,也可以结合使用:
使用编码智能体。将 Claude Code、Cursor 或其他智能体连接到 Edgegap MCP 服务器及其智能体技能。智能体负责编写部署服务和大厅代码,并检查您的应用版本及部署情况。您只需处理 Steamworks、Edgegap 控制面板、机密密钥并进行游戏测试。
手动操作。以下每个步骤也可以在没有智能体的情况下完成。
1. 开始之前
一个免费的 Edgegap 账户。请验证您的电子邮箱。测试无需信用卡。
游戏服务器的一个可用 Edgegap 应用版本:您至少部署并加入过一次的服务器。您的后端会为每场比赛部署该版本,因此需要一个功能完备的容器化游戏服务器来实现端到端运行。如果您目前还没有,请参考我们的指南:Unity Engine、Unreal Engine、Godot Engine 或 Custom Engine。记下其应用名称(application name)、版本名称(version name)和端口名称(port name,通常为
gameport)。一个 Steamworks 应用,在您的游戏中包含 Steamworks SDK(或您引擎的 Steam 集成)、其 App ID,以及来自 Steamworks 合作伙伴网站的供您后端使用的 Web API 发布者密钥。
一个由您控制的后端,用于部署服务:您现有的游戏后端,或一个小型无服务器函数(serverless function)。
一个 Edgegap API 令牌,从 控制台 → 用户设置 → 令牌 获取,并存储在后端的机密管理器中。该令牌是组织级的,因此切勿将其放入游戏客户端、游戏服务器、项目文件或聊天中。
Unreal Engine:保留 Steam 用于大厅、好友和成就功能,但直接连接到服务器:使用
IpNetDriver并设置bUseSteamNetworking=false。我们的 Unreal Engine 指南涵盖了服务器构建。
2. 将您的代码代理连接到 Edgegap
如果您全部采用手动操作,请跳过此步骤。
Edgegap MCP 服务器允许您的智能体检查您的应用程序及版本、部署测试服务器并读取您账户上的日志。edgegap-deployments-api 智能体技能为它提供了启动 Edgegap 服务器的后端经过测试的规则:令牌存放位置、在玩家附近部署服务器、webhook、重试以及清理。
Claude Code(在您自己的终端中运行,这样令牌就绝不会通过聊天传递):
claude mcp add --transport http edgegap https://mcp.edgegap.dev/mcp -H "Authorization: token YOUR_EDGEGAP_API_TOKEN" --scope user
然后安装技能:/plugin marketplace add edgegap/edgegap-agent-skills,接着 /plugin install edgegap@edgegap。重启会话。
Cursor、VS Code 以及其他发送请求头的客户端:添加 https://mcp.edgegap.dev/mcp,并附带请求头 Authorization: token YOUR_EDGEGAP_API_TOKEN,然后使用 npx skills add edgegap/edgegap-agent-skills --skill "*" 安装技能。
Claude Desktop:自定义连接器无法发送该请求头,因此请改用本地服务器(Node 18+):{ "mcpServers": { "edgegap": { "command": "npx", "args": ["-y", "@edgegap/mcp"] } } }。首次使用时会要求输入令牌。
检查是否正常工作:
“列出我的 Edgegap 应用程序及其版本,包括每个版本的端口。”
3. 设置你的 Steam 大厅
大厅承载着对局。只需两个大厅数据键即可:服务器的地址和端口。其他一切均保持您游戏已有的设置不变。
玩家像以往一样创建和加入大厅,使用 Steamworks 的
ISteamMatchmaking(CreateLobby、邀请、JoinLobby)。添加两个大厅数据键(目前为空),例如
server_host和server_port。只有大厅所有者才能设置大厅数据(SetLobbyData);发生更改时,每位成员都会收到LobbyDataUpdate_t回调。(可选)还可以使用
SetLobbyGameServer设置大厅的游戏服务器(IP 和端口):随后 Steam 会向成员发送一个LobbyGameCreated_t回调,Steam 自带的 UI 可以识别该回调。
4. 为您的后端添加部署服务,并支持 Steam 登录
验证玩家身份。您的后端需要知道调用方是谁。在游戏中,使用 ISteamUser::GetAuthTicketForWebApi 获取凭证,等待 GetTicketForWebApiResponse_t 回调,然后将该凭证(十六进制编码)发送给您的后端。您的后端使用您的发行商密钥调用 Steam 的 Web API ISteamUserAuth/AuthenticateUserTicket 并获取玩家的 SteamID。它还会记录在该请求中看到的公网 IP:Edgegap 会使用这些 IP 在所有玩家就近的位置启动服务器。
启动服务器。只需一次调用:POST https://api.edgegap.com/v2/deployments,附带请求头 Authorization: token <您的 API 令牌>,请求体包含:
application和version:您的 Edgegap 应用以及要运行的版本,从您的配置中读取。users:每个玩家的公网 IP,格式为{"user_type": "ip_address", "user_data": {"ip_address": "..."}}。Edgegap 会为整个群体选择 ping 延迟最佳的位置。tags:例如lobby-<id>,以便稍后查找该服务器。webhook_on_ready(以及webhook_on_error):您的后端 URL,其中包含不可推测的每个大厅专属令牌。服务器启动后,Edgegap 会调用它并传入服务器的fqdn、public_ip和ports.gameport.external。
Edgegap 会返回包含 request_id 的 202 响应:请立即将其与大厅关联存储。如果调用超时,在重新部署之前,请先查找带有 lobby-<id> 标签的部署。返回 422 意味着暂时无法分配服务器:请使用退避机制重试。Webhook 不会重试,因此如果未及时收到,请检查 GET https://api.edgegap.com/v1/status/<request_id>。
配合您的智能体:
“加载 edgegap-deployments-api 技能,并在我的后端为 Steam 大厅添加一个 Edgegap 部署服务:一个使用 ISteamUserAuth/AuthenticateUserTicket 验证 Steam Web API 凭证并记录玩家 IP 的登录端点,以及一个大厅房主使用大厅 ID 和成员 SteamID 调用的开始比赛端点——该端点会检查调用方是否拥有该大厅,使用 POST /v2/deployments 部署我的应用版本(附带标签、就绪和错误 webhook),存储 request_id 并在就绪后返回服务器地址。从我的密钥管理器中读取 API 令牌和 Steam 发行商密钥。”
原型捷径,请勿用于正式发布:直接从大厅房主的游戏客户端调用 Edgegap API 会将您的整个组织级 API 令牌打包进游戏构建版本中,任何人都可以将其提取出来。请仅在您自己的机器上使用。
5. 大厅准备就绪后请求服务器
在大厅房主开始比赛时:
大厅房主的游戏会以该玩家的登录身份,携带大厅 ID 和成员的 SteamID 调用您的部署服务。
您的服务会检查调用者是否拥有该大厅,并确认每位成员均已登录,然后部署服务器并立即返回。服务器需要几秒钟的时间启动。
大厅房主的游戏等待获取地址:它会每隔几秒检查一次您的服务,或者由您的服务向其发送通知,直到就绪 Webhook 到达。
与此同时,向玩家显示“正在启动服务器”状态;如果您的服务报告错误,则显示重试选项。
6. 将服务器分享到大厅,并结束比赛
大厅房主通过
SetLobbyData设置server_host和server_port。Steam 会通知每位成员。每位成员连接到该地址和端口。就绪意味着容器已启动;游戏可能还需要最多一分钟来加载,因此请在一段时间内每秒重试一次连接。浏览器和 WebSocket 客户端使用
wss://连接到主机名。比赛结束时,大厅房主清除这两个键,成员离开服务器。服务器停止其自身部署:在比赛结束时,它会使用
ARBITRIUM_DELETE_TOKEN调用 Edgegap 提供给每个部署的ARBITRIUM_DELETE_URL。无需 API 令牌。
想与相同玩家重赛?大厅房主请求新服务器,流程重新开始。
您的部署服务会停止任何遗留的实例,例如在比赛开始前解散的大厅。通过精确的 request_id 停止这些实例(DELETE https://api.edgegap.com/v1/stop/<request_id>;410 表示它已停止),切勿使用宽泛的过滤器。
7. 双人测试
确保没有测试部署仍在运行:免费层一次只能运行一个部署。
在两台电脑上启动两个客户端,分别登录不同的 Steam 账户,并加入同一个大厅。
以大厅房主的身份开始比赛。您的服务将部署服务器;在 Edgegap 控制台中,部署将显示并带有该大厅的标签,位于您附近的某个位置。
两个客户端都会收到大厅更新并连接到同一台服务器。
结束比赛:密钥清除,服务器自行停止,并从控制台中消失。
如果大厅获取到了地址但没人能连接,问题在于服务器,而不是大厅:请手动部署您的版本并直接加入。
准备上线?让您的代理运行 edgegap-launch 技能的检查清单:版本发布、重启策略、最长持续时间、成本控制。不仅匹配好友,还要匹配陌生人?在您的大厅旁添加 Edgegap 托管的撮合系统。
遇到问题?让您的代理加载 edgegap-troubleshoot,或在 Edgegap Discord 上咨询我们的团队及其他工作室。
常见问题
关于从 Steam 大厅启动 Edgegap 专属服务器的常见问题。
Steam 大厅可以使用专用服务器吗?
是的。您可以继续使用 Steam 大厅来进行好友组队和派对。当大厅房主开始比赛时,您的后端会在玩家附近部署一个 Edgegap 服务器,房主会通过大厅数据共享其地址,以便每个成员都能连接。
我需要后端才能通过 Steam 大厅启动 Edgegap 服务器吗?
是的。启动服务器需要您的 Edgegap API 令牌,该令牌可访问您的整个 Edgegap 组织。在游戏客户端中,任何人都可以提取它。后端可以对其进行保密,并首先通过 Steam 验证玩家身份。
如何在我的后端验证 Steam 玩家身份?
游戏通过 GetAuthTicketForWebApi 获取票据并将其发送到您的后端,后端使用您的发行商密钥调用 Steam 的 ISteamUserAuth/AuthenticateUserTicket Web API。Steam 将返回玩家的 SteamID。
Steam 会将流量中继到 Edgegap 服务器吗?
不。玩家直接连接到专用服务器的地址和端口。在 Unreal Engine 中,使用 IpNetDriver 并关闭 Steam 网络功能;Steam 仍负责处理大厅、好友和成就。
比赛结束时,我该如何停止 Edgegap 服务器?
服务器会使用 Edgegap 注入到每个部署中的删除 URL 和令牌来停止自身的部署,无需任何 API 令牌。您的后端还会通过其确切的请求 ID 来停止残留的部署。

客户
了解更多已接入 Edgegap 的客户案例
提供 31 个从其他平台迁移至 Edgegap 的工作室案例研究。

《以太之战 2》完美的全球发布
Aether Studios
了解Aether Studios是如何快速添加Edgegap并向他们的社区交付完美的启动和后启动服务的。
Case Study

克服因虚拟现实在竞技Multiplay中使用WiFi而引入的延迟
Halfbrick Studios
Discover how Halfbrick successfully launched & maintains a multiplayer-focused Early Access on META Quest's VR platform.
Case Study

MENA的社交应用添加了在线游戏
WOLF
了解这款在中东和北非地区广受欢迎的社交应用如何轻松地将 matchmaking 和多人游戏编排添加到 WOLF Qanawat。
Case Study

混合编排让开球策略随时应对任何流量做好准备
Birch Games
混合编排如何帮助 Birch Games 应对流量——将免流出费用的 Fleets 与无区域限制云相结合。
Case Study

7天血月
The Fun Pimps & iLLOGIKA
了解 Illogika 如何大幅降低服务器成本,并确保提供《七日杀 (7 Days to Die)》玩家所期望的在线体验。
Case Study

真实的在线战争需要终极的协调
Highwire Games
了解Highwire对性能的需求如何需要只有Edgegap才能提供的编排。
Case Study

22,000 条评价、4.8 颗星以及自动扩展的基础架构
Sinn Studios
一个由 Slack 提供支持的简单集成,如何让 Sinn Studio 的热门 VR 游戏快速上线并保持稳定运行。
Case Study

动态服务器编排
Under NDA - AAA Studio
了解世界上最大的AAA工作室之一如何通过边缘计算改善其对等多人游戏体验。
Case Study

对于 AAA 格斗游戏的近零延迟
AAA Studio - Under NDA
一个未宣布的项目如何实现了最低延迟,并改善了其1v1游戏中的公平性。
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

全面托管的解决方案为独立游戏节省时间 多人VR恐怖游戏
Dirty Pearl Studios
了解Dirty Pearl Studios如何通过Edgegap的轻松集成和自动编排,以及其Nakama集成,节省了开发时间。
Case Study

即时全球服务器部署以促进协作式XR医学教育
AlensiaXR
AlensiaXR如何利用Edgegap为全球医学生提供低延迟、始终可用的共享解剖课程。
Case Study

守光人:具有专用服务器的 VR 社交合作游戏
Spectral Games
Spectral Games 如何在无需任何服务器经验的情况下,利用 Edgegap Matchmaking 和 Server Browser 为其 VR 社交大厅启动专用服务器。
Case Study

全球范围内快速可靠的部署,适用于PvPvE挑战者Gravebound
Crater Studios
Edgegap 的调度和配对如何帮助 Crater Studios 使他们能够将重心从基础设施转移到游戏玩法上。
Case Study

快速扩展网络元宇宙
Hiber
了解Hiber如何通过Edgegap消除服务器容量规划中的猜测。
Case Study

高硬件要求和自定义游戏服务器池
Alderon Games
了解Alderon Games如何瞬间利用全球多个供应商的自定义游戏服务器池来支持其热门MMO。
Case Study

独立开发者的简单集成
WhaleFood Games
阅读关于WhaleFood Games如何使用Edgegap解决其网络代码问题的文章。
Case Study

推动东南亚首款电子竞技游戏的尖端技术。
Anantarupa Studios
了解Edgegap如何通过一个无缝解决方案简化复杂基础设施和尖端技术,从而改变东南亚的游戏格局。
Case Study

一次打击。全球抵达。
Triple Hill Interactive
Triple Hill Interactive如何利用Edgegap的编排来提供低延迟,并提高在每毫秒都至关重要的游戏类型中的公平性。
Case Study

快节奏团队大逃杀...带着枪的动物毛绒玩具!
SANDYFLOOR
了解一家韩国独立工作室是如何将其多人游戏发布到全球的。
Case Study

移动端赛马游戏凭借即时、高效能的服务器走向全球
Mirai Labs
看 Mirai Labs 如何通过即时服务器部署和细分 vCPU 来运行 Pegaxy Blaze 的全球多人竞速游戏,从而将单个玩家的成本保持在极低水平。
Case Study

服务器管理与分发
Matrioshka Games
阅读关于Matrioshka Games如何在资源有限的情况下发布早期访问的战斗 Royale。
Case Study

听我的信号,释放地狱!
TyGames
探索独立工作室TyGames如何让玩家沉浸在第三人称角斗士战斗的多人游戏中。
Case Study

瞬时全球编排
Soliton Interactive
探索Soliton Interactive如何做到了不可能……首次推出可多人玩的版本!
Case Study

竞技游戏具有服务器端物理引擎,确保理想的低于50毫秒的延迟
NS7
了解为什么仅有Edgegap能够使独立工作室通过服务器端物理和权限实现其AAA质量的免费游戏体育玩法愿景。
Case Study

iGaming的区域部署
X1 Contra 1
X1 Contra 1 通过经济高效的托管和区域部署,为其巴西玩家提供实时 PvP 休闲游戏,确保数据和法律合规。
Case Study

仅在玩家游玩时付费:经济实惠的多人游戏基础设施
Meltdown Interactive
Edgegap 如何帮助独立开发商 Meltdown Interactive Media 在无需复杂方案的情况下,以高性价比解决扩缩容和匹配问题,从而让他们能够专注于游戏开发。
Case Study

同一个 Edgegap 平台,三种截然不同的网络配置
Warped Games
了解 Warped Games 如何在同一个 Edgegap 部署 API 和同一个容器管线上运行社交中心、实时合作以及回合制合作。
Case Study

台球大师巡回赛Max
RETA Games
Case Study

韩国的Web3 POP提取射击游戏走向全球,即刻启程
NDUS Entertainment
XOCIETY 如何轻松地添加 Edgegap 编排并集成自定义 matchmaking,与 Edgegap Ping Beacons 一起优化延迟。
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 移动格斗游戏利用即时(Just-In-Time)服务器降低基础设施成本
Game Changers Worldwide
Game Changer Worldwide 如何在全球移动端托管 Rumble Rush 的实时 3v3 PvP 游戏。
Case Study
他们选择 Edgegap 的关键原因
了解 Edgegap 自动化游戏服务器编排如何带来无缝的多人游戏体验。









