# Windows

**URL:** https://heroiclabs.com/docs/kr/nakama/getting-started/install/windows/
**Summary:** Windows에서 Nakama 바이너리 및 전제조건들을 설정하고 실행하는 방법. 바이너리 설정을 통해 Docker 없이 Nakama를 설치하고 관리할 수 있습니다.

---


# Windows용 Nakama 바이너리

이번 튜토리얼은 Windows에서 Nakama 바이너리와 필수 요건을 설정하고 실행하는 방법에 대해서 설명합니다.

바이너리 설정을 통해 [Docker](../docker/) 없이도 Nakama를 설치하고 관리할 수 있지만, 설정과 관리에 추가적인 단계가 필요합니다:

- CockroachDB 또는 PostgreSQL 설치하기
- 데이터베이스 마이그레이션 수동으로 적용하기
- Nakama와 데이터베이스를 새 버전으로 수동 업그레이드
- 서비스 구성 또는 Nakama와 데이터베이스 수동으로 시작하기

## 필수 조건

### 운영 체제

진행하기 전에 CockroachDB를 실행하기 위해서 64bit Windows 8 이상, PostgreSQL을 실행하기 위해서 64bit Windows 7 이상이 실행되고 있는지 확인합니다.

다음으로, 지원되는 데이터베이스 엔진을 설치합니다.

### CockroachDB

Nakama는 저장소 엔진에 최적화된 쿼리를 포함하는 CockroachDB v20.0 이상을 공식적으로 지원합니다.

