# Unity Licensing Client 구성

> Learn how to configure the client computers that connect to your Unity Licensing Server.

사용자 컴퓨터에서 Unity Licensing Client를 실행하려면 Licensing Server에서 서비스 구성 파일(`services-config.json`)을 복사하여 Licensing Client로 가져와야 합니다.

필요한 경우 구성을 커스터마이즈할 수 있습니다.

## 구성 파일 복사##copying-the-configuration-file

`services-config.json`이라는 JSON 파일에는 Unity Licensing Client에 대한 구성이 포함되어 있습니다. [서버 setup 커맨드](./server-setup-cfg.md)를 실행하면 라이선스 서버에 이 파일이 생성됩니다. 생성된 JSON 파일에는 다음 구성이 포함되어 있습니다.

```json
{
  "licensingServiceBaseUrl": "http://SERVER-IP-ADDRESS:PORT",
  "enableEntitlementLicensing": true,
  "hubEnableWorkOffline": true,
  "clientConnectTimeoutSec": 60,
  "clientHandshakeTimeoutSec": 30
}
```

라이선스 서버에서 Unity 에디터를 실행할 각 클라이언트 컴퓨터로 `services-config.json`을 복사합니다. 파일을 다음 표에 지정된 경로로 복사합니다. 폴더가 없으면 새로 생성합니다.

