bolt部署

了解部署及其生命周期——用于深入理解的概念与最佳实践。

🗺️ 编排

我们采用云原生边缘计算方法,可在数秒内启动新服务器以满足容量需求。我们将服务器视为 牛群而不是宠物arrow-up-right ——直接替换故障实例,而不是逐个手动照料。

circle-info

你的编排选择将 影响你的 DevOps 成本、服务器成本和可扩展性.

circle-check

为了全面理解所有优缺点,让我们比较各种编排方法。

匹配绑定

面向现代工作室的黄金标准,提供 最易集成且成本效率最佳.

👍 优势

  • 最佳成本效率——按分钟实时扩缩容以满足玩家需求。

  • 由于无区域托管,DevOps 成本最低,Edgegap 可自动化 99% 的任务。

  • 由于 Edgegap 公有云基础设施拥有 615+ 个站点,延迟最低。

  • 在意外流量激增时,扩容速度最快(突发能力最强)。

  • 最高标准的安全性和玩家作弊防护(服务器权威)。

  • 服务器意外崩溃对玩家的影响最小,只会影响单局比赛。

👎 缺点

  • 采用新的编排思维模型,起初需要一定的上手成本。

  • 运行超过 24 小时的服务器将被自动终止。

🧩 最适合

  • 对延迟敏感的游戏—— 当网络代码优化无法克服高延迟时:

    • 第一人称射击、格斗游戏、VR 与 XR(虚拟与扩展现实)等。

  • 具有 按设计限定比赛时长上限的游戏,

    • 大逃杀、 PvPvE、合作射击、MOBA、体育游戏、ARPG 和地牢爬行游戏等。

🔎 可发现性

circle-info

Edgegap 会根据每个区域的玩家活动自动上下扩缩所有 615+ 个服务器位置。为成功做好准备——无缝 在 60 分钟内扩展到 1400 万并发用户arrow-up-right.

区域待机

面向以下场景的传统模型 具有用户生成内容和社交 MMO 游戏的持久世界.

👍 优势

  • 熟悉且易于理解,是久经沙场老兵的老派做法。

  • 最高标准的安全性和玩家作弊防护(服务器权威)。

  • 基于每月承诺的成本,容易预测。

👎 缺点

  • 托管成本更高——每个区域都需要一个或多个闲置待机服务器(突发容量)。

  • DevOps 成本更高——每个区域都要重复扩容、运维和维护。

  • 玩家基础较小的区域会因为连接到远处服务器而出现高延迟。

🧩 最适合

  • 即使玩家离线,服务器上仍保存带有用户生成内容的持久世界。

    • MMO、带基地建设或物体放置的沙盒游戏、撤离射击等。

  • 对延迟容忍的游戏—— 当不需要服务器权威的实时物理计算时:

    • 移动游戏、合作游戏、TCG/CCG、回合制策略等。

  • 异步多人游戏, 服务器崩溃对玩家体验影响最小:

    • 与幽灵竞速、掠夺敌方基地、基于计时器的建造/种植类游戏等。

  • 初始化过程繁重的应用——当准备服务器需要几分钟时。

🔎 可发现性

circle-info

查看 托管集群 关于 在 Edgegap 上自托管你的微服务和后端服务

点对点

将开发重点从 专用服务器 转向 用于非竞技游戏的中继网络代码.

相关主题:监听服务器、玩家主机权威、NAT 穿透。

👍 优势

  • 托管成本最低,只需中继服务器来解决 NAT 穿透。

  • DevOps 成本最低——只需维护客户端构建和分发渠道。

  • 服务器意外崩溃对玩家的影响最小,只会影响单局比赛。

  • 实现简单,原型开发速度快,无需任何后端开发。

👎 缺点

  • 需要更多点对点网络代码开发工作,并要求并发编程技能。

  • 延迟最差,也最容易受不利网络条件影响(例如移动网络)。

  • 安全性最弱,易受中间人攻击和会话劫持。

  • 如果你不实现自定义主机迁移,主机离开时有掉线风险。

