서버 세팅
Server.json
모든 호드 전용 세팅은 루트 오브젝트인 Horde 에 저장됩니다. 다른 .NET 기능은 이 파일의 루트에 있는 프로퍼티를 사용하여 환경설정할 수 있습니다.
| 이름 | 설명 |
|---|---|
runModes |
RunMode[] 서버의 실행 모드입니다. runModes는 특정 인스턴스가 수행하려고 시도할 작업을 제한하기 위해 멀티 서버 디플로이에서 사용할 수 있습니다. |
dataDir |
string 호드에서 사용되는 데이터 디렉터리를 오버라이드합니다. Windows에서 기본값은 C:\ProgramData\HordeServer이며, 기타 플랫폼에서는 {AppDir}/Data입니다. |
installed |
boolean 서버가 '설치된' 모드에서 실행되고 있는지 여부입니다. 이 모드의 경우, Windows에서 기본 데이터 디렉터리는 일반 애플리케이션 데이터 폴더(C:\ProgramData\Epic\Horde)를 사용하며, 환경설정 데이터를 이 폴더와 레지스트리에서 읽힙니다. 이 세팅은 appsettings.Local.json의 로컬 빌드에서 false로 오버라이드됩니다. |
httpPort |
integer HTTP용 메인 포트입니다. |
httpsPort |
integer TLS가 활성화된 HTTP용 포트입니다. 기본적으로 비활성화되어 있습니다. |
http2Port |
integer HTTP/2 전용 포트입니다. |
mongoConnectionString |
string Mongo 데이터베이스를 위한 연결 스트링입니다. |
databaseConnectionString |
string MongoDB 연결 스트링입니다. |
mongoDatabaseName |
string MongoDB 데이터베이스 이름입니다. |
databaseName |
string |
mongoPublicCertificate |
string 데이터베이스에 액세스하기 위한 신뢰할 수 있는 선택적 인증서입니다(예: TLS용 AWS 퍼블릭 인증서). |
databasePublicCert |
string |
mongoReadOnlyMode |
boolean 읽기 전용 모드에서 데이터베이스에 액세스합니다(인덱스 생성이나 콘텐츠 업데이트를 방지함). 프로덕션 데이터베이스를 대상으로 HordeServer의 로컬 인스턴스를 디버깅하는 데 유용합니다. |
databaseReadOnlyMode |
boolean |
shutdownMemoryThreshold |
integer 메모리 사용량이 이 한계치(MB 단위로 지정됨)에 도달하는 경우 현재 서버 프로세스를 종료합니다. CLR 힙이 메모리를 모두 사용하는 것을 방지하기 위해 보통 가용 메모리의 80~90%로 설정됩니다. 메모리 누수가 발생한 경우 GC가 메모리를 되찾기 위해 부하를 점점 늘리도록 하기보다는 프로세스를 재시작하는 것이 일반적으로 더 낫습니다. 여러 서버 프로세스가 로드 밸런서를 기반으로 실행 중이며 기본 프로세스 핸들러(Docker, Kubernetes, AWS ECS, Supervisor 등)로 한 프로세스를 안전하게 자동으로 재시작할 수 있을 때만 사용해야 합니다. 종료는 SIGTERM을 수신하는 것과 유사하게 동작하며, 남은 요청이 완료될 때까지 대기합니다. |
serverPrivateCert |
string 에이전트 SSL 트래픽을 암호화하기 위해 사용하는 선택적 PFX 인증서입니다. 에이전트가 신뢰하는 한 자체 서명된 인증서일 수 있습니다. |
authMethod |
AuthMethod 인증 타입입니다(예: 익명, OIDC, 기본 호드 계정). '호드' 인증 모드를 사용하는 경우 'ServerUrl'도 환경설정해야 합니다. |
oidcProfileName |
string /api/v1/server/auth 엔드포인트를 통해 보고할 선택적 프로파일 이름입니다. OidcToken.exe 환경설정 파일의 동일 프로파일 이름을 통해 환경설정된 제공자 간에 인증 토큰을 공유하도록 허용합니다. |
oidcAuthority |
string OpenID Connect(OIDC) 인증 기관 URL입니다. OIDC를 활성화한 경우 필요합니다. |
oidcAudience |
string 외부에서 발행된 토큰의 유효성을 검사하기 위한 대상입니다. OIDC를 활성화한 경우 필요합니다. |
oidcClientId |
string OIDC 인증 기관용 클라이언트 ID입니다. OIDC를 활성화한 경우 필요합니다. |
oidcClientSecret |
string OIDC 인증 기관용 클라이언트 암호입니다. |
oidcSigninRedirect |
string OIDC 로그인에 제공되는 선택적 리디렉션 URL입니다. |
oidcLocalRedirectUrls |
string[] 외부 툴을 위해 OIDC 로그인에 제공되는 선택적 리디렉션 URL입니다(일반적으로 로컬 서버에 연결됨). 기본값은 EpicGames.OIDC 라이브러리에 의해 로그인 과정에서 시작된 로컬 웹 서버입니다. |
oidcDebugMode |
boolean JWT 토큰이 인증에 실패한 이유를 로깅하는 OIDC용 디버그 모드입니다. 또한 OIDC 메타데이터를 가져오기 위해 HTTPS 요구사항도 끕니다. 프로덕션 용도가 아닙니다! |
oidcRequestedScopes |
string[] 로그인할 때 요청할 OpenID Connect 스코프입니다. |
oidcClaimNameMapping |
string[] 표준 이름 클레임에 매핑하려고 시도하는 /userinfo 엔드포인트 내 필드 목록입니다(System.Security.Claims.ClaimTypes.Name 참고). |
oidcClaimEmailMapping |
string[] 표준 이메일 클레임에 매핑하려고 시도하는 /userinfo 엔드포인트 내 필드 목록입니다(System.Security.Claims.ClaimTypes.Email 참고). |
oidcClaimHordeUserMapping |
string[] 호드 사용자 클레임에 매핑하려고 시도하는 /userinfo 엔드포인트 내 필드 목록입니다(HordeClaimTypes.User 참고). |
oidcClaimHordePerforceUserMapping |
string[] 호드 Perforce 사용자 클레임에 매핑하려고 시도하는 /userinfo 엔드포인트 내 필드 목록입니다(HordeClaimTypes.PerforceUser 참고). |
serverUrl |
string 이 호드 서버가 액세스할 수 있는 베이스 URL입니다(예: https://horde.mystudio.com). 설정되지 않은 경우 현재 호스트 이름에 따라 기본값이 사용됩니다. 리버스 프록시가 호드 앞에 있는 고급 구성에서는 수동으로 설정해야 합니다. |
jwtIssuer |
string 서버의 Bearer 토큰 내 발급자 이름입니다. |
jwtExpiryTimeHours |
integer JWT 토큰이 만료되기 전 시간입니다(단위: 시간). |
adminClaimType |
string 관리자용 클레임 타입입니다. |
adminClaimValue |
string 관리자용 클레임 타입의 값입니다. |
corsEnabled |
boolean CORS를 활성화할지 여부로, 일반적으로 개발 용도로 사용됩니다. |
corsOrigin |
string 허용된 CORS 출처입니다. |
enableDebugEndpoints |
boolean 디버그/관리 REST API 엔드포인트를 활성화할지 여부입니다. |
enableNewAgentsByDefault |
boolean 기본적으로 새 에이전트를 자동 활성화할지 여부입니다. false인 경우 새 에이전트가 작업을 맡기 전에 수동으로 활성화되어야 합니다. |
schedulePollingInterval |
string DB 쿼리로 예약 큐를 다시 빌드하는 간격입니다. |
noResourceBackOffTime |
string 새 작업에 대해 폴링하는 간격입니다. |
initiateJobBackOffTime |
string 에이전트에 작업을 할당하려고 시도하는 간격입니다. |
unknownErrorBackOffTime |
string 알 수 없는 오류가 발생할 때 작업을 예약하는 간격입니다. |
redisConnectionString |
string Redis 서버에 연결하기 위한 환경설정입니다. null로 설정하면 Redis 사용 및 연결이 비활성화됩니다. https://stackexchange.github.io/StackExchange.Redis/Configuration.html에서 포맷을 확인하세요. |
redisConnectionConfig |
string |
redisReadOnlyMode |
boolean Redis에 쓰기를 비활성화할지 여부입니다. |
logServiceWriteCacheType |
string 스토리지 백엔드의 오버라이드된 세팅입니다. 커스텀 백엔드로 프로덕션 서버에 대해 실행할 때 유용합니다. |
logJsonToStdOut |
boolean json을 stdout에 로깅할지 여부입니다. |
logSessionRequests |
boolean UpdateSession 및 QueryServerState RPC 엔드포인트에 요청을 로깅할지 여부입니다. |
scheduleTimeZone |
string 예약을 평가하기 위한 시간대입니다. |
dashboardUrl |
string 대시보드에 다시 링크를 생성하기 위해 사용할 URL입니다. |
helpEmailAddress |
string 사용자가 문제와 관련해 문의할 수 있는 지원 이메일 주소입니다. |
helpSlackChannel |
string 사용자가 문제와 관련해 사용할 수 있는 지원 Slack 채널입니다. |
globalThreadPoolMinSize |
integer 글로벌 스레드 풀의 최소 크기를 설정합니다. 이 값은 트래픽 버스트 동안 Redis 클라이언트의 시간 초과를 방지하기 위한 미세조정이 필요하여 발견된 것입니다. .NET Core CLR의 기본값은 16입니다. 올바른 값은 호드 서버가 수신 중인 트래픽에 따라 다릅니다. 에픽의 내부 디플로이의 경우 이 값이 40으로 설정됩니다. |
withDatadog |
boolean 트레이싱을 위해 Datadog 통합을 활성화할지 여부입니다. |
configPath |
string 루트 환경설정 파일에 대한 경로입니다. 기본적으로 server.json 파일을 기준으로 합니다. |
forceConfigUpdateOnStartup |
boolean 환경설정 데이터가 예약이 아닌 애플리케이션 시작의 일부로 읽히고 업데이트되도록 강제합니다. 로컬로 실행 시 유용합니다. |
openBrowser |
boolean 시작 시 브라우저를 열지 여부입니다. |
featureFlags |
FeatureFlagSettings 서버에서 활성화할 실험단계 기능입니다. |
openTelemetry |
OpenTelemetrySettings OpenTelemetry에 대한 옵션입니다. |
plugins |
ServerPluginsConfig 플러그인에 대한 환경설정입니다. |
RunMode(열거형)
이 프로세스에서 사용할 실행 모드 타입입니다. 각각 서로 다른 워크로드 타입이 사용됩니다. 둘 이상의 모드가 활성 상태일 수 있습니다. 하지만 모든 모드의 호환성이 서로 보장되지는 않으며, 호환되지 않는 방식으로 결합되는 경우 오류를 일으킬 수 있습니다.
| 이름 | 설명 |
|---|---|
None |
기본 작업 없음(No-op) 값입니다. ASP.NET 환경설정에서 파싱할 수 없는 열거형에 대해 이 값을 기본값으로 사용합니다. |
Server |
HTTP REST, gRPC 호출과 같이 들어오는 외부 요청을 처리하고 응답합니다. 이러한 요청은 시간에 따르며, 단기적입니다(일반적으로 5초 미만). 요청을 처리하는 프로세스를 사용할 수 없는 경우 사용자에게 명확히 표시됩니다. |
Worker |
요청하지 않은 대상 워크로드를 실행합니다. 백그라운드 서비스, 큐 처리, 타이머 기반 작업 실행 등이 있으며, 이 모드의 경우 버스트로 인한 짧은 다운타임이나 높은 CPU 사용량이 발생해도 괜찮습니다. 사용자 요청이 직접적인 영향을 받지 않습니다. 자동 스케일링이 사용되는 경우 훨씬 더 공격적인 정책을 적용할 수 있습니다(밀도 높은 프로세스 패킹, 높은 평균 CPU 사용량). |
AuthMethod(열거형)
사용자의 로그인에 사용되는 인증 수단입니다.
| 이름 | 설명 |
|---|---|
Anonymous |
인증이 활성화되지 않습니다. 시연 및 테스트 전용입니다. |
Okta |
Okta에 맞춘 OpenID Connect 인증입니다. |
OpenIdConnect |
일반 OpenID Connect 인증으로, 대부분의 경우 권장됩니다. |
Horde |
호드에 저장된 사용자 이름 및 비밀번호 크리덴셜을 사용하는 인증입니다. OpenID Connect(OIDC)가 가장 우선적으로 권장됩니다. 단, 소규모로 설치되어 있거나(사용자 10명 미만) OIDC 제공자가 없는 경우에는 선택 사항입니다. |
FeatureFlagSettings
새로운 기능의 롤아웃을 보조하는 기능 플래그입니다. 기능이 의도한 상태로 실행되며 안정적이면 플래그는 제거되어야 합니다. 이 행동에 도움이 되도록 옆에 이름과 플래그 생성 날짜가 표시됩니다. 플래그를 단순하게 부울로 설정해 보세요.
OpenTelemetrySettings
트레이스 및 메트릭의 수집과 전송을 위한 OpenTelemetry 환경설정입니다.
| 이름 | 설명 |
|---|---|
enabled |
boolean OpenTelemetry 익스포트가 활성화되는지 여부입니다. |
serviceName |
string 서비스 이름입니다. |
serviceNamespace |
string 서비스 네임스페이스입니다. |
serviceVersion |
string 서비스 버전입니다. |
enableDatadogCompatibility |
boolean Datadog 내 표현에 맞게 원격 측정을 보강하고 포맷을 지정할지 여부입니다. |
attributes |
string -> string 설정할 추가 어트리뷰트입니다. |
enableConsoleExporter |
boolean 콘솔 익스포터를 활성화할지 여부입니다(디버깅 용도). |
protocolExporters |
string -> OpenTelemetryProtocolExporterSettings 프로토콜 익스포터로, 키는 고유한 임의 이름입니다. |
OpenTelemetryProtocolExporterSettings
OpenTelemetry 익스포터에 대한 환경설정입니다.
| 이름 | 설명 |
|---|---|
endpoint |
string 엔드포인트 URL입니다. 보통 사용되는 프로토콜에 따라 다릅니다. |
protocol |
string 익스포터의 프로토콜입니다('grpc' 또는 'httpprotobuf'). |
ServerPluginsConfig
| 이름 | 설명 |
|---|---|
compute |
ComputeServerConfig 계산 플러그인에 대한 환경설정입니다. |
secrets |
PluginServerConfig 암호 플러그인에 대한 환경설정입니다. |
analytics |
AnalyticsServerConfig 분석 플러그인에 대한 환경설정입니다. |
build |
BuildServerConfig 빌드 플러그인에 대한 환경설정입니다. |
storage |
StorageServerConfig 스토리지 플러그인에 대한 환경설정입니다. |
symbols |
PluginServerConfig 심볼 플러그인에 대한 환경설정입니다. |
tools |
ToolsServerConfig 툴 플러그인에 대한 환경설정입니다. |
ddc |
PluginServerConfig DDC 플러그인에 대한 환경설정입니다. |
ComputeServerConfig
계산 플러그인에 대한 스태틱 환경설정입니다.
| 이름 | 설명 |
|---|---|
enableUpgradeTasks |
boolean 업그레이드 작업 소스를 활성화할지 여부입니다. |
withAws |
boolean Amazon Web Services(AWS) 전용 기능을 활성화할지 여부입니다. |
awsRegions |
string[] 호드가 인식할 AWS 지역의 목록입니다(예: us-east-1 또는 eu-central-1). 현재는 CloudWatch 메트릭을 여러 지역으로 리플리케이트하는 데만 사용됩니다. |
awsAutoScalingQueueUrls |
string[] EC2 Auto Scaling의 수명 주기 이벤트가 수신되는 AWS SQS 큐 URL입니다. |
fleetManagerV2 |
FleetManagerType 풀에서 지정되지 않은 경우 사용할 기본 플릿 매니저입니다. |
fleetManagerV2Config |
object 플릿 매니저에 대한 환경설정입니다(시리얼라이즈된 JSON). |
autoEnrollAgents |
boolean 팜에 에이전트를 자동으로 등록할지 여부입니다. |
defaultAgentPoolSizeStrategy |
PoolSizeStrategy 명시적으로 환경설정된 풀 크기 조정 전략이 없는 풀을 위한 기본 에이전트 풀 크기 조정 전략입니다. |
agentPoolScaleOutCooldownSeconds |
integer 에이전트 풀 자동 스케일링의 스케일 아웃 쿨다운입니다. 풀별 세팅으로 오버라이드할 수 있습니다. |
agentPoolScaleInCooldownSeconds |
integer 에이전트 풀 자동 스케일링의 스케일 인 쿨다운입니다. 풀별 세팅으로 오버라이드할 수 있습니다. |
computeTunnelPort |
integer 계산 소켓을 에이전트로 터널링하기 위해 수신할 포트입니다. |
computeTunnelAddress |
string 클라이언트가 계산 소켓 터널링을 위해 연결할 주소입니다(host:port). 호드 서버에 리버스 프록시/방화벽이 적용된 경우 포트가 달라질 수 있습니다. |
enabled |
boolean 플러그인이 활성화되어야 하는지 여부입니다. |
FleetManagerType(열거형)
사용할 수 있는 플릿 매니저입니다.
| 이름 | 설명 |
|---|---|
Default |
기본 플릿 매니저입니다. |
NoOp |
작업이 없는 플릿 매니저입니다. |
Aws |
AWS EC2 인스턴스를 처리하기 위한 플릿 매니저입니다. 인스턴스를 처음부터 생성 또는 종료합니다. |
AwsReuse |
AWS EC2 인스턴스를 처리하기 위한 플릿 매니저입니다. 기존 EBS 디스크를 재사용하기 위해 이미 존재하지만 중지된 인스턴스를 시작합니다. |
AwsRecycle |
AWS EC2 인스턴스를 처리하기 위한 플릿 매니저입니다. 기존 EBS 디스크를 재사용하기 위해 이미 존재하지만 중지된 인스턴스를 시작합니다. |
AwsAsg |
AWS EC2 인스턴스를 처리하기 위한 플릿 매니저입니다. 실행 중인 인스턴스 수를 제어하기 위해 EC2 Auto Scaling 그룹을 사용합니다. |
PoolSizeStrategy(열거형)
사용할 수 있는 풀 크기 조정 전략입니다.
| 이름 | 설명 |
|---|---|
LeaseUtilization |
리스 활용에 기반한 전략입니다. |
JobQueue |
작업 빌드 큐의 크기에 기반한 전략입니다. |
NoOp |
예비/기본 동작으로 사용되는 작업 없음(No-op) 전략입니다. |
ComputeQueueAwsMetric |
외부 AWS Auto Scaling 정책이 플릿을 스케일 조절하도록 메트릭을 보고하는 작업 없음 전략입니다. |
LeaseUtilizationAwsMetric |
외부 AWS Auto Scaling 정책이 플릿을 스케일 조절하도록 메트릭을 보고하는 작업 없음 전략입니다. |
PluginServerConfig
플러그인 서버 환경설정 오브젝트의 베이스 클래스입니다. |
| 이름 | 설명 |
|---|---|
enabled |
boolean 플러그인이 활성화되어야 하는지 여부입니다. |
AnalyticsServerConfig
분석 시스템에 대한 서버 환경설정입니다.
| 이름 | 설명 |
|---|---|
sinks |
TelemetrySinkConfig 다양한 원격 측정 싱크의 세팅입니다. |
enabled |
boolean 플러그인이 활성화되어야 하는지 여부입니다. |
TelemetrySinkConfig
원격 측정 싱크입니다.
| 이름 | 설명 |
|---|---|
epic |
EpicTelemetryConfig 에픽 원격 측정 싱크의 세팅입니다. |
mongo |
MongoTelemetryConfig MongoDB 원격 측정 싱크의 세팅입니다. |
EpicTelemetryConfig
원격 측정 싱크에 대한 환경설정입니다.
| 이름 | 설명 |
|---|---|
url |
string 원격 측정 서버의 베이스 URL입니다. |
appId |
string 이벤트 메시지에서 전송할 애플리케이션 이름입니다. |
enabled |
boolean 이 싱크를 활성화할지 여부입니다. |
MongoTelemetryConfig
원격 측정 싱크에 대한 환경설정입니다.
| 이름 | 설명 |
|---|---|
retainDays |
number 원격 측정 이벤트를 유지할 일수입니다. |
enabled |
boolean 이 싱크를 활성화할지 여부입니다. |
BuildServerConfig
빌드 플러그인에 대한 스태틱 환경설정입니다.
| 이름 | 설명 |
|---|---|
perforce |
PerforceConnectionSettings[] 에이전트가 아닌 호드 서버에서 사용하기 위한 Perforce 연결입니다. |
useLocalPerforceEnv |
boolean 로컬 Perforce 환경을 사용할지 여부입니다. |
perforceConnectionPoolSize |
integer 유지하려는 풀링된 Perforce 연결 수입니다. |
enableConformTasks |
boolean 일치 작업 소스를 활성화할지 여부입니다. |
p4SwarmUrl |
string P4 Swarm 설치 URL입니다. |
jiraUsername |
string Jira 서비스 계정 사용자 이름입니다. |
jiraApiToken |
string Jira 서비스 계정 API 토큰입니다. |
jiraUrl |
string Jira 설치를 위한 URL입니다. |
sharedDeviceCheckoutDays |
integer 공유된 디바이스 체크아웃이 유지되는 일수입니다. |
deviceProblemCooldownMinutes |
integer 디바이스 문제에 대한 쿨다운 시간입니다(단위: 분). |
deviceReportChannel |
string 디바이스 리포트를 전송할 채널입니다. |
disableSchedules |
boolean 예약된 작업을 실행할지 여부입니다. |
slackToken |
string Slack과 상호작용하기 위한 봇 토큰입니다(xoxb-*). |
slackSocketToken |
string Slack에 소켓을 열기 위한 토큰입니다(xapp-*). |
slackAdminToken |
string Slack을 위한 관리자 토큰입니다(xoxp-*). 관리자 엔드포인트를 사용하여 사용자를 초대할 때만 필요합니다. |
slackUsers |
string 알림을 전송할 Slack 사용자의 필터링된 목록입니다. 쉼표로 구분된 Slack 사용자 ID여야 합니다. |
slackErrorPrefix |
string 오류를 보고할 때 사용할 접두사입니다. |
slackWarningPrefix |
string 경고를 보고할 때 사용할 접두사입니다. |
configNotificationChannel |
string 환경설정 업데이트 실패와 관련된 메시지를 전송하기 위한 채널입니다. |
updateStreamsNotificationChannel |
string 스트림 알림 업데이트 실패를 전송할 채널입니다. |
jobNotificationChannel |
string 작업 관련 알림을 전송할 Slack 채널입니다. 여러 채널을 지정할 수 있으며, ;로 구분됩니다. |
agentNotificationChannel |
string 에이전트 관련 알림을 전송할 Slack 채널입니다. |
testDataRetainMonths |
integer 테스트 데이터를 유지할 개월 수입니다. |
blockCacheDir |
string 세부적인 블록 캐시를 저장할 디렉터리입니다. 번들에 임베드된 개별 익스포트를 캐싱합니다. |
blockCacheSize |
string 블록 캐시의 최대 크기입니다. 표준 바이너리 접미사를 허용합니다. 현재 1024MB의 배수로만 할당합니다. |
blockCacheSizeBytes |
integer 블록 캐시 크기에 대한 접근자입니다(단위: 바이트). |
commits |
CommitSettings 커밋 서비스의 옵션입니다. |
enabled |
boolean 플러그인이 활성화되어야 하는지 여부입니다. |
PerforceConnectionSettings
호드 서버에서 사용할 Perforce 연결 정보입니다(환경설정 파일 읽기 등의 용도).
| 이름 | 설명 |
|---|---|
id |
string 이 서버의 식별자입니다. |
serverAndPort |
string 서버 및 포트입니다. |
credentials |
PerforceCredentials 서버의 크리덴셜입니다. |
PerforceCredentials
Perforce 사용자의 크리덴셜입니다.
| 이름 | 설명 |
|---|---|
userName |
string 사용자 이름입니다. |
password |
string 사용자의 비밀번호입니다. |
ticket |
string 사용자의 로그인 티켓입니다. 설정된 경우 비밀번호 대신 사용됩니다. |
CommitSettings
커밋 서비스에 대한 옵션입니다.
| 이름 | 설명 |
|---|---|
replicateMetadata |
boolean 커밋 메타데이터를 데이터베이스에 미러링할지 여부입니다. |
replicateContent |
boolean 커밋 데이터를 스토리지에 미러링할지 여부입니다. |
bundle |
BundleOptions 오브젝트를 함께 패킹하는 방식에 대한 옵션입니다. |
chunking |
ChunkingOptions 오브젝트가 슬라이스되는 방식에 대한 옵션입니다. |
BundleOptions
번들 시리얼라이저 환경설정에 대한 옵션입니다.
| 이름 | 설명 |
|---|---|
maxVersion |
BundleVersion 쓰기를 수행할 번들의 최대 버전 번호입니다. |
maxBlobSize |
integer 블롭의 최대 페이로드 크기입니다. |
compressionFormat |
BundleCompressionFormat 사용할 압축 포맷입니다. |
minCompressionPacketSize |
integer 블록이 압축될 최소 크기입니다. |
maxWriteQueueLength |
integer 메모리 내에 저장할 데이터의 최대량입니다. 모든 백그라운드 쓰기와 빌드되는 번들이 포함됩니다. |
BundleVersion(열거형)
번들 버전 번호입니다.
| 이름 | 설명 |
|---|---|
Initial |
초기 버전 번호입니다. |
ExportAliases |
BundleExport.Alias 프로퍼티를 추가했습니다. |
RemoveAliases |
에일리어스를 포함하도록 변경사항을 되돌립니다. 데이터에 구워지기보다는 API를 통해 수행될 가능성이 높습니다. |
InPlace |
인플레이스(In-Place) 읽기 및 쓰기를 지원하는 데이터 구조체를 사용합니다. |
ImportHashes |
임포트된 노드에 임포트 해시를 추가합니다. |
LatestV1 |
V1 파이프라인을 사용하는 최신 버전입니다. |
PacketSequence |
일련의 독립적인 패킷으로 구성된 구조체 번들입니다(V2 코드 사용). |
Latest |
최신 버전 번호입니다. |
LatestV2 |
V2 파이프라인을 사용하는 최신 버전입니다. |
LatestPlusOne |
열거형 내 마지막 항목으로, 다음 목적으로 사용됩니다. |
BundleCompressionFormat(열거형)
번들 내 압축 포맷을 나타냅니다.
| 이름 | 설명 |
|---|---|
None |
패킷이 압축되지 않습니다. |
LZ4 |
LZ4 압축 |
Gzip |
Gzip 압축 |
Oodle |
우들 압축(Selkie) |
Brotli |
Brotli 압축 |
Zstd |
ZStandard 압축 |
ChunkingOptions
파일 노드 생성을 위한 옵션입니다.
| 이름 | 설명 |
|---|---|
leafOptions |
LeafChunkedDataNodeOptions 리프 노드 생성을 위한 옵션입니다. |
interiorOptions |
InteriorChunkedDataNodeOptions 내부 노드 생성을 위한 옵션입니다. |
LeafChunkedDataNodeOptions
특정 타입의 파일 노드 생성을 위한 옵션입니다.
| 이름 | 설명 |
|---|---|
minSize |
integer 최소 청크 크기입니다. |
maxSize |
integer 최대 청크 크기입니다. 다른 일치를 찾을 수 없는 경우 이 바운더리에서 청크를 분할합니다. |
targetSize |
integer 콘텐츠 슬라이싱을 위한 타깃 청크 크기입니다. |
InteriorChunkedDataNodeOptions
내부 노드 생성을 위한 옵션입니다.
| 이름 | 설명 |
|---|---|
minChildCount |
integer 각 노드 내 최소 자손 수입니다. |
targetChildCount |
integer 각 노드 내 자손의 타깃 수입니다. |
maxChildCount |
integer 각 노드 내 최대 자손 수입니다. |
sliceThreshold |
integer 내부 노드를 분할하기 위한 한계치 해시 값입니다. |
StorageServerConfig
스토리지 시스템의 스태틱 세팅입니다.
| 이름 | 설명 |
|---|---|
bundleCacheDir |
string 큰 범위로 묶이는 백엔드 캐시에 사용할 디렉터리입니다. 업스트림 오브젝트 스토어에서 다운로드한 전체 번들을 캐싱합니다. |
bundleCacheSize |
string 디스크상 스토리지 캐시의 최대 크기입니다. 표준 바이너리 접미사를 수용합니다(kb, mb, gb, tb 등). |
bundleCacheSizeBytes |
integer 번들 캐시 크기에 대한 접근자입니다(단위: 바이트). |
backends |
BackendConfig[] 스토리지 백엔드의 오버라이드된 세팅입니다. 커스텀 백엔드로 프로덕션 서버에 대해 실행할 때 유용합니다. |
enabled |
boolean 플러그인이 활성화되어야 하는지 여부입니다. |
BackendConfig
다양한 제공자의 일반 세팅 오브젝트입니다.
| 이름 | 설명 |
|---|---|
id |
string 스토리지 백엔드 ID입니다. |
base |
string 기본 세팅을 복사할 베이스 백엔드입니다. |
secondary |
string 오브젝트가 이 백엔드에서 발견되지 않는 경우 읽을 또 다른 백엔드를 지정합니다. 한 백엔드에서 다른 백엔드로 데이터를 마이그레이션할 때 사용될 수 있습니다. |
type |
StorageBackendType |
baseDir |
string |
awsBucketName |
string 사용할 버킷의 이름입니다. |
awsBucketPath |
string 버킷 내 베이스 경로입니다. |
awsCredentials |
AwsCredentialsType 사용할 크리덴셜의 타입입니다. |
awsRole |
string 가정할 역할의 ARN입니다. |
awsProfile |
string 크리덴셜 양식을 읽을 AWS 프로파일입니다. |
awsRegion |
string 연결할 지역입니다. |
azureConnectionString |
string Azure용 연결 스트링입니다. |
azureContainerName |
string 컨테이너의 이름입니다. |
relayServer |
string |
relayToken |
string |
gcsBucketName |
string 사용할 GCS 버킷의 이름입니다. |
gcsBucketPath |
string 버킷 내 베이스 경로입니다. |
StorageBackendType(열거형)
사용할 스토리지 백엔드의 타입입니다.
| 이름 | 설명 |
|---|---|
FileSystem |
로컬 파일 시스템입니다. |
Aws |
AWS S3입니다. |
Azure |
Azure 블롭 스토어입니다. |
Gcs |
Google Cloud Storage입니다. |
Memory |
메모리 내에서만 사용할 수 있습니다(테스트 용도). |
AwsCredentialsType(열거형)
AWS에 사용할 크리덴셜입니다.
| 이름 | 설명 |
|---|---|
Default |
AWS SDK의 기본 크리덴셜을 사용합니다. |
Profile |
AWS 환경설정 파일의 프로파일에서 크리덴셜을 읽습니다. |
AssumeRole |
특정 역할을 가정합니다. ARN을 지정해야 합니다. |
AssumeRoleWebIdentity |
현재 환경 변수를 사용하여 특정 역할을 가정합니다. |
ToolsServerConfig
번들링된 툴에 대한 서버 환경설정입니다.
| 이름 | 설명 |
|---|---|
bundledTools |
BundledToolConfig[] 서버와 함께 번들링된 툴입니다. 각 툴의 데이터는 'bundle create' 명령을 사용하여 생성될 수 있으며, 툴 디렉터리에 저장되어야 합니다. |
enabled |
boolean 플러그인이 활성화되어야 하는지 여부입니다. |
BundledToolConfig
서버와 함께 번들링된 툴에 대한 환경설정입니다.
| 이름 | 설명 |
|---|---|
version |
string 현재 툴 데이터를 위한 버전 스트링입니다. |
refName |
string 툴 디렉터리 내 레퍼런스 이름입니다. |
dataDir |
string 이 툴을 위한 블롭 데이터가 포함된 디렉터리입니다. 비어 있는 경우 서버 옆의 tools/{id} 폴더가 사용됩니다. |
id |
string 툴의 고유 식별자입니다. |
name |
string 툴의 이름입니다. |
description |
string 툴에 대한 설명입니다. |
category |
string 툴의 카테고리입니다. 툴이 대시보드 내 다른 탭에 표시되도록 합니다. |
group |
string 동일한 툴의 다양한 베리에이션을 위한 그룹화 키입니다. 대시보드에서 함께 표시됩니다. |
platforms |
string[] 이 툴의 플랫폼입니다. NET RID(https://learn.microsoft.com/ko-kr/dotnet/core/rid-catalog)의 형식을 취합니다. |
public |
boolean 이 툴을 인증 없이 공개 엔드포인트에서 다운로드용으로 노출할지 여부입니다. |
showInUgs |
boolean UGS 툴 메뉴에서 이 툴을 다운로드용으로 표시할지 여부입니다. |
showInDashboard |
boolean 대시보드에서 이 툴을 다운로드용으로 표시할지 여부입니다. |
showInToolbox |
boolean 언리얼 툴박스에서 이 툴을 다운로드용으로 표시할지 여부입니다. |
metadata |
string -> string 이 툴의 메타데이터입니다. |
namespaceId |
string 이 툴의 새 디플로이를 위한 기본 네임스페이스입니다. |
acl |
AclConfig 툴의 권한입니다. |
AclConfig
ACL을 업데이트하는 파라미터입니다.
| 이름 | 설명 |
|---|---|
entries |
AclEntryConfig[] 기존 ACL을 대체할 항목입니다. |
profiles |
AclProfileConfig[] 액션 세트를 명명된 컬렉션으로 그룹화하도록 허용하는 프로파일을 정의합니다. |
inherit |
boolean 부모 ACL에서 권한을 상속할지 여부입니다. |
exceptions |
string[] 상속된 세팅에 대한 예외 목록입니다. |
AclEntryConfig
ACL 내 개별 항목입니다.
| 이름 | 설명 |
|---|---|
claim |
AclClaimConfig 사용자 또는 그룹의 이름입니다. |
actions |
string[] 허용할 액션의 배열입니다. |
profiles |
string[] 부여할 프로파일의 목록입니다. |
AclClaimConfig
생성할 새 클레임입니다.
| 이름 | 설명 |
|---|---|
type |
string 클레임 타입입니다. |
value |
string 클레임 값입니다. |
AclProfileConfig
ACL 프로파일에 대한 환경설정입니다. ACL 항목을 통해 사용자에게 부여할 수 있는 액션의 프리셋 그룹을 정의합니다.
| 이름 | 설명 |
|---|---|
id |
string 이 프로파일의 식별자입니다. |
actions |
string[] 포함할 액션입니다. |
excludeActions |
string[] 상속된 액션에서 제외할 액션입니다. |
extends |
string[] 확장할 다른 프로파일입니다. |
에이전트 세팅
Agent.json(에이전트)
모든 호드 전용 세팅은 루트 오브젝트인 Horde 에 저장됩니다. 다른 .NET 기능은 이 파일의 루트에 있는 프로퍼티를 사용하여 환경설정할 수 있습니다.
| 이름 | 설명 |
|---|---|
serverProfiles |
string -> ServerProfile 연결할 알려진 서버입니다. |
server |
string 명령줄에서 오버라이드되지 않는 한 기본 서버입니다. |
name |
string 서버에 연결할 때 보고할 에이전트의 이름입니다. 기본적으로 컴퓨터의 호스트 이름이 사용됩니다. |
installed |
boolean 서버가 '설치된' 모드에서 실행되고 있는지 여부입니다. 이 모드의 경우, Windows에서 기본 데이터 디렉터리는 일반 애플리케이션 데이터 폴더(C:\ProgramData\Epic\Horde)를 사용하며, 환경설정 데이터를 이 폴더와 레지스트리에서 읽힙니다. 이 세팅은 appsettings.Local.json의 로컬 빌드에서 false로 오버라이드됩니다. |
ephemeral |
boolean 에이전트가 임시로 등록되어야 하는지 여부입니다. 임시로 등록하면 서버에서 장기 데이터가 지속되지 않으며, 연결이 해제되면 영구적으로 삭제된 것으로 가정합니다. AWS EC2의 스팟 인스턴스와 같은 단기 에이전트에 이상적입니다. |
workingDir |
DirectoryReference 리스 및 작업에 대한 작업 디렉터리입니다. 즉, Perforce의 파일이 체크아웃되는 위치입니다. |
logsDir |
DirectoryReference 에이전트 및 리스 로그가 작성되는 디렉터리입니다. |
shareMountingEnabled |
boolean 네트워크 공유의 지정된 목록을 마운트할지 여부입니다. |
shares |
MountNetworkShare[] 마운트할 네트워크 공유의 목록입니다. |
wineExecutablePath |
string Wine 실행 파일에 대한 경로입니다. null인 경우 Wine에서의 실행이 비활성화됩니다. |
containerEngineExecutablePath |
string 컨테이너 엔진 실행 파일에 대한 경로입니다(예: /usr/bin/podman). null인 경우 컨테이너 내부의 계산 워크로드 실행이 비활성화됩니다. |
writeStepOutputToLogger |
boolean 로깅 디바이스에 단계 출력을 작성할지 여부입니다. |
enableAwsEc2Support |
boolean AWS EC2 인터페이스를 통한 현재 에이전트 관련 쿼리 정보입니다. |
useLocalStorageClient |
boolean 서버를 통해 연결하지 않고 로컬 스토리지 클라이언트를 사용하는 옵션입니다. 주로 로컬 디버깅/반복작업 시 편의성을 위해 존재합니다. |
computeIp |
string 계산 작업을 수신하기 위한 수신 IP입니다. 설정되지 않은 경우 자동으로 해석됩니다. |
computePort |
integer 계산 작업을 수신하기 위한 수신 포트입니다. 리스와 연결되어야 합니다. 수신되는 계산 요청을 비활성화하려면 포트를 0으로 설정합니다. |
openTelemetry |
OpenTelemetrySettings OpenTelemetry에 대한 옵션입니다. |
enableTelemetry |
boolean 호드 서버로 원격 측정을 다시 전송할지 여부입니다. |
telemetryReportInterval |
integer 원격 측정 이벤트를 서버에 보고할 빈도입니다(단위: 밀리초). |
bundleCacheSize |
integer 번들 캐시의 최대 크기입니다(단위: MB). |
cpuCount |
integer 워크로드가 사용해야 하는 논리적 CPU 코어 수입니다. 현재는 힌트로만 제공되며, 환경 변수(UE_HORDE_CPU_COUNT)를 통해 설정되므로 리스가 이 값을 준수해야 합니다. |
cpuMultiplier |
number CPU 코어 수 세팅에 적용되는 CPU 코어 배수입니다. 예를 들어, CPU 코어가 32개이고 배수가 0.5인 경우 결과는 최대 16개의 CPU 사용이 됩니다. |
properties |
string -> string 에이전트에서 내부적으로 설정한 부분 외의 키/값 프로퍼티입니다. |
ServerProfile
사용할 서버에 대한 정보입니다.
| 이름 | 설명 |
|---|---|
name |
string 이 서버 프로파일의 이름입니다. |
environment |
string 환경의 이름입니다(현재 트레이싱 용도로만 사용됨). |
url |
string 서버의 URL입니다. |
token |
string 연결을 시작하기 위해 사용할 Bearer 토큰입니다. |
thumbprint |
string 신뢰할 수 있는 인증서의 지문입니다. 서버에 자체 서명 인증서 사용을 허용합니다. |
thumbprints |
string[] 신뢰할 수 있는 인증서의 지문입니다. 서버에 자체 서명 인증서 사용을 허용합니다. |
DirectoryReference
절대 디렉터리 경로의 표현입니다. 빠른 해싱 및 비교를 허용합니다.
| 이름 | 설명 |
|---|---|
parentDirectory |
DirectoryReference 이 오브젝트가 포함된 디렉터리를 얻습니다. |
fullName |
string 이 오브젝트에 대한 경로입니다. 절대 경로로 저장하되, O/S에서 선호하는 구분자 문자를 사용하며 디렉터리용 트레일링 슬래시를 사용하지 않습니다. |
MountNetworkShare
마운트할 네트워크 공유를 설명합니다.
| 이름 | 설명 |
|---|---|
mountPoint |
string 로컬 머신에서 공유가 마운트되어야 하는 위치입니다. Windows용 드라이브 문자여야 합니다. |
remotePath |
string 원격 리소스에 대한 경로입니다. |
OpenTelemetrySettings
트레이스 및 메트릭의 수집과 전송을 위한 OpenTelemetry 환경설정입니다.
| 이름 | 설명 |
|---|---|
enabled |
boolean OpenTelemetry 익스포트가 활성화되는지 여부입니다. |
serviceName |
string 서비스 이름입니다. |
serviceNamespace |
string 서비스 네임스페이스입니다. |
serviceVersion |
string 서비스 버전입니다. |
enableDatadogCompatibility |
boolean Datadog 내 표현에 맞게 원격 측정을 보강하고 포맷을 지정할지 여부입니다. |
attributes |
string -> string 설정할 추가 어트리뷰트입니다. |
enableConsoleExporter |
boolean 콘솔 익스포터를 활성화할지 여부입니다(디버깅 용도). |
protocolExporters |
string -> OpenTelemetryProtocolExporterSettings 프로토콜 익스포터로, 키는 고유한 임의 이름입니다. |
OpenTelemetryProtocolExporterSettings
OpenTelemetry 익스포터에 대한 환경설정입니다.
| 이름 | 설명 |
|---|---|
endpoint |
string 엔드포인트 URL입니다. 보통 사용되는 프로토콜에 따라 다릅니다. |
protocol |
string 익스포터의 프로토콜입니다('grpc' 또는 'httpprotobuf'). |