> For the complete documentation index, see [llms.txt](https://docs.edgegap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgegap.com/zh/unreal-engine/geng-duo-gou-jian-fang-fa.md).

# 更多构建方法

这些方法通常更慢，并且需要对 Unreal Engine 有更深入的理解。

{% hint style="success" %}
参见 [Unreal Engine](/zh/unreal-engine.md) 用于你在 Edgegap 上使用 Unreal Engine 游戏服务器托管的第一步。
{% endhint %}

探索适用于更高级 Unreal Engine 和 Edgegap 用户的替代构建方法：

1. [#build-with-scripts](#build-with-scripts "mention") 是一种快速且自动化的方法，适用于持续集成。
2. [#build-from-plugin](#build-from-plugin "mention") 是一种传统的构建方法，需要从源码构建 Unreal Engine。

## ⚡ 使用脚本构建

使用脚本构建是一种快速、全自动且简单的方法，适用于持续集成。

### 准备工作 <a href="#scripts-before-starting" id="scripts-before-starting"></a>

在开始之前，请确保 [在 Edgegap 创建一个免费账户](https://app.edgegap.com/auth/register) （无需信用卡）。

**在你的开发机器上配置一些基本设置：**

<details>

<summary><a href="https://www.docker.com/products/docker-desktop/">安装 Docker Desktop（或 Docker CLI）</a></summary>

* [从官方来源安装 Docker Desktop](https://www.docker.com/products/docker-desktop/) （无需账户）。
* 完成安装后重启计算机。

</details>

<details>

<summary><a href="https://www.unrealengine.com/en-US/ue-on-github">在 GitHub 上获取对 Unreal Engine 资源的访问权限</a></summary>

* [注册一个 GitHub 账户。](https://github.com/)
* 导航到你的 [Unreal Engine 关联账户仪表板页面](https://www.epicgames.com/account/connections).
* 将 GitHub 账户与您的 Epic 账户关联。
  * 授权 Epic Games 访问您的 GitHub 账户。
  * 接受通过电子邮件发送的加入 Epic Games 组织的 GitHub 邀请。

</details>

<details>

<summary><a href="https://github.com/settings/tokens/new">生成 GitHub 个人访问令牌（经典）</a></summary>

* 仅启用权限 `[读取:软件包]` ,
* 生成令牌 - **请妥善保存此值，您将无法再次看到它**.

</details>

### 1. 配置项目 <a href="#scripts-configure-game-builds" id="scripts-configure-game-builds"></a>

无论您使用的是 Windows、Mac 还是 Linux 机器，您将 **需要为 Linux 运行时构建您的服务器**，因为如今大多数云提供商（包括 Edgegap）都运行在 Linux 上。别担心，不需要具备 Linux 知识。

☑️ **禁用 Unreal Engine 版本兼容性检查** 用于专用服务器和 **设置 `IpNetDriver` 作为默认驱动或备用驱动** 用于复制网络：

{% hint style="warning" %}
确保 **输入你的 `DefaultServerTarget`  在此片段的末尾**!
{% endhint %}

<pre data-title="Config/DefaultEngine.ini"><code><a data-footnote-ref href="#user-content-fn-1">[ConsoleVariables]</a>
net.IgnoreNetworkChecksumMismatch=1
net.CurrentHandshakeVersion=2
net.MinHandshakeVersion=2
net.VerifyNetSessionID=0
net.VerifyNetClientID=0

<a data-footnote-ref href="#user-content-fn-2">[/Script/Engine.GameEngine]</a>
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

<a data-footnote-ref href="#user-content-fn-3">[/Script/OnlineSubsystemUtils.IpNetDriver]</a>
MaxClientRate=1000000000
MaxInternetClientRate=1000000000
InitialConnectTimeout=120.0
MaxNetTickRate=60
NetServerMaxTickRate=60

<a data-footnote-ref href="#user-content-fn-4">[/Script/BuildSettings.BuildSettings]</a>
DefaultServerTarget=LyraServer
</code></pre>

☑️ **重启 Unreal Engine** 以重新加载最新更改。

☑️ **创建专用服务器目标脚本** 通过复制你的 `<PROJECT>Editor.Target.cs` 项目根文件夹中的文件并将副本重命名为 `<PROJECT>Server.Target.cs`.

☑️ **替换任何对** 单词 **`Editor`** **为** **`Server`** 在你的服务器目标脚本中。

☑️ **修改服务器构建默认设置** 通过编辑你的服务器目标脚本：

<pre data-title="Source/<PROJECT>Server.Target.cs"><code>bOverrideBuildEnvironment = true;
<a data-footnote-ref href="#user-content-fn-5">bUseLoggingInShipping = true;</a>
<a data-footnote-ref href="#user-content-fn-6">bUseChecksInShipping = false;</a>
<a data-footnote-ref href="#user-content-fn-7">bBuildWithEditorOnlyData = false;</a>
<a data-footnote-ref href="#user-content-fn-8">bUsesSlate = false;</a>
<a data-footnote-ref href="#user-content-fn-9">bCompileCEF3 = false;</a>
</code></pre>

✅ 你现在可以继续下一步。

<details>

<summary>可选：Steam 集成</summary>

要 **集成 Steam**，使用 `IpNetDriver` 作为默认网络驱动并确认 [适用于 Linux 的 64 位 steamclient.so](https://developer.valvesoftware.com/wiki/SteamCMD#Ubuntu) 已复制到镜像中的路径 `/home/ubuntu/.steam/sdk64/` .

{% hint style="success" %}
添加 `steamclient.so`  Linux 库，只需使用我们的 [docker 扩展](/zh/unreal-engine.md).
{% endhint %}

<a href="https://github.com/edgegap/edgegap-unreal-buildutils/raw/refs/heads/main/steamclient.so" class="button secondary" data-icon="square-down">下载 steamclient.so</a>

<pre class="language-docker" data-title="Dockerfile"><code class="lang-docker">...
<a data-footnote-ref href="#user-content-fn-10">RUN mkdir -p /home/ubuntu/.steam/sdk64</a>
<a data-footnote-ref href="#user-content-fn-11">COPY ./steamclient.so /home/ubuntu/.steam/sdk64/steamclient.so</a>
<a data-footnote-ref href="#user-content-fn-12">RUN chmod 755 /home/ubuntu/.steam/sdk64/steamclient.so</a>
...
</code></pre>

{% hint style="warning" %}
**请确保禁用 Steam 网络功能，该功能通过 Steam Relay 发送数据包，可能导致连接问题或延迟峰值。** 这不会妨碍您使用其他 Steamworks 功能，例如排行榜、成就、语音或在 Steam 商店发布您的游戏。
{% endhint %}

<pre data-title="Config/DefaultEngine.ini"><code>[OnlineSubsystemSteam]
bUseSteamNetworking=false
bAllowP2PPacketRelay=false
<a data-footnote-ref href="#user-content-fn-13">SteamDevAppId=480</a>
<a data-footnote-ref href="#user-content-fn-13">SteamAppId=480</a>
</code></pre>

</details>

### 2. 构建并发布 <a href="#scripts-build-and-upload-to-edgegap" id="scripts-build-and-upload-to-edgegap"></a>

在一个开发者团队中工作意味着要共享代码。当出现问题时，您最不想听到的就是“在我的机器上可以运行”。游戏服务器必须能够在任何机器上可靠运行，因为成功的游戏服务器会在世界各地成千上万台服务器机器上运行。

为了帮助使您的服务器可靠，我们使用 Docker —— 一种虚拟化软件，确保您的所有服务器代码依赖项直到操作系统级别始终完全相同，无论服务器如何或在哪里启动。

{% hint style="info" %}
我们建议观看 [“永远不要本地安装”（视频）](https://www.youtube.com/watch?v=J0NuOlA2xDc\&ab_channel=Coderized). **使用 Docker 不需要使用 Dockerhub**。Docker ≠ Dockerhub。把 Docker 想象成一个编程引擎，把 Dockerhub 想成它的应用商店。
{% endhint %}

☑️ **验证 Docker 已安装并正在运行。**

{% embed url="<https://github.com/edgegap/edgegap-unreal-buildutils>" %}

☑️ **下载我们的 Edgegap Build Utils** 包括：

* 平台特定的构建脚本：
  * `BuildAndUpload.ps1`  适用于 Windows，
  * `BuildAndUpload.sh`  适用于 macOS 和 Linux，
* `Dockerfile`  - 用于构建 Docker 镜像的配置文件，
* `dockerignore`  - 要移除以加快构建速度的非关键文件列表，
* `StartServer.sh`  - 在运行时管理 Unreal Engine 生命周期的实用脚本。

☑️ **移动 `edgegap-unreal-buildutils` 文件夹到你的项目根目录。**

☑️ **编辑 `BuildAndUpload`  脚本，针对你的平台** 以配置：

* 用于拉取适用于 Linux 服务器的预构建 Unreal Engine 镜像的 GitHub 凭据，
* 项目详情 - 引擎版本、服务器配置、.uproject 文件名，
* [Edgegap Registry](https://app.edgegap.com/registry-management/repositories/list) 用于上传已完成构建的凭据。

☑️ **执行已编辑的脚本** 以开始构建和上传流程。完成此步骤后，将会添加一个新的 **镜像到你的** [仓库中的 Edgegap Container Registry 仪表板页面](https://app.edgegap.com/registry-management/repositories/list).

☑️ 你将自动跳转到 **创建一个新的** [应用与版本](/zh/learn/bian-pai/application-and-versions.md#app-versions) 在 [控制台](https://app.edgegap.com/application-management/applications/list)**.**

✅ 你现在可以继续下一步，跳到 [#test-your-server-locally](#test-your-server-locally "mention").

<details>

<summary>故障排除和常见问题</summary>

`错误：运行 Build 函数失败：Dockerfile 不能为空`

* 某些插件源可能缺失 `Dockerfile` 和/或 `StartServer.sh` ，请从你的插件的 GitHub 源版本中复制这些文件到本地插件中。

***

`打开 //./pipe/dockerDesktopLinuxEngine：系统找不到指定的文件。`

* 请确认 Docker 正在你的开发机器上运行。

***

`无效的引用格式 EdgegapLog：警告：OnContainerizeCallback：无法生成容器，消息：失败`

* 请确认你的应用名称已设置，并且不包含尾随空格。
* 编辑完成后，请务必按 Enter 键确认输入值。

***

[**在构建项目时，找不到目标 ‘ProjectName’ 的目标规则文件？**](https://forums.unrealengine.com/t/how-may-i-resolve-an-error-couldnt-find-target-rules-file-for-target-projectname-when-building-a-project/411707)

* 在你的 `XYZServerTarget.cs` 文件中更改构建配置：

```
BuildConfig = EProjectPackagingBuildConfigurations::PPBC_Shipping;
```

***

`403 禁止访问，无法推送容器，消息：失败`

* 请确认你的 Docker 凭据已正确设置。
* 如果使用 Edgegap 容器注册表，请确保用户名不包含 `app-version-pull` ，这是一个仅允许拉取镜像的配置文件。你的配置文件应类似于你的账户电子邮件。
* 请确认你在账户的 [容器注册表](https://app.edgegap.com/registry-management/repositories/list)中有足够的可用空间。我们建议尝试 [#optimize-server-build-size](#optimize-server-build-size "mention")，并使用 [我们的 API 删除较旧的镜像](https://docs.edgegap.com/api/#tag/Container-Registry/operation/image-tag-delete)。镜像会保存在你的本地机器上，直到被删除以用于备份。

</details>

## ⚡ 从插件构建 <a href="#build-from-plugin" id="build-from-plugin"></a>

我们的传统插件包含高级实用工具，并且需要从源码构建 Unreal Engine。

### 准备工作 <a href="#plugin-before-starting" id="plugin-before-starting"></a>

在开始之前，请确保 [在 Edgegap 创建一个免费账户](https://app.edgegap.com/auth/register) （无需信用卡）。

**在你的开发机器上配置一些基本设置：**

<details>

<summary><a href="https://www.docker.com/products/docker-desktop/">安装 Docker Desktop（或 Docker CLI）</a></summary>

* [从官方来源安装 Docker Desktop](https://www.docker.com/products/docker-desktop/) （无需账户）。
* 完成安装后重启计算机。

</details>

<details>

<summary><a href="https://www.unrealengine.com/en-US/ue-on-github">在 GitHub 上获取对 Unreal Engine 资源的访问权限</a></summary>

* [注册一个 GitHub 账户。](https://github.com/)
* 导航到你的 [Unreal Engine 关联账户仪表板页面](https://www.epicgames.com/account/connections).
* 将 GitHub 账户与您的 Epic 账户关联。
  * 授权 Epic Games 访问您的 GitHub 账户。
  * 接受通过电子邮件发送的加入 Epic Games 组织的 GitHub 邀请。

</details>

<details>

<summary>配置你的开发环境</summary>

* [下载 Unreal Engine 源代码](https://dev.epicgames.com/documentation/en-us/unreal-engine/downloading-unreal-engine-source-code#downloadingthesourcecode).
* [设置 Visual Studio](https://dev.epicgames.com/documentation/en-us/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine).

</details>

<details>

<summary>安装官方 Edgegap Unreal Engine 插件</summary>

请选择以下官方插件之一：

* 下载 [开发者工具](/zh/unreal-engine/developer-tools.md#integration-kit),
* 或下载 [开发者工具](/zh/unreal-engine/developer-tools.md#legacy-plugin).

</details>

### 1. 配置项目 <a href="#scripts-configure-game-builds" id="scripts-configure-game-builds"></a>

无论您使用的是 Windows、Mac 还是 Linux 机器，您将 **需要为 Linux 运行时构建您的服务器**，因为如今大多数云提供商（包括 Edgegap）都运行在 Linux 上。别担心，不需要具备 Linux 知识。

☑️ [从源码构建你的 Unreal Engine 版本](https://dev.epicgames.com/documentation/en-us/unreal-engine/building-unreal-engine-from-source) 在你的开发机器上，

* 安装 [特定发布分支（例如 ](https://github.com/EpicGames/UnrealEngine/tree/5.5)[`5.5`](https://github.com/EpicGames/UnrealEngine/tree/5.5)[)](https://github.com/EpicGames/UnrealEngine/tree/5.5) 以稳定的基础进行构建，
* **使用固态硬盘（SSD）** 以加快构建速度（从约 12+ 小时缩短到约 2+ 小时），
* 这只在第一次以及每次升级 Unreal Engine 版本时需要。

{% hint style="warning" %}
**请使用 git 客户端下载分支！** 使用 GitHub 界面下载时，总是会下载不稳定的 `release` 分支。
{% endhint %}

☑️ [安装 Unreal 跨编译工具链](https://dev.epicgames.com/documentation/en-us/unreal-engine/linux-development-requirements-for-unreal-engine) 以为 Linux 构建游戏服务器。

☑️ **重启你的开发机器**，否则你之后会遇到错误！

☑️ **禁用 Unreal Engine 版本兼容性检查** 用于专用服务器和 **设置 `IpNetDriver` 作为默认驱动或备用驱动** 用于复制网络：

{% hint style="warning" %}
确保 **输入你的 `DefaultServerTarget`  在此片段的末尾**!
{% endhint %}

<pre data-title="Config/DefaultEngine.ini"><code><a data-footnote-ref href="#user-content-fn-1">[ConsoleVariables]</a>
net.IgnoreNetworkChecksumMismatch=1
net.CurrentHandshakeVersion=2
net.MinHandshakeVersion=2
net.VerifyNetSessionID=0
net.VerifyNetClientID=0

<a data-footnote-ref href="#user-content-fn-2">[/Script/Engine.GameEngine]</a>
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

<a data-footnote-ref href="#user-content-fn-3">[/Script/OnlineSubsystemUtils.IpNetDriver]</a>
MaxClientRate=1000000000
MaxInternetClientRate=1000000000
InitialConnectTimeout=120.0
MaxNetTickRate=60
NetServerMaxTickRate=60

<a data-footnote-ref href="#user-content-fn-4">[/Script/BuildSettings.BuildSettings]</a>
DefaultServerTarget=LyraServer
</code></pre>

☑️ **重启 Unreal Engine** 以重新加载最新更改。

☑️ **创建专用服务器目标脚本** 通过复制你的 `<PROJECT>Editor.Target.cs` 项目根文件夹中的文件并将副本重命名为 `<PROJECT>Server.Target.cs`.

☑️ **替换任何对** 单词 **`Editor`** **为** **`Server`** 在你的服务器目标脚本中。

☑️ **修改服务器构建默认设置** 通过编辑你的服务器目标脚本：

<pre data-title="Source/<PROJECT>Server.Target.cs"><code>bOverrideBuildEnvironment = true;
<a data-footnote-ref href="#user-content-fn-5">bUseLoggingInShipping = true;</a>
<a data-footnote-ref href="#user-content-fn-6">bUseChecksInShipping = false;</a>
<a data-footnote-ref href="#user-content-fn-7">bBuildWithEditorOnlyData = false;</a>
<a data-footnote-ref href="#user-content-fn-8">bUsesSlate = false;</a>
<a data-footnote-ref href="#user-content-fn-9">bCompileCEF3 = false;</a>
</code></pre>

✅ 你现在可以继续下一步。

<details>

<summary>可选：Steam 集成</summary>

要 **集成 Steam**，使用 `IpNetDriver` 作为默认网络驱动并确认 [适用于 Linux 的 64 位 steamclient.so](https://developer.valvesoftware.com/wiki/SteamCMD#Ubuntu) 已复制到镜像中的路径 `/home/ubuntu/.steam/sdk64/` .

{% hint style="success" %}
添加 `steamclient.so`  Linux 库，只需使用我们的 [docker 扩展](/zh/unreal-engine.md).
{% endhint %}

<a href="https://github.com/edgegap/edgegap-unreal-buildutils/raw/refs/heads/main/steamclient.so" class="button secondary" data-icon="square-down">下载 steamclient.so</a>

<pre class="language-docker" data-title="Dockerfile"><code class="lang-docker">...
<a data-footnote-ref href="#user-content-fn-10">RUN mkdir -p /home/ubuntu/.steam/sdk64</a>
<a data-footnote-ref href="#user-content-fn-11">COPY ./steamclient.so /home/ubuntu/.steam/sdk64/steamclient.so</a>
<a data-footnote-ref href="#user-content-fn-12">RUN chmod 755 /home/ubuntu/.steam/sdk64/steamclient.so</a>
...
</code></pre>

{% hint style="warning" %}
**请确保禁用 Steam 网络功能，该功能通过 Steam Relay 发送数据包，可能导致连接问题或延迟峰值。** 这不会妨碍您使用其他 Steamworks 功能，例如排行榜、成就、语音或在 Steam 商店发布您的游戏。
{% endhint %}

<pre data-title="Config/DefaultEngine.ini"><code>[OnlineSubsystemSteam]
bUseSteamNetworking=false
bAllowP2PPacketRelay=false
<a data-footnote-ref href="#user-content-fn-13">SteamDevAppId=480</a>
<a data-footnote-ref href="#user-content-fn-13">SteamAppId=480</a>
</code></pre>

</details>

### 2. 构建并发布 <a href="#plugin-build-and-upload-to-edgegap" id="plugin-build-and-upload-to-edgegap"></a>

在一个开发者团队中工作意味着要共享代码。当出现问题时，您最不想听到的就是“在我的机器上可以运行”。游戏服务器必须能够在任何机器上可靠运行，因为成功的游戏服务器会在世界各地成千上万台服务器机器上运行。

为了帮助使您的服务器可靠，我们使用 Docker —— 一种虚拟化软件，确保您的所有服务器代码依赖项直到操作系统级别始终完全相同，无论服务器如何或在哪里启动。

{% hint style="info" %}
我们建议观看 [“永远不要本地安装”（视频）](https://www.youtube.com/watch?v=J0NuOlA2xDc\&ab_channel=Coderized). **使用 Docker 不需要使用 Dockerhub**。Docker ≠ Dockerhub。把 Docker 想象成一个编程引擎，把 Dockerhub 想成它的应用商店。
{% endhint %}

☑️ **验证 Docker 已安装并正在运行。**

☑️ [重新构建我们的插件](https://dev.epicgames.com/community/learning/tutorials/qz93/unreal-engine-building-plugins) 以适配你从源码构建的自定义 Unreal Engine 版本。

☑️ **复制已编译的插件** 到你的 `Plugins` 文件夹 **在你的 Unreal 项目根目录中** （不是引擎目录）。

☑️ **从 Visual Studio 启动你新的 Unreal Engine** 并 **打开工具栏项 Edit / Plugins**.

☑️ **启用我们的插件** 在 **INSTALLED / Other**.

☑️ **配置我们的插件** 通过打开工具栏项 **Edit / Project Settings / Edgegap**:

{% hint style="warning" %}
编辑输入值后务必按回车， **以确保它们被正确保存**.
{% endhint %}

* **API Token** 上传你的服务器到 Edgegap 时需要，通过点击 Get Token 获取。
* **应用名称** Edgegap 上的名称可以与项目名相同，也可以自定义，请确保只使用小写字母、数字、连字符 `-` 和下划线 `_`.
* **Image Path** 可选地为你的 Edgegap 游戏服务器提供自定义图标，先跳过。
* **Version name** 有助于跟踪客户端/服务器兼容性，并在出现问题时回滚。
  * 使用时间戳作为应用版本名称是个不错的选择，例如 `2024.01.30-16.50.20-UTC` .
  * 多个应用版本可以指向同一个镜像标签，例如 `v1.1.0` 和 `dev` .
  * 了解更多关于 [应用与版本](/zh/learn/bian-pai/application-and-versions.md) 的信息。

{% hint style="warning" %}
**不要重复使用 `最新` 版本** 以防止我们的系统部署过时的（缓存的）镜像。
{% endhint %}

☑️ 点击 **Create Application。** 完成此步骤后将会出现一个 **新的应用** 在 [Edgegap Dashboard](https://app.edgegap.com/application-management/applications/list).

☑️ 目前先跳过自定义容器注册表设置，如果你愿意，之后可以使用第三方注册表。

☑️ 配置满意后，点击 **Build and Push**，等待流程完成，并检查你的 Unreal 控制台中是否有新的错误。完成此步骤后将会出现一个 **新文件夹** - `Saved/LinuxServer`。此外，一个 **新镜像现在会出现在你的** [仓库下方的 Edgegap Container Registry 仪表板页面中，](https://app.edgegap.com/registry-management/repositories/list)并且一个新的 [应用与版本](/zh/learn/bian-pai/application-and-versions.md#app-versions) **会出现在你的** [仪表板中应用程序下方](https://app.edgegap.com/application-management/applications/list)**.**

☑️ 在你的新应用版本中，设置环境变量 `TARGET_FILE_NAME`  以匹配你的 `DefaultServerTarget`  步骤中的值 [#id-2.-configure-game-server-builds-1](#id-2.-configure-game-server-builds-1 "mention").

✅ 你现在可以继续下一步了。

<details>

<summary>故障排除和常见问题</summary>

`错误：运行 Build 函数失败：Dockerfile 不能为空`

* 某些插件源可能缺失 `Dockerfile` 和/或 `StartServer.sh` ，请从你的插件的 GitHub 源版本中复制这些文件到本地插件中。

***

`打开 //./pipe/dockerDesktopLinuxEngine：系统找不到指定的文件。`

* 请确认 Docker 正在你的开发机器上运行。

***

`无效的引用格式 EdgegapLog：警告：OnContainerizeCallback：无法生成容器，消息：失败`

* 请确认你的应用名称已设置，并且不包含尾随空格。
* 编辑完成后，请务必按 Enter 键确认输入值。

***

[**在构建项目时，找不到目标 ‘ProjectName’ 的目标规则文件？**](https://forums.unrealengine.com/t/how-may-i-resolve-an-error-couldnt-find-target-rules-file-for-target-projectname-when-building-a-project/411707)

* 在你的 `XYZServerTarget.cs` 文件中更改构建配置：

```
BuildConfig = EProjectPackagingBuildConfigurations::PPBC_Shipping;
```

***

`403 禁止访问，无法推送容器，消息：失败`

* 请确认你的 Docker 凭据已正确设置。
* 如果使用 Edgegap 容器注册表，请确保用户名不包含 `app-version-pull` ，这是一个仅允许拉取镜像的配置文件。你的配置文件应类似于你的账户电子邮件。
* 请确认你在账户的 [容器注册表](https://app.edgegap.com/registry-management/repositories/list)中有足够的可用空间。我们建议尝试 [#optimize-server-build-size](#optimize-server-build-size "mention")，并使用 [我们的 API 删除较旧的镜像](https://docs.edgegap.com/api/#tag/Container-Registry/operation/image-tag-delete)。镜像会保存在你的本地机器上，直到被删除以用于备份。

</details>

## 👉 下一步

继续到 [/pages/ac4ba735536ae20a1f8d43aa37c4ada42f5beb43#id-5.-deploy-to-cloud](https://docs.edgegap.com/zh/unreal-engine/pages/ac4ba735536ae20a1f8d43aa37c4ada42f5beb43#id-5.-deploy-to-cloud "mention") 使用我们的 [Dashboard Deployment](https://app.edgegap.com/deployment-management/deployments/list) 功能，并了解更多关于停止部署、注入变量和参数化，以及服务器可发现性的内容。

[^1]: 禁用兼容性检查

[^2]: 使用 IpNetDriver

[^3]: 设置客户端/服务器的更新频率和超时

[^4]: 将服务器构建设置为默认目标

[^5]: 启用日志

[^6]: 不要使用检查

[^7]: 不要打包编辑器内容

[^8]: 不要打包 Slate UI（编辑器）

[^9]: 不要编译 CEF3（编辑器）

[^10]: 创建父目录

[^11]: 复制 steamclient.so 文件

[^12]: 允许执行 steam 客户端

[^13]: 在您的 Steam 发布者门户中查找
