> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2 이용 시작

Game Server Services의 이용을 시작하는 방법에 대해




## SDK

### Game Engine

Game Server Services는 주요 게임 엔진에서 이용할 수 있는 SDK를 제공합니다.<br>
게임 엔진용 SDK는 게임 내에서 이용하는 것에 초점을 맞춰, 일반 SDK보다 고수준의 API 형태로 제공됩니다.


**Unity**

#### GS2 SDK for Unity

본 SDK는 Apache License 2.0으로 제공됩니다.<br>
프로그램 어딘가에 Apache License 2.0으로 제공되는 라이브러리를 사용하고 있음을 명시해야 합니다.

본 SDK에는 퍼블릭 도메인인 LitJson(Gs2/Plugin/LitJSON.dll)이 포함되어 있습니다.<br>
이 dll은 GS2 SDK 동작의 근간에 관여하는 기능에 사용되고 있어 삭제할 수 없습니다.

본 SDK에는 MIT License인 websocket-sharp(Gs2/Plugin/websocket-sharp.dll)가 포함되어 있습니다.<br>
표시·표기가 필요한 라이선스 조문은 다음과 같습니다.<br>
https://raw.githubusercontent.com/sta/websocket-sharp/master/LICENSE.txt<br>
이 dll은 GS2 SDK 동작의 근간에 관여하는 기능에 사용되고 있어 삭제할 수 없습니다.<br>

본 SDK에는 BSD License인 protobuf(Gs2/Plugin/Google.Protobuf.dll)가 포함되어 있습니다.<br>
표시·표기가 필요한 라이선스 조문은 다음과 같습니다.<br>
https://github.com/protocolbuffers/protobuf/blob/master/LICENSE<br>
이 dll은 GS2-Realtime을 사용하지 않는다면 삭제할 수 있습니다.<br>

#### GS2 SDK for Unity 도입 절차

[GS2 SDK for Unity Installer Version 2024.4.1](../../ja/get_start/gs2-unity-installer_2024.4.1.unitypackage)

위 링크에서 UnityPackage 형식의 인스톨러를 다운로드합니다.

Unity Editor를 실행하고, 메뉴의 Import Package에서 gs2-unity-installer_2024.4.1.unitypackage 파일을 임포트합니다.

그 후 Unity Editor 메뉴에서 『Window > Game Server Services > SDK Installer』를 선택하고, 마법사의 안내에 따라 진행하세요.

설치 완료 후 정상적으로 동작하지 않는 경우, Unity Editor를 한번 재시작해 보세요.