| 플랫폼     | 서비스 구성 경로                                    |
| ------- | -------------------------------------------- |
| Windows | `%PROGRAMDATA%\Unity\config\`                |
| macOS   | `/Library/Application Support/Unity/config/` |
| Linux   | `/usr/share/unity3d/config/`                 |

### 지원되는 구성 키 리스트##supported-configuration-keys

클라이언트 구성을 커스터마이즈해야 하는 경우 다음 키를 설정할 수 있습니다.

| 키                                     | 설명                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `licensingServiceBaseUrl`             | 플로팅 라이선스(floating license) 서버의 네트워크 주소입니다. 라이선스 클라이언트는 이 주소의 다른 엔드포인트에 연결하여 리스와 라이선스를 얻습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `enableEntitlementLicensing`          | 권한 라이선스를 활성화합니다. Unity 에디터 버전이 2022.1 이상인 경우 이 설정을 변경해도 별다른 영향을 미치지 않습니다.유니티 지원팀의 안내 없이 임의로 이 값을 변경하지 마십시오.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `hubEnableWorkOffline`                | 클라이언트가 오프라인에서 작업하기 위해 플로팅 라이선스를 대여할 수 있는지 여부를 지정합니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `clientConnectTimeoutSec`             | 작업이 종료되기 전에 에디터가 Unity Licensing Client에 연결하는 데 적용되는 시간 초과 기간(초)을 지정합니다. 이 시간 초과는 Unity Licensing Client를 시작하고 프로세스 간 연결을 설정하는 데 모두 적용됩니다.2020.3 이상의 경우 유효한 범위는 0.5-120초입니다. 기본값은 60초입니다.2020.3 이전 버전의 경우 유효한 범위는 0.5-20초입니다. 기본값은 10초입니다.                                                                                                                                                                                                                                                                                                                                                       |
| `clientHandshakeTimeoutSec`           | 작업이 종료되기 전에 에디터가 Unity Licensing Client에 대한 핸드셰이크 API 호출을 설정하는 데 적용되는 시간 초과 기간(초)을 지정합니다. 2020.3 이상의 경우 유효한 범위는 0.5-60초입니다. 기본값은 30초입니다.2020.3 이전 버전의 경우 유효한 범위는 0.5-20초입니다. 기본값은 2초입니다.                                                                                                                                                                                                                                                                                                                                                                                                         |
| `clientResolveEntitlementsTimeoutSec` | 작업이 종료되기 전에 에디터가 Unity Licensing Client에 권한을 쿼리하는 데 적용되는 시간 초과 기간(초)을 지정합니다. 2020.3 이상의 경우 유효한 범위는 0.5-60초입니다. 기본값은 30초입니다.2020.3 이전 버전의 경우 유효한 범위는 0.5-20초입니다. 기본값은 2초입니다.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `clientUpdateLicenseTimeoutSec`       | 작업이 종료되기 전에 에디터가 라이선스 API에 업데이트 호출을 수행하는 데 적용되는 시간 초과 기간(초)을 지정합니다. 2020.3 이상의 경우 유효한 범위는 0.5-60초입니다. 기본값은 30초입니다.2020.3 이전 버전의 경우 유효한 범위는 0.5-20초입니다. 기본값은 10초입니다.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `licensingServiceTimeoutSec`          | 서버 버전 1.11 이상부터 적용가능한 키입니다. 라이선스 서버로부터 응답을 받는 데 적용되는 타임아웃(초)을 설정합니다. 기본값은 60초입니다. 유효 값의 범위는 10초부터 300초까지입니다.버전 1.10 이하에서는 이 타임아웃이 10초로 고정되었습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `toolset`                             | 라이선스 서버에 요청할 제품 라이선스 ID를 지정합니다. 서버는 클라이언트에 한 번에 하나의 제품 라이선스를 제공합니다. 쉼표로 구분된 문자열을 선호하는 라이선스순으로 제공할 수 있습니다. 사용 가능한 모든 제품 ID를 보려면 [서버 관리 상태 페이지](./server-setup-test.md)로 이동하여 `licenseEntitlementGroupId` 아래 목록을 확인합니다. 서버는 사용자가 지정한 순서대로 각 라이선스를 처리합니다. 라이선스를 사용할 수 없는 경우 서버는 목록의 다음 라이선스로 이동합니다. `toolset` 값을 지정하지 않으면 서버는 기본 툴세트를 제공합니다. 기본 툴세트에 대한 자세한 내용은 고급 서버 구성을 참조하십시오. 서버 라이선스 변경이 툴세트 구성에 미치는 영향에 대한 자세한 내용을 확인하고 싶다면 다음 링크를 참조하십시오. - [라이선스 업데이트가 클라이언트 구성에 미치는 영향](./server-admin.md#impact-license-updates) - [라이선스 갱신이 클라이언트 구성에 미치는 영향](./server-admin.md#impact-license-renewals) |
| `licenseClientApplicationPath`        | Unity Licensing Client 실행 파일의 전체 경로입니다. Unity Hub 버전 2.3.0 이상 또는 Unity 에디터 2019.2 이상을 사용하는 경우에는 필요하지 않습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `enableFloatingApi`                   | 클라이언트에서 플로팅 라이선스 API를 활성화합니다. 이 플래그는 Unity Licensing Client 1.3.0 이하 버전을 사용하는 경우에만 설정합니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

## 구성 파일 확인##validating-the-configuration-file

각 변경 후 구성 파일의 JSON이 구문적으로 유효한지 확인합니다. JSON 확인 툴을 사용하거나 다음과 같은 콘솔 커맨드를 실행할 수 있습니다.

```bash
python -m json.tool services-config.json
```

확인에 성공하면 콘솔에 JSON 파일의 콘텐츠가 표시됩니다. 확인에 실패하면 콘솔에 오류가 표시됩니다.

## 라이선스 클라이언트 테스트##testing-the-license-client

Unity Licensing Client를 테스트하기 전에 Unity 에디터의 위치를 알고 있어야 합니다. 자세한 정보가 필요하다면 [에디터 프로그램 파일 찾기](https://docs.unity3d.com/hub/manual/AddEditor.html#locate-the-editor-program-file)를 참조하십시오.
Unity 에디터의 기본 설치 경로는 다음과 같습니다.

* Windows: `"C:\Program Files\Unity\Hub\Editor\<version />\Editor\Unity.exe"`
* macOS: `/Applications/Unity/Hub/Editor/<version />/Unity.app`
* Linux: `/Applications/Unity/Hub/Editor/<version />/Unity.app`

클라이언트 구성을 테스트하려면 다음 단계를 따릅니다.

1. 커맨드 프롬프트(Windows) 또는 터미널 애플리케이션(masOS)을 엽니다.

2. 에디터 디렉토리에 있는 Unity Licensing Client 디렉토리로 이동합니다.

   * Windows:\
     `<UnityEditorDir />\Data\Resources\Licensing\Client`

   - macOS(Unity 에디터 2021.3.19f1 이상 버전):\
     `<UnityEditorDir />/Contents/Frameworks/UnityLicensingClient.app/Contents/MacOS/`

   * macOS(Unity 에디터 2021.3.19f1 이전 버전):\
     `<UnityEditorDir>/Contents/Frameworks/UnityLicensingClient.app/Contents/Resources/`

   - Linux:\
     `<UnityEditorDir>/Data/Resources/licensing-server/Client/`

3. 다음 커맨드를 실행합니다.

   * Windows: `.\Unity.Licensing.Client.exe --acquire-floating`
   * macOS: `./Unity.Licensing.Client --acquire-floating`
   * Linux: `./Unity.Licensing.Client --acquire-floating`

   구성이 유효하면 서버는 토큰 식별자가 포함된 플로팅 라이선스를 할당합니다. 콘솔 출력은 다음 예제와 유사합니다.

   ```bash
   Trying to acquire floating license from: 10.1.34.126 ...
   License lease Created with token e8b1afba-895d-4c54-aa50-5eadcc4d95a7.
   Expires: July 12, 2019 6:47:57 PM
   ```

## 추가 리소스

* [Unity Floating Licensing 클라이언트 문제 해결](./troubleshooting-client.md)
* [Unity Floating License Server Fundamentals](https://learn.unity.com/course/unity-floating-license-server-fundamentals)(Unity Learn 교육 과정)