🧩 最适合

  • 合作与休闲游戏—— 当作弊不会破坏乐趣或破坏游戏时,

    • 儿童游戏、探索游戏、冒险等。

🔎 可发现性

circle-check

📍 服务器放置

无论你选择哪种编排方法,为一组玩家选择合适的服务器位置都至关重要,这能确保尽可能最佳的延迟和理想的玩家体验。了解不同的服务器放置策略,以及它们如何影响你的玩家。

circle-info

你的服务器放置策略将 影响玩家体验、留存率以及你的游戏评价.

circle-check
circle-info

查看 部署 转向 实时分析服务器放置,在大规模场景下。

服务器评分

服务器评分策略使用 Edgegap 的专利方法,该方法 为每一场对局单独优化服务器放置。它执行非侵入式遥测,以近似每位玩家到我们服务器位置的网络距离,并选择能提供最佳以下结果的服务器:

  • 响应性 ——为所有玩家平均提供最低延迟,

  • 公平性 ——为所有玩家提供均衡且公平的延迟。

circle-check

响应迟钝的放置 ——服务器距离太远,所有玩家延迟都很高:

不公平的放置 ——延迟不均,有一名玩家处于劣势:

良好放置示例 ——对所有玩家都具有响应性且公平的延迟:

circle-info

该策略 尤其适合为彼此相距较远的一组玩家提供托管 (北美 vs. 欧洲,或西海岸 vs. 东海岸),预组大厅中经常会出现这种情况。

地理定位

或者, 提供玩家的纬度和经度坐标,或首选服务器位置的坐标 ,而不是依赖自动遥测。此方法需要额外的客户端地理定位实现,完全依赖游戏开发者的解决方案。

circle-exclamation
circle-check

区域锁定

服务器可使用粗略概括的区域参数进行放置,方式如下:

  • 根据玩家的元数据(玩家账户数据库)自动为玩家选择,或者

  • 在匹配过程中由玩家选择,从而允许在较高客户端-服务器延迟下进行放置。

triangle-exclamation
circle-check

🟢 连接质量

某些游戏(以及某些玩家)比其他游戏更容易受到延迟或卡顿影响。虽然玩家报告在大规模场景下是事故或回归 bug 的绝佳指标, 但玩家可能并不深入了解网络概念 ,并且很快就会将责任归咎于工作室、网络代码或服务器。

某些问题的根因可能对玩家是隐藏的,因此工作室与托管提供商的合作至关重要。 Edgegap 的首要任务始终是提供尽可能最好的服务。

如果你收到大量玩家报告、遭遇大范围中断,或出现重复性问题,请立即通过我们平台中的支持工单联系我们。

低延迟

玩家延迟是以下数据传输延迟的组合:

  • 物理设备—— 跨越……的物理信号 互联网网络拓扑arrow-up-right,

  • 主机到主机 ——由协议、传输和安全措施产生,

  • 进程到进程 ——由客户端/服务器中的(解)封装和数据处理产生。

Edgegap 通过将服务器放置得更靠近你的玩家来降低物理延迟,从而获得更短的响应时间和更少的网络跳数。凭借遍布 17 家云和裸金属提供商的站点,你可以获得 全球各地玩家一流的延迟表现.

全球范围内的服务器和互联网覆盖(不仅限于 Edgegap)受限于以下因素:

  • 基础设施可用性 ——某个区域的互联网连接质量可能不足,

  • 自然因素 ——高度复杂的服务器机架大多需要稳定的环境。

高可用性

