From 644ebaa5bd2cf71498330912bb7754730a8874ea Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Wed, 24 Dec 2025 19:28:15 +0800 Subject: [PATCH] vault backup: 2025-12-24 19:28:15 --- .../UnrealHorde/Unreal Horde 相关笔记.md | 82 +++++++++++++++++++ .../流程管理与部署/UnrealHorde/Untitled.md | 34 -------- 2 files changed, 82 insertions(+), 34 deletions(-) create mode 100644 03-UnrealEngine/流程管理与部署/UnrealHorde/Unreal Horde 相关笔记.md delete mode 100644 03-UnrealEngine/流程管理与部署/UnrealHorde/Untitled.md diff --git a/03-UnrealEngine/流程管理与部署/UnrealHorde/Unreal Horde 相关笔记.md b/03-UnrealEngine/流程管理与部署/UnrealHorde/Unreal Horde 相关笔记.md new file mode 100644 index 0000000..5f6ca90 --- /dev/null +++ b/03-UnrealEngine/流程管理与部署/UnrealHorde/Unreal Horde 相关笔记.md @@ -0,0 +1,82 @@ +--- +title: Unreal Horde +date: 2024-06-28 10:58:10 +excerpt: +tags: +rating: ⭐ +--- +# 前言 +- 官方文档(UE5.5) + - https://dev.epicgames.com/documentation/zh-cn/unreal-engine/horde-in-unreal-engine?application_version=5.5 +- Horde README.md https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/README.md + - [**Deploying Horde**](https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/Docs/Deployment.md) + - - 有关 Horde 的架构和组件的信息,以及部署它们的最佳实践。 + **受众:** IT、系统管理员、打算修改 Horde 的程序员。 + - [**Configuring and Operating Horde**](https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/Docs/Config.md) + - - 描述如何设置和管理 Horde。 + **受众:**构建/开发运营团队、管理员。 + - [**Horde Internals**](https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/Docs/Internals.md) + - - 描述如何构建和修改 Horde 及其架构。 + **受众:**希望扩展 Horde 的开发人员。 +- 视频 + - [Horde and Unreal Build Accelerator: Operating at Epic Scale](https://youtu.be/ZUlwqNbYWBQ?si=DgFvrvepK67v-iTi) + +## 代理客户端下载地址 +- https://github.com/EpicGames/UnrealEngine/releases/download/5.5.0-release/UnrealHordeServer.msi + +# Internals +## Server +Horde 默认配置为支持本地开发。您可以通过打开`Engine/Source/Programs/Horde/Horde.sln`并将 Horde.Server 设置为默认项目来启动它。默认情况下,您可以通过 访问服务器`http://localhost:5000/account`。 + +## Docker +Horde 包含`Dockerfile`用于创建 Docker 映像的 。但是,它在虚幻引擎源代码树中的位置要求事先暂存文件,以减少复制到构建映像中的数据大小。 + +执行这些操作的 BuildGraph 脚本包含在 中`Engine\Source\Programs\Horde\HordeBuild.xml`,可按如下方式运行: +``` +RunUAT.bat Engine/Source/Programs/Horde/HordeBuild.xml -Target="Build HordeServer" +``` + +# 部署笔记 +## Epic Games的Horde部署 +Epic Games内部部署的Horde托管在AWS上,包括以下部分: + +- Amazon Load Balancer,用于SSL的终止和路由 +- 2个Linux容器,服务于由Amazon ECS管理的操作面板(每个配置0.25 vCPU、0.5GB RAM) +- 10个Horde Server实例,使用'Server' [runmode](https://dev.epicgames.com/documentation/zh-cn/unreal-engine/horde-settings-for-unreal-engine?application_version=5.5#runmode-enum)配置,在由Amazon ECS托管的Linux容器上运行(每个配备4 vCPU、16GB RAM) + - 这些实例负责处理面向用户的轻量级请求。 +- 2个Horde Server实例,使用'Worker' [runmode](https://dev.epicgames.com/documentation/zh-cn/unreal-engine/horde-settings-for-unreal-engine?application_version=5.5#runmode-enum)配置,在由Amazon ECS托管的Linux容器上运行(每个配备4 vCPU、16GB RAM) + - 这些实例负责处理更繁重的计划任务,例如复制Perforce元数据、读取和更新配置状态以及启动计划作业。 +- Amazon DocumentDB(与MongoDB兼容) +- Amazon ElastiCache(与Redis兼容) +- 数百个EC2实例,运行包含Horde代理的AMI。 +- 约100台机器,本地托管,用于提供对移动设备、主机以及非托管平台(例如Mac设备)的访问。 + +## 流程 +### Windows +相关服务安装都集成在安装包里。 + +### Docker(Linux) +要下载镜像,首先从你的账号设置页面的开发者部分创建一个GitHub个人访问令牌(PAT),然后将其作为密码传递给: +```shell +docker login ghcr.io +``` + +***注意这里需要用Token,不然容易登录失败*** + +下载镜像: +```shell +docker pull ghcr.io/epicgames/horde-server:latest +``` +请注意,在这种形式下,外部MongoDB和Redis实例必须通过配置文件或环境变量来配置(详见下文)。 +只要每台服务器都指向同一个MongoDB和Redis实例,则在负载均衡器后面运行多个Horde服务器就无需进行显式配置。 +在Linux系统上使用Docker容器是[Epic的首选Horde运行方式](https://dev.epicgames.com/documentation/zh-cn/unreal-engine/horde-deployment-for-unreal-engine?application_version=5.5)。 +### Docker Compose(Linux) +[Docker Compose](https://docs.docker.com/compose/)通过提供一组预配置的Docker容器,简化了基于Docker的安装设置,这些容器中包含MongoDB和Redis的实例。 + +这种方法与MSI安装程序类似,适用于测试Horde或在小规模环境中进行部署。要访问预构建镜像,请参阅上文Docker小节。必要的Docker Compose配置可以在 `Engine/Source/Programs/Horde.Server/docker-compose.yml` 文件中找到。 https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/HordeServer/docker-compose.yml + +在同一目录下,可以使用以下命令启动容器: +```shell +docker compose up +``` +如需更多指导,请参阅YAML文件中的注释。 \ No newline at end of file diff --git a/03-UnrealEngine/流程管理与部署/UnrealHorde/Untitled.md b/03-UnrealEngine/流程管理与部署/UnrealHorde/Untitled.md deleted file mode 100644 index 3d95149..0000000 --- a/03-UnrealEngine/流程管理与部署/UnrealHorde/Untitled.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Untitled -date: 2024-06-28 10:58:10 -excerpt: -tags: -rating: ⭐ ---- -# 前言 -- 官方文档(UE5.5) - - https://dev.epicgames.com/documentation/zh-cn/unreal-engine/horde-in-unreal-engine?application_version=5.5 -- Horde README.md https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/README.md - - [**Deploying Horde**](https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/Docs/Deployment.md) - - - 有关 Horde 的架构和组件的信息,以及部署它们的最佳实践。 - **受众:** IT、系统管理员、打算修改 Horde 的程序员。 - - [**Configuring and Operating Horde**](https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/Docs/Config.md) - - - 描述如何设置和管理 Horde。 - **受众:**构建/开发运营团队、管理员。 - - [**Horde Internals**](https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Programs/Horde/Docs/Internals.md) - - - 描述如何构建和修改 Horde 及其架构。 - **受众:**希望扩展 Horde 的开发人员。 -- 视频 - - [Horde and Unreal Build Accelerator: Operating at Epic Scale](https://youtu.be/ZUlwqNbYWBQ?si=DgFvrvepK67v-iTi) - -# Internals -## Server -Horde 默认配置为支持本地开发。您可以通过打开`Engine/Source/Programs/Horde/Horde.sln`并将 Horde.Server 设置为默认项目来启动它。默认情况下,您可以通过 访问服务器`http://localhost:5000/account`。 - -## Docker -Horde 包含`Dockerfile`用于创建 Docker 映像的 。但是,它在虚幻引擎源代码树中的位置要求事先暂存文件,以减少复制到构建映像中的数据大小。 - -执行这些操作的 BuildGraph 脚本包含在 中`Engine\Source\Programs\Horde\HordeBuild.xml`,可按如下方式运行: -``` -RunUAT.bat Engine/Source/Programs/Horde/HordeBuild.xml -Target="Build HordeServer" -``` \ No newline at end of file