Files
BlueRoseNote/03-UnrealEngine/流程管理与部署/UnrealHorde/Unreal Horde 相关笔记.md

4.9 KiB
Raw Blame History

title, date, excerpt, tags, rating
title date excerpt tags rating
Unreal Horde 2024-06-28 10:58:10

前言

代理客户端下载地址

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配置在由Amazon ECS托管的Linux容器上运行每个配备4 vCPU、16GB RAM
    • 这些实例负责处理面向用户的轻量级请求。
  • 2个Horde Server实例使用'Worker' runmode配置在由Amazon ECS托管的Linux容器上运行每个配备4 vCPU、16GB RAM
    • 这些实例负责处理更繁重的计划任务例如复制Perforce元数据、读取和更新配置状态以及启动计划作业。
  • Amazon DocumentDB与MongoDB兼容
  • Amazon ElastiCache与Redis兼容
  • 数百个EC2实例运行包含Horde代理的AMI。
  • 约100台机器本地托管用于提供对移动设备、主机以及非托管平台例如Mac设备的访问。

流程

Windows

相关服务安装都集成在安装包里。

Docker(Linux)

要下载镜像首先从你的账号设置页面的开发者部分创建一个GitHub个人访问令牌PAT然后将其作为密码传递给

docker login ghcr.io

注意这里需要用Token不然容易登录失败

下载镜像:

docker pull ghcr.io/epicgames/horde-server:latest 

请注意在这种形式下外部MongoDB和Redis实例必须通过配置文件或环境变量来配置详见下文。 只要每台服务器都指向同一个MongoDB和Redis实例则在负载均衡器后面运行多个Horde服务器就无需进行显式配置。 在Linux系统上使用Docker容器是Epic的首选Horde运行方式

Docker ComposeLinux

Docker 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

在同一目录下,可以使用以下命令启动容器:

docker compose up

如需更多指导请参阅YAML文件中的注释。