全球不同位置的服务器可用性会随时间变化,并且在一天中多次改变。Edgegap 会自动 上下扩缩 位置 按需,同时考虑:

  • 突发流量 ——15 分钟内完成的部署,

  • vCPU 需求 ——每个部署需要更多 vCPU 会增加对特定位置的总体需求,

  • 提供商供给 ——某些偏远位置可用的提供商选项更少,

  • 机器可用性 ——某些位置可能只提供 4 vCPU 或 8 vCPU 的机器,

  • 工作室请求 用于测试、质量保证、抢先体验、封闭测试或锦标赛。

所有应用程序的部署请求会合并起来以评估位置需求。默认情况下,所有组织具有相同的分配优先级,并且 可为需要特定硬件或位置的企业客户添加私有服务器池.

circle-check

玩家问题解决

玩家问题可能源于服务器 bug 或提供商事故,也可能来自第三方,例如本地 ISP、游戏服务、底层库 bug、基础设施提供商或其他来源。

在排查玩家报告或事故时,请考虑以下因素:

  • 匹配质量 ——玩家应彼此接近(同一区域),以便 部署 获得最佳结果:

  • 区域性问题:

    • 本地互联网服务提供商(ISP)可能正在暂时处理事故,

    • 某些区域(例如中国、俄罗斯)可能因地区性制裁而受限,

  • 缓存级别 ——Edgegap 将优先在已缓存的位置快速部署:

  • 最长部署时间 ——由于初始化过程缓慢且繁重,部署可能失败:

    • 查看 应用与版本 要增加超时时间,

    • 将初始化步骤延后到绝对必要时再执行,

  • 服务器镜像或集成问题.

circle-check
circle-info

向用户通知广泛 bug、临时性问题和中断,以减轻负面情绪。

🔄 部署生命周期

Edgegap 部署会经历若干生命周期阶段,以部署状态表示。

1. 启动部署

一个用于 测试目的 的部署可通过以下方式启动:

一个用于 实时生产环境 应通过以下方式启动:

circle-check
circle-info

在使用 部署 APIarrow-up-right测试时,你可以覆盖默认 Dockerfile 的 CMD 为自定义命令。

2. 正在部署

一旦部署启动,我们的系统将快速连续执行多个步骤:

  • 遥测——我们正在测量各可用数据中心到每位玩家的网络响应性,

  • 部署——我们正在预留容量并准备启动你的服务器容器,

  • 容器启动——我们正在启动容器、安装依赖并初始化,

  • 后处理——我们正在添加日志存储、监控并完成部署。

circle-exclamation

3. 部署就绪

你的容器已完全初始化,服务器正在启动。接下来的几秒到一分钟内,你的服务器可能仍在初始化,在游戏引擎(或自定义运行时)完全准备好接受玩家连接之前,可能不会响应玩家请求。

circle-check

4. 部署错误

由于意外原因,你的部署可能在任何时间点进入错误状态。该情况更可能发生在测试你的集成或测试新的服务器构建时。

处于错误状态的部署不会收费,并会在 24 小时后自动停止。

排查步骤:

circle-check

5. 部署已停止

我们绝不会在没有你指令的情况下停止你的服务器,以防止对玩家体验产生负面影响。你的部署可能因以下原因被停止:

circle-info

一旦部署停止, 我们会触发优雅终止 ,方法是向你的主进程发送 SIGTERM 信号,允许一小段终止时间。时间到后,将发送 SIGKILL 信号以停止部署。

👀 可观测性

让游戏服务器与第三方互操作,并获得运维洞察。

可发现性

一旦就绪,部署将被分配一个 URL(fqdnarrow-up-right)以及每个内部端口对应的外部端口。

circle-check
circle-info

来自你的游戏服务器的出站流量(到客户端或后端)从不会被阻止 或过滤。

WebSocket(WS)和安全 WebSocket(WSS)

