Client
.NET/Unity C++/Unreal/Cocos2d-x JavaScript/Cocos2d-js Godot 3 Godot 4 Java/Android Defold cURL REST Swift Dart/Flutter
Server
TypeScript Go Lua
Docker 구성으로 Nakama 설치 Docker 를 사용하면 Nakama를 가장 빨리 다운로드하고 개발을 시작할 수 있습니다. Docker를 사용하여 다음 작업을 수행할 수 있습니다:
새로운 환경에 설치 Nakama에서 CockroachDB 또는 PostgreSQL 데이터베이스 설치 및 실행 기본 운영 체제에 영향을 주지 않는 상태에서 스냅샷을 찍거나 제거하고 Nakama를 재설치합니다. OS와 무관하게 신속하고 간단하게 설치할 수 있습니다. 이 가이드에서 설명한 대로 Docker Compose 를 사용하여 모든 필요한 서비스를 신속하고 쉽게 정의하고 Nakama에서 로컬 개발 인스턴스를 실행할 수 있습니다.
필수 조건
# 진행하기 전에 Docker Desktop 을 설치했는지 확인합니다.
Nakama 실행
# 예를 들어, Nakama 서버를 저장할 디렉터리를 생성합니다Desktop/nakama. 이 폴더에서 docker-compose.yml 파일을 생성하고 원하는 텍스트 편집기를 사용하여 파일을 엽니다. Heroic Lab에서는 두 개의 YML 파일을 사용할 수 있습니다. CockroachDB 또는 PostgreSQL 을 데이터베이스로 사용합니다. docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
version : "3"
services :
cockroachdb :
image : cockroachdb/cockroach:latest-v23.1
command : start-single-node --insecure --store=attrs=ssd,path=/var/lib/cockroach/
restart : "no"
volumes :
- data:/var/lib/cockroach
expose :
- "8080"
- "26257"
ports :
- "26257:26257"
- "8080:8080"
healthcheck :
test : [ "CMD" , "curl" , "-f" , "http://localhost:8080/health?ready=1" ]
interval : 3s
timeout : 3s
retries : 5
nakama :
image : registry.heroiclabs.com/heroiclabs/nakama:3.22.0
entrypoint :
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address root@cockroachdb:26257 &&
exec /nakama/nakama --name nakama1 --database.address root@cockroachdb:26257 --logger.level DEBUG --session.token_expiry_sec 7200 --metrics.prometheus_port 9100
restart : "no"
links :
- "cockroachdb:db"
depends_on :
cockroachdb :
condition : service_healthy
prometheus :
condition : service_started
volumes :
- ./:/nakama/data
expose :
- "7349"
- "7350"
- "7351"
- "9100"
ports :
- "7349:7349"
- "7350:7350"
- "7351:7351"
healthcheck :
test : [ "CMD" , "/nakama/nakama" , "healthcheck" ]
interval : 10s
timeout : 5s
retries : 5
prometheus :
image : prom/prometheus
entrypoint : /bin/sh -c
command : |
'sh -s <<EOF
cat > ./prometheus.yml <<EON
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
- job_name: nakama
metrics_path: /
static_configs:
- targets: ['nakama:9100']
EON
prometheus --config.file=./prometheus.yml
EOF'
ports :
- "9090:9090"
volumes :
data :
docker-compose-postgres.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
version : "3"
services :
postgres :
container_name : postgres
image : postgres:12.2-alpine
environment :
- POSTGRES_DB=nakama
- POSTGRES_PASSWORD=localdb
volumes :
- data:/var/lib/postgresql/data
expose :
- "8080"
- "5432"
ports :
- "5432:5432"
- "8080:8080"
healthcheck :
test : [ "CMD" , "pg_isready" , "-U" , "postgres" , "-d" , "nakama" ]
interval : 3s
timeout : 3s
retries : 5
nakama :
container_name : nakama
image : registry.heroiclabs.com/heroiclabs/nakama:3.22.0
entrypoint :
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address postgres:localdb@postgres:5432/nakama &&
exec /nakama/nakama --name nakama1 --database.address postgres:localdb@postgres:5432/nakama --logger.level DEBUG --session.token_expiry_sec 7200
restart : always
links :
- "postgres:db"
depends_on :
postgres :
condition : service_healthy
volumes :
- ./:/nakama/data
expose :
- "7349"
- "7350"
- "7351"
ports :
- "7349:7349"
- "7350:7350"
- "7351:7351"
healthcheck :
test : [ "CMD" , "/nakama/nakama" , "healthcheck" ]
interval : 10s
timeout : 5s
retries : 5
volumes :
data :
docker-compose.yml 파일로 원하는 옵션의 컨텐츠를 복사해서 붙여넣습니다.
nakama:volumes: 항목을 docker-compose.yml 파일로 /c/Users/<username>/projects/docker:/nakama/data.
와 같이 편집합니다.
Terminal 창을 열고 Nakama 디렉터리로 이동합니다. 예: 필요한 이미지를 가져와서 애플리케이션을 시작하려면 다음을 실행합니다: 축하합니다! 이제 127.0.0.1:7350에서 Nakama 서버를 실행할 수 있습니다. Nakama 컨테이너 실행중
Open in Visual Studio Code 버튼(또는 IDE)을 사용하여 docker-compose.yml 파일을 직접 편집합니다.
Nakama Console
# 브라우저에서 127.0.0.1:7351 로 이동하여 Nakama Console에 액세스할 수 있습니다:
로그인 알림이 표시되면 기본 자격 증명은 admin:password입니다. 구성 파일 또는 명령 라인 플래그를 통해 변경할 수 있습니다.
구성 파일
# Nakama 서버를 사용자 지정으로 설정하기 위해서 여러 구성 옵션 을 사용할 수 있습니다. 설정하려고 하는 모든 구성에 대해서 YML 파일을 생성하고 해당 파일을 Docker 컨테이너로 전달할 수 있습니다.
먼저, Docker에서 사용할 수 있는 로컬 저장 용량을 생성해야 합니다.
원하는 텍스트 편집기에서 docker-compose.yml 파일을 엽니다. 원하는 용량을 지정하기 위해서 nakama:volumes: 항목을 편집합니다. 예를 들어, Docker 컨테이너의 nakama/data에서 사용할 수 있는 desktop/nakama 디렉터리에 /data 폴더를 생성하려면 다음 작업을 수행합니다: 1
2
volumes :
- ./data:/nakama/data
변경된 파일을 저장하고 Docker 컨테이너를 다시 시작하면 변경사항이 적용됩니다. Terminal에서 다음 작업을 수행합니다: 다음으로, my-config.yml과 같이 사용자 지정 구성 파일을 생성하고 Docker에서 사용할 수 있는 /data 폴더로 이동시킵니다. my-config.yml
1
2
3
4
5
6
7
8
9
10
11
12
name : nakama-node-1
data_dir : "./data/"
logger :
stdout : false
level : "warn"
file : "/nakama/data/logfile.log"
console :
port : 7351
username : "my_user"
password : "my_password"
이번에는 docker-compose.yml 파일을 다시 열고 nakama:entrypoint 항목을 편집하여 --config 플래그 포인트를 구성 파일에 추가합니다. 다음과 같이 수행해야 합니다: 1
2
3
4
5
6
7
nakama :
entrypoint :
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address root@cockroachdb:26257 &&
/nakama/nakama --config /nakama/data/my-config.yml
변경된 파일을 저장하고 Docker 컨테이너를 다시 시작하면 변경사항이 적용됩니다. Terminal에서 다음 작업을 수행합니다: 다음 단계
# Nakama 서버가 원하는 구성으로 실행중인 경우, 원하는 클라이언트 SDK로 시작할 수 있습니다.
Related Pages