[Windows에 CockroachDB 설치](https://www.cockroachlabs.com/docs/stable/install-cockroachdb.html)에 대한 공식 가이드를 준수합니다.

### PostgreSQL

Nakama는 개발 환경을 위해서 PostgreSQL 9.6 이상을 비공식적으로 지원합니다.

공식 사이트에서 [PostgreSQL Windows 인스톨러](https://www.postgresql.org/download/windows/)를 다운로드하고 실행합니다:

"PostgreSQL 서버"와 "명령 라인 도구" 구성 요소만 필수이고, 나머지는 선택사항입니다.

![PostgreSQL 구성 요소]({{< fingerprint_image "/images/pages/nakama/getting-started/install/database-install-postgresql-components.png" >}})

데이터베이스 슈퍼 사용자의 비밀번호를 입력합니다. 입력하는 비밀번호를 기록하시기 바랍니다. Nakama를 데이터베이스 서버로 연결하도록 구성할 때 비밀번호가 필요할 수도 있습니다.

설치 프로세스의 다른 옵션에 대해서는 기본 값을 사용합니다.

## Nakama 다운로드

Windows용 Nakama 서버 최신 바이너리 얻기:

1. Nakama GitHub 리포지토리 [출시 페이지](https://github.com/heroiclabs/nakama/releases)에서 다운로드합니다.
2. 아카이브를 추출하고 이름을 지정한 후에 적절한 위치로 폴더를 이동합니다.

## Nakama 실행

Nakama 서버를 시작하기 전에 다음을 실행해야 합니다:

1. 선택한 데이터베이스, CockroachDB 또는 PostgreSQL을 실행합니다.
2. Nakama를 처음 실행하거나 버전을 업그레이드한 경우, Nakama 데이터베이스 마이그레이션을 실행합니다.

### CockroachDB

안전하지 않은 모드가 활성화된 상태에서 CockroachDB를 싱글 노드 서버를 실행해서 로컬 호스트(127.0.0.1)에서만 액세스할 수 있도록 하는 것이 가장 쉽게 실행할 수 있는 방법입니다. 액세스와 보안 제어에 대한 자세한 내용은 [CockroachDB 문서](https://www.cockroachlabs.com/docs/v20.2/secure-a-cluster.html)를 참고합니다.

1. 셸(명령 프롬프트, Powershell, Bash 등)을 열고 CockroachDB 디렉터리로 이동합니다.
2. CockroachDB를 시작하려면 다음을 실행합니다:

**명령 프롬프트**

```sh
cockroach.exe start-single-node --insecure --listen-addr=127.0.0.1
```

**Powershell 또는 Bash**

```sh
./cockroach.exe start-single-node --insecure --listen-addr=127.0.0.1
```

CockroachDB를 성공적으로 실행하면 아래의 스크린샷과 같이 결과가 출력됩니다:

![CockroachDB 실행중]({{< fingerprint_image "/images/pages/nakama/getting-started/install/database-run-cockroachdb.png" >}})

CockroachDB를 Windows 시작 앱 또는 서비스로 구성하여 이 단계를 건너뛸 수 있습니다.

**오류: 이름이 지정된 타임 존을 로드할 수 없음**

일부 CockroachDB 버전에서는 타임 존 정보를 로드하기 위해서 Go time zone .zip 아카이브가 필요합니다.

최신 출시된 Go를 [다운로드](https://golang.org/dl/)하고 설치하여 호환되는 zoneinfo 파일을 받을 수 있습니다. `zoneinfo.zip` 파일은 `lib/time/zoneinfo.zip`에서 Go 설치 폴더에 있습니다.

CockroachDB를 실행하기 전에 같은 셸 세션에서 `ZONEINFO` 환경 변수를 `zoneinfo.zip` 파일의 전체 경로로 설정합니다:

**명령 프롬프트**

```sh
set ZONEINFO="C:\Program Files\Go\lib\time\zoneinfo.zip"
```

**Powershell**

```sh
$env:ZONEINFO="C:\Program Files\Go\lib\time\zoneinfo.zip"
```

**Bash**

```sh
export ZONEINFO="c/Program Files/Go/lib/time/zoneinfo.zip"
```

대신에 Windows 설정을 통해 환경 변수를 설정합니다.

### PostgreSQL

설치가 완료되면, PostgresSQL은 배경화면에서 자동으로 실행되고 Nakama 마이그레이션 또는 Nakama 서버를 실행할 수 있습니다.

PostgreSQL 명령 라인 도구나 pgAdmin과 같은 GUI 애플리케이션을 사용하여 제한된 권한으로 특정 사용자에 대한 애플리케이션을 생성할 수 있습니다.

### Nakama 마이그레이션

Nakama를 처음 실행하거나 버전을 업그레이드한 경우, Nakama 데이터베이스 마이그레이션을 실행해야 할 수도 있습니다. 확실하지 않으면 마이그레이션을 다시 실행하는 것이 안전합니다.

기본 구성으로 CockroachDB를 실행하는 경우, 마이그레이션을 추가 옵션 없이 간단하게 실행할 수 있습니다.

**CockroachDB**

**명령 프롬프트**

```sh
nakama.exe migrate up
```

**Powershell 또는 Bash**

```sh
./nakama.exe migrate up
```

![CockroachDB에서 Nakama 마이그레이션]({{< fingerprint_image "/images/pages/nakama/getting-started/install/nakama-migrate-cockroachdb.png" >}})

**PostgreSQL**

PosgreSQL을 사용하는 경우, 데이터베이스 서버 주소, 사용자, 비밀번호를 입력해야 합니다. 사용자 지정 사용자를 생성하지 않았으면 이것이 설치 과정에서 입력한 기본 슈퍼 사용자 `postgres` 맟 마스터 비밀번호입니다:

**명령 프롬프트**

```sh
nakama.exe migrate up --database.address postgres:password@127.0.0.1:5432
```

**Powershell 또는 Bash**

```sh
./nakama.exe migrate up --database.address postgres:password@127.0.0.1:5432
```

![PostgreSQL에서 Nakama 마이그레이션]({{< fingerprint_image "/images/pages/nakama/getting-started/install/nakama-migrate-postgresql.png" >}})

### Nakama 서버

CockroachDB 또는 PostgreSQL을 통해 Nakama 서버를 시작하려면 다음을 실행합니다:

**CockroachDB**

**명령 프롬프트**

```sh
nakama.exe
```

**Powershell 또는 Bash**

```sh
./nakama.exe
```

**PostgreSQL**

[Nakama PostgreSQL 데이터베이스 마이그레이션](#nakama-migrations)을 실행할 때 사용했던 동일한 `database.address` 값을 입력해야 합니다:

**명령 프롬프트**

```sh
nakama.exe --database.address postgres:password@127.0.0.1:5432
```

**Powershell 또는 Bash**

```sh
./nakama.exe --database.address postgres:password@127.0.0.1:5432
```

Windows 보안 알림이 표시되면 "개인 네트워크" 박스를 클릭하여 Nakama가 네트워크와 커뮤니케이션이 되도록 하고 "액세스 허용"을 클릭하여 보안 권한을 확인합니다.

![Nakama 방화벽]({{< fingerprint_image "/images/pages/nakama/getting-started/install/nakama-firewall.png" >}})

Nakama 서버는 실행되고 다음과 같은 경고와 유용한 정보를 나타내는 유사한 로그 출력을 표시해야 합니다:

- Nakama 데이터 디렉터리
- Nakama 및 데이터베이스 버전
- 다양한 서비스 포트

**CockroachDB에 대한 Nakama**

![CockroachDB를 사용하여 Nakama 실행]({{< fingerprint_image "/images/pages/nakama/getting-started/install/nakama-run-cockroachdb.png" >}})

**PostgreSQL에 대한 Nakama**

![PostgreSQL을 사용하여 Nakama 실행]({{< fingerprint_image "/images/pages/nakama/getting-started/install/nakama-run-postgresql.png" >}})

## Nakama Console

브라우저에서 [127.0.0.1:7351](http://127.0.0.1:7351)로 이동하여 Nakama Console에 액세스할 수 있습니다.

로그인 알림이 표시되면 기본 자격 증명은 `admin:password`입니다. 구성 파일 또는 명령 라인 플래그를 통해 변경할 수 있습니다.

## 구성 파일

Nakama 서버를 사용자 지정으로 설정하기 위해서 여러 [구성 옵션](../../configuration/)을 사용할 수 있습니다.

## 다음 단계

Nakama 서버가 원하는 구성으로 실행중인 경우, 원하는 클라이언트 SDK로 시작할 수 있습니다.