要将基于 WebSocket 的网络代码与 Edgegap 配合使用,你有两个选择:

  • 托管证书,无需编写任何代码即可在 1 分钟内设置:

    • 配置你的 应用与版本 转向 使用 WebSocket(WS)并启用 TLS 升级,

    • 使用 Edgegap URL 连接客户端(例如 https://5fa53fa00a57.pr.edgegap.net/)

  • 自主管理证书,如果你想使用自己的自定义域名:

triangle-exclamation

注入变量

游戏服务器通常需要额外信息,例如服务器 IP、内部端口值或其他信息。注入只读环境变量是一种可靠且与云无关的方式来传递参数。

circle-info

查看 应用版本变量 以及 匹配器变量 以及下面的部署变量。

自定义变量

为每个部署定义最多 20 个自定义变量,每个变量最多包含 4KB 字符串数据。

circle-exclamation

通过读取由 Edgegap 注入到你的服务器中的变量来获取重要信息:

标识符

  • ARBITRIUM_REQUEST_ID - 例如 f68e011bfb01 .

    • 唯一部署 ID,也称为请求 ID。用于检索更多信息。

    • 部署 URL 的格式始终为 {ARBITRIUM_REQUEST_ID}.pr.edgegap.net.

  • ARBITRIUM_PUBLIC_IP - 例如 162.254.141.66 .

    • 该主机的公网 IP 地址,可用于连接而不是使用 URL。

  • ARBITRIUM_HOST_ID - 例如 alpha-north-america-70364ef8 .

    • 托管你部署的机器的唯一标识符,与其他部署共享。

  • ARBITRIUM_DEPLOYMENT_TAGS - 例如 tag1,tag2 .

  • ARBITRIUM_PRIVATE_FLEET_ID - 例如 PUBLIC_CLOUD ,或当托管在 私有舰队.

资源规格

  • ARBITRIUM_HOST_IN_PRIVATE_FLEET - 例如 false ,表示是否托管在 私有舰队.

  • ARBITRIUM_HOST_BASE_CLOCK_FREQUENCY - 例如 2000 ,处理器频率,单位为 MHz。

  • ARBITRIUM_DEPLOYMENT_VCPU_UNITS - 例如 256,分配的 vCPU 单位(1024 = 1 vCPU)。

  • ARBITRIUM_DEPLOYMENT_MEMORY_MB - 例如 512,分配的内存,单位为 MB(1024 = 1 GB)。

生命周期管理

  • ARBITRIUM_DELETE_URL - 例如 https://api.edgegap.com/v1/self/stop/9f511e17/660.

    • 可从部署中调用, 部署将被优雅停止.

    • 需要唯一的一次性 ARBITRIUM_DELETE_TOKENAuthorization 头中。

  • ARBITRIUM_DELETE_TOKEN - 例如 7df4cd933df87084b34ae80d8abde293.

  • ARBITRIUM_CONTEXT_URL - 例如 https://api.edgegap.com/v1/context/9170f5211e17/17.

    • 只能从部署中调用,返回更多部署详情。

    • 需要唯一 ARBITRIUM_CONTEXT_TOKENAuthorization 头中。

  • ARBITRIUM_CONTEXT_TOKEN - 例如 dfaf50b9333b9ee07b22ed247e4a17e6.

可发现性

  • ARBITRIUM_PORT_GAMEPORT_INTERNAL - 例如 7777 ,服务器监听的内部端口。

  • ARBITRIUM_PORT_GAMEPORT_EXTERNAL - 例如 31504 ,供客户端连接的外部端口。

    • 出于安全原因,每个部署的外部端口值都会随机化。

  • ARBITRIUM_PORT_GAMEPORT_PROTOCOL - 例如 UDP ,你的网络代码传输协议。

circle-check
  • ARBITRIUM_BEACON_ENABLED - 例如 true,如果部署在 私有舰队 使用 Ping 信标.

  • ARBITRIUM_HOST_BEACON_PUBLIC_IP - 例如 139.177.198.69 时,最近信标的公网 IP。

  • ARBITRIUM_HOST_BEACON_PORT_UDP_EXTERNAL - 例如 30199,用于通过 UDP 进行延迟测量。

  • ARBITRIUM_HOST_BEACON_PORT_TCP_EXTERNAL - 例如 30456,用于通过 TCP 进行延迟测量。

结构化信息(JSON 作为字符串)

circle-info

环境变量是 以字符串化 JSON 的形式存储,可使用 SDK 或自定义方法进行解析。

chevron-rightARBITRIUM_DEPLOYMENT_LOCATION: - 关于部署位置的详细信息。hashtag
chevron-rightARBITRIUM_PORTS_MAPPING: - 关于您的内部端口和外部端口的详细信息。hashtag

仪表板监控

我们的 仪表板arrow-up-right 提供用于监控您的服务器可扩展性并协助运营的实用工具。

分析

circle-check

🌟 升级到按需付费层级arrow-up-right 以解锁详细的服务器性能指标和洞察:

  • 常规洞察: 通过每个版本的实时服务器数量和资源使用概览监控发布情况,

  • CPU 洞察:排查因处理器密集型操作导致服务器卡顿的问题,

  • 内存洞察:缓解因超出分配内存而导致的服务器重启,

  • 网络洞察: 检测低效的网络模式并优化网络代码。

部署地图

circle-check

在地图上预览部署位置、可用位置以及玩家预计位置:

部署平衡点

circle-check

预览部署平衡点热力图,并按以下条件筛选 应用与版本。平衡点是在给定部署中,与每位玩家网络距离相等的近似位置:

circle-exclamation

部署日志

circle-check

部署日志显示有关以下内容的信息 部署:

容器日志

circle-check

在出现问题或进行调试时,检查您的游戏服务器日志:

circle-exclamation

容器指标

circle-check

查看容器指标(处理器、内存、网络),以便:

  • 识别常见的连接问题,当 部署,

  • 检测导致资源使用激增的低效实现模式,

  • 定位特定场景中的低效资源使用,

  • 在优化过程中验证服务器资源使用的变化,

  • 对服务器初始化时的资源消耗和持续时间进行基准测试。

历史指标显示以 1 分钟为周期的平均值,免费层级可用。

🌟 升级到按需付费层级arrow-up-right 以解锁 1 秒时间间隔的精确指标。

circle-info

联系我们envelope 在发布之前申请大规模发布的实时托管支持。

上下文与状态

可以通过 JSON 格式获取额外的部署信息:

circle-info

上下文 API(从部署内)需要 Context API 令牌,而状态 API 使用您的 Edgegap 令牌。

circle-exclamation

筛选部署

要在所有部署中快速搜索,您可以 使用我们的仪表板arrow-up-right:

通过 API 列出部署arrow-up-right 并通过后端集成应用筛选器:

部署属性
运算符
示例值

eqneq

"ready""error"

eq

"7e709a0d8efd"

nin

[ "7e709a0d8efd", "4ba353100b4b" ]

eqneq

"tagA"

nin

[ "tagA", "tagB" ]

eqneq

"my-app"

nin

[ "my-app", "my-other-app" ]

eqneq

"1.0.0"

nin

[ "1.0.0", "prod" ]

eq

truefalse

eqneq

ltlte

gtgte

5

circle-info

每个属性在单个请求中最多只能有 1 个筛选运算符。请参阅 API 参考 了解更多。

按请求中出现的顺序使用多个字段对结果进行排序:

部署属性
顺序

ascdesc

筛选查询示例:

chevron-right列出 错误中的部署 以进行故障排查并移除。hashtag

已编码 URL:

格式化后的 JSON 查询:

chevron-right列出 使用过时应用版本的部署 以确认发布已完成。hashtag

已编码 URL:

格式化后的 JSON 查询:

circle-check

Webhooks 与 Postbacks

通过在您的游戏后端中接收简单的 HTTP 通知,以获知以下内容的变化 部署 通过在您的 部署 API 请求中指定一个 webhook URL。适用于:

  • 就绪时:部署容器 已成功启动 (此后服务器开始初始化),

  • 错误时:部署无法启动并且发生了 部署

  • 终止时: 部署 并且游戏服务器不再可访问。

同一部署不会同时触发 Ready 和 Error webhook。

chevron-rightWebhook 负载示例hashtag
circle-exclamation
circle-info

Webhook 观察部署生命周期,但不了解您的场景/关卡初始化状态。要观察您的场景/关卡加载进度,请在游戏服务器中实现自定义 webhook。

🚨 故障排查

在排查部署问题时:

  1. 确认您的以下内容中没有错误 部署 以及 部署,

  2. 在本地运行您的服务器以排除集成错误,

  3. 查看本页上的故障排查步骤,

  4. 通过以下方式联系我们 社区 Discordarrow-up-right 并附上您的部署 ID。

circle-info

查看 部署 查看我们关于如何应对玩家社区反馈的建议。

chevron-right无法将客户端连接到服务器 - 请求超时。, 请求超时 , 连接失败 ,或 端口验证失败.hashtag
  • 首先,请确保部署状态为 Ready,并且您的部署日志中没有运行时异常或错误。如果您的部署已停止,请在我们的 仪表板arrow-up-right.

  • 如果您使用的是 Mirror 网络代码,您需要将 “自动启动服务器”arrow-up-right 在您的 NetworkManager 中勾选,然后重新构建、推送并重新部署您的服务器。

  • 如果您使用的是 FishNet 网络代码,您需要启用 “在无头模式下启动”arrow-up-right 在您的 ServerManager中勾选,然后重新构建、推送并重新部署您的服务器。

  • 如果您使用的是 Photon Fusion 2 网络代码,请确保您的服务器正在传递部署公网 IP、外部端口以及 roomCode 到服务器,并在客户端的 “NeworkRunner.StartGame”arrow-up-right 参数 StartGameArgs中传递相同的房间代码。部署 ID(例如 b63e6003b19f)是一个很好的选择,因为它是全局唯一的,并且客户端可以轻松访问,通过 匹配器 分配以及到 深入了解.

  • 接下来,请验证您的服务器构建中的网络代码设置里的端口设置是否与您的 应用版本arrow-up-right中的内部端口匹配。您可以通过编辑 应用版本arrow-up-right 来更改端口映射,而无需重新构建。请在您的网络代码集成中找到您的协议。

  • 请确保您的游戏客户端连接到 外部端口 ,该值显示在您的部署详情页面上;出于安全原因,此值始终是随机化的。

  • 如果您在网络代码集成中使用安全 WebSocket(WSS)协议,请确保您的 应用版本arrow-up-right WSS 端口的端口配置已启用 TLS 升级。

  • 您是否位于中国并正在使用 Smart Fleetsarrow-up-right?您的连接可能会被防火长城阻止。请考虑向您的舰队添加位于中国的服务器,或使用 VPN 连接。

chevron-right我的部署已停止/重启,我无法再访问它的日志。hashtag
  • 如果服务器进程因异常而崩溃,我们的系统将尝试自动重启服务器。请考虑在本地测试您的服务器以找出根本原因。

  • 我们仅在部署持续期间保留日志,如果您希望在部署停止后检查日志,请 集成第三方日志存储arrow-up-right.

  • 查看 部署 以发现导致部署停止的所有原因。

chevron-right我的部署在 X 分钟后自动停止了。hashtag
  • 免费层级部署有 60 分钟时限,请考虑升级您的账户。

  • 根据我们的服务器清理策略,所有部署在运行 24 小时后都会被终止,以便进行基础设施维护,并防止因部署未正确关闭而产生意外费用。对于长期运行的服务器,请考虑使用 私有舰队 使用 持久化.

  • 查看 部署 以发现导致部署停止的所有原因。

chevron-right我的部署已就绪,但之后几分钟内我仍然无法连接。hashtag
  • 部署一旦处于 Ready 状态,您的游戏引擎初始化就会开始。此过程可能需要几秒到几分钟不等,在此期间服务器不接受玩家连接。

  • 请考虑优化您的服务器初始化以缩短这段时间。

  • 游戏客户端应每隔 1 秒重试连接,持续有限的一段时间(取决于您的初始化时长),之后再返回匹配。

  • 考虑添加一个加载场景,这样服务器可以在与客户端同步状态的同时执行初始化(对于 Unreal Engine 还包括切换场景)。

chevron-right我的 Meta Quest 设备抛出 HTTP 0:无法解析目标主机 .hashtag
  • 在为 Android 目标构建 Unity 应用时,您的 Internet Access 权限可能会自动从输出的 APK 客户端构建产物中被移除。

  • 在以下位置重新添加权限(之后需要重新构建客户端):

    • 项目设置 / OpenXR / ⚙️ Meta Quest 支持 / 强制移除互联网权限(取消勾选)。

    • 玩家设置 / Internet Access(设置为 require)。

chevron-right如果玩家离开了我的部署,会发生什么?hashtag
  • 默认情况下,服务器不会拒绝玩家连接。玩家身份验证由您的开发者自行决定,因为可以使用许多不同的方法和玩家身份验证提供商。

  • 游戏客户端可以在本地存储连接信息,以便在客户端意外崩溃时尝试重新连接。

  • 若要允许玩家加入进行中的游戏,请考虑使用 深入了解会话arrow-up-right.

chevron-right我的服务器在就绪后显示 CPU 使用率 100%。hashtag
  • 这不一定是问题,因为游戏引擎在服务器初始化期间往往会执行 CPU 密集型操作。如果 CPU 使用率在部署启动后 2-3 分钟内没有下降,您可能需要优化服务器或增加应用版本资源。

  • 降低 tick rate 可以影响 CPU 使用率,因为服务器执行的消息操作更少。

  • 如果您使用的是 Mirror 网络代码,您需要将 “自动启动服务器”arrow-up-right 在您的 NetworkManager 中勾选,然后重新构建、推送并重新部署您的服务器。

  • 如果您使用的是 FishNet 网络代码,您需要启用 “在无头模式下启动”arrow-up-right 在您的 ServerManager中勾选,然后重新构建、推送并重新部署您的服务器。

  • 免费层级限制为 1.5 vCPU 和 3GB 内存(RAM)。

  • 您可以在创建新的应用版本时增加分配的资源。您可以在我们的仪表板中复制您的应用版本,并根据需要调整这些值,而无需重新构建您的服务器或镜像。

chevron-right我的部署不断重启,并显示错误 `OOM kill`。hashtag
  • 此行为是由于超出了已分配内存大小造成的。请考虑通过对象池、压缩或移除场景中不需要的对象来优化内存使用。

  • 请确保您的项目正在加载包含以下内容的默认场景 NetworkManager 并且该场景已包含在 Unity 的 Build Settings 中。

  • 免费层级限制为 1.5 vCPU 和 3GB 内存(RAM)。

  • 您可以在创建新的应用版本时增加分配的资源。您可以在我们的仪表板中复制您的应用版本,并根据需要调整这些值,而无需重新构建您的服务器或镜像。

chevron-right有时,我的服务器内存(RAM)使用量会飙升到很高的值,这是问题吗?hashtag
  • 只要您保持在已分配的应用版本内存范围内,这就不是问题。

  • 超出已分配的应用版本内存大小将导致 `OOM kill`(见上文)。

chevron-right我的服务器性能会受到同一台机器上运行的其他服务器影响吗?hashtag
  • 不会,我们的平台确保已分配资源不会被其他工作室或共享基础设施上的其他服务器使用。在 Edgegap,不存在“吵闹邻居”问题。

最后更新于

这有帮助吗?