[SDK 설정 절차 상세](tutorial/setup_sdk/#gs2-sdk-for-unity-설치-절차)

#### GS2 UIKit for Unity

GS2 UIKit for Unity는 코드 작성 없이 Unity Editor의 UI를 사용하여 GS2 기능을 구현할 수 있도록 하는 것을 목적으로 합니다.

SDK 인스톨러를 도입한 후, Unity Editor 메뉴에서 『Window > Game Server Services > UIKit for Unity Installer』를 선택하고, 마법사의 안내에 따라 진행하세요.<br>
설치 완료 후 정상적으로 동작하지 않는 경우, Unity Editor를 한번 재시작해 보세요.

UIKit 튜토리얼은 [여기](uikit)를 확인해 주세요.

[SDK 설정 절차 상세](tutorial/setup_sdk/#gs2-uikit-for-unity-설치-절차)


**Unreal Engine 5**

#### GS2 SDK for Unreal Engine 5

본 SDK는 Apache License 2.0으로 제공됩니다.<br>
프로그램 어딘가에 Apache License 2.0으로 제공되는 라이브러리를 사용하고 있음을 명시해야 합니다.

#### GS2 SDK for Unreal Engine 5 도입 절차

최신 SDK는 GitHub에서 받으실 수 있습니다.

https://github.com/gs2io/gs2-sdk-for-ue5/

#### 프로젝트 플러그인으로 설치

GitHub에서 소스 코드를 다운로드하여 Unreal Engine 프로젝트 내의 다음 폴더에 배치해 주세요.

(Unreal Engine 프로젝트)/Plugins/Gs2Plugin

Plugins 폴더가 존재하지 않는 경우 새로 만들어 주세요.

UnrealEditor에서 uproject를 실행하고 GS2 플러그인을 활성화한 후, UnrealEditor를 재시작해 주세요.

[SDK 설정 절차 상세](tutorial/setup_sdk/#프로젝트-플러그인으로-설치)

#### 엔진 플러그인으로 설치

Unreal Engine 소스 코드를 GitHub 또는 Perforce에서 받아 Engine을 빌드하고 있는 환경에 엔진 플러그인으로 설치할 수 있습니다.

다운로드한 GS2 플러그인 소스 코드 일체를 Unreal Engine 소스 코드 내의 다음 폴더에 배치해 주세요.

(Unreal Engine 소스 코드)/Engine/Plugins/Gs2Plugin

UnrealEditor에서 uproject를 실행하고 GS2 플러그인을 활성화한 후, UnrealEditor를 재시작해 주세요.

[SDK 설정 절차 상세](tutorial/setup_sdk/#엔진-플러그인으로-설치)


**Godot**

#### GS2 SDK for Godot

본 SDK는 Godot 4(GDScript)를 위해 제공되며, Apache License 2.0으로 공개되어 있습니다.<br>
프로그램 어딘가에 Apache License 2.0으로 제공되는 라이브러리를 사용하고 있음을 명시해야 합니다.

#### GS2 SDK for Godot 도입 절차

최신 SDK는 GitHub에서 ZIP 형식으로 받으실 수 있습니다.

https://github.com/gs2io/gs2-sdk-for-godot/

ZIP 파일의 압축을 풀고, 포함되어 있는 `addons/gs2` 폴더를 Godot 프로젝트의 `addons` 폴더에 복사해 주세요.

배치 후 경로가 `res://addons/gs2/`가 되면 도입이 완료된 것입니다.

[SDK 설정 절차 상세](tutorial/setup_sdk/#gs2-sdk-for-godot-설치-절차)




### 각종 프로그래밍 언어

Go, PHP, Java, C#, TypeScript, Python 등 각종 프로그래밍 언어에서 GS2를 이용할 수 있습니다.<br>
GitHub에서 소스 코드를 다운로드하거나, 각 패키지 매니저를 통해 받을 수 있습니다.


**Go**

https://github.com/gs2io/gs2-golang-sdk

#### Go mod를 통한 취득

```shell
go install github.com/gs2io/gs2-golang-sdk@latest
```


**PHP**

https://github.com/gs2io/gs2-php-sdk

#### Composer를 통한 취득

[gs2-php-sdk](https://packagist.org/packages/gs2/gs2-php-sdk)

```shell
composer require gs2/gs2-php-sdk
```

**Java**

https://github.com/gs2io/gs2-java-sdk

#### Maven을 통한 취득

[gs2-java-sdk](https://central.sonatype.com/artifact/io.gs2/gs2-java-sdk)


**C#**

https://github.com/gs2io/gs2-csharp-sdk

#### NuGet을 통한 취득

[GS2.CSharp.Sdk](https://www.nuget.org/packages/GS2.CSharp.Sdk)

**Typescript**

https://github.com/gs2io/gs2-typescript-sdk

#### npm을 통한 취득

[gs2](https://www.npmjs.com/package/gs2)

```shell
npm i gs2
```

**Python**

https://github.com/gs2io/gs2-python-sdk

#### PyPI를 통한 취득

[gs2](https://pypi.org/project/gs2/)

```shell
pip install gs2
```



## CDK

CDK란 Cloud Development Kit의 약자로, GS2의 오케스트레이션을 코드로 수행할 수 있게 해주는 개발 키트입니다.

좀 더 구체적으로 기능을 설명하면, CDK로 GS2 리소스에 해당하는 객체를 인스턴스화하는 코드를 작성하고 덤프 API를 호출함으로써 GS2-Deploy의 템플릿을 생성할 수 있습니다.
GS2-Deploy의 템플릿은 YAML 형식으로 작성할 수 있지만, YAML 파일은 프로그램 코드가 아니기 때문에 외부 파일을 가져오거나 반복문을 실행할 수 없어, 워크플로우를 최적화하려면 템플릿을 생성하는 코드를 작성해야 했습니다.
CDK는 이러한 워크플로우를 최적화하기 위한 솔루션으로, CDK를 사용한 도구 내에서 마스터 데이터의 엑셀 파일을 파싱하거나 이벤트 기간을 반복문으로 정의하면서 GS2-Deploy 템플릿을 생성할 수 있습니다.


**Go**

https://github.com/gs2io/gs2-golang-cdk

#### Go mod를 통한 취득

```shell
go install github.com/gs2io/gs2-golang-cdk@latest
```


**PHP**

https://github.com/gs2io/gs2-php-cdk

#### Composer를 통한 취득

[gs2-php-cdk](https://packagist.org/packages/gs2/gs2-php-cdk)

```shell
composer require gs2/gs2-php-cdk
```

**Java**

https://github.com/gs2io/gs2-java-cdk

#### Maven을 통한 취득

[gs2-java-cdk](https://central.sonatype.com/artifact/io.gs2/gs2-java-cdk)


**C#**

https://github.com/gs2io/gs2-csharp-cdk

#### NuGet을 통한 취득

[GS2.CSharp.Cdk](https://www.nuget.org/packages/GS2.CSharp.Cdk)

**Typescript**

https://github.com/gs2io/gs2-typescript-cdk

#### npm을 통한 취득

[gs2-cdk](https://www.npmjs.com/package/gs2-cdk)

```shell
npm i gs2-cdk
```

**Python**

https://github.com/gs2io/gs2-python-cdk

#### PyPI를 통한 취득

[gs2-cdk](https://pypi.org/project/gs2-cdk/)

```shell
pip install gs2-cdk
```



# SDK 설치는 끝나셨나요?

다음은 GS2를 실제로 이용해 보는 [튜토리얼]()에 도전해 봅시다.




- [GS2 UIKit for Unity 튜토리얼](/ko/get_start/uikit/)
  
- [GS2-SDK for UE5 Blueprint 튜토리얼](/ko/get_start/blueprint/)
  
- [튜토리얼](/ko/get_start/tutorial/)
  
