구성 #
YAML 구성 파일에는 Nakama 서버가 실행되는 방식의 다양한 측면이 지정됩니다. 구성 파일을 지정하지 않고 Nakama를 실행할 수 있으며 대신 기본 설정이 사용됩니다.
구성 파일 지정 #
--config
플래그를 사용하여 런타임 시 구성 파일을 지정할 수 있습니다.
|
|
Docker-Compose를 통해 Nakama를 실행하는 경우 Docker에서 사용할 수 있도록 시스템의 폴더를 바인딩해야 합니다. Docker에서 실행되는 Nakama 구성 문서를 참조하세요.
서버 포트 #
Nakama는 매우 유연한 시스템입니다. gRPC, HTTP, Websockets 및 rUDP를 통해 서버와 데이터를 교환할 수 있습니다. 이러한 유연성으로 인해 Nakama는 다음에 바인딩할 때 4개의 포트를 사용할 수 있어야 합니다:
- 포트 7350의 HTTP API 서버. 포트는 구성에서 변경할 수 있습니다.
- 포트 7351에서 임베디드 개발자 콘솔에 전원을 공급하는 HTTP API 서버. 포트는 구성에서 변경할 수 있습니다.
- 포트 7349의 gRPC API 서버. 포트는 API 서버 포트를 기반으로 선택됩니다.
- 포트 7348의 내장 콘솔용 gRPC API 서버. 포트는 API 서버 포트를 기반으로 선택됩니다.
일반 속성 #
대부분의 환경에서 몇 가지 구성 속성을 변경해야 합니다. 예를 들어 실제 프로덕션 환경에 Nakama를 배포하기 전에 socket.server_key
, session.encryption_key
및 **runtime.http_key
**의 값을 변경해야 합니다.
전체 구성 목록은 페이지 하단에 있습니다.
Parameter | Description |
---|---|
name | Nakama 노드 이름(고유해야 함) - 기본값이 nakama 로 설정됩니다. |
data_dir | Nakama가 로그를 포함한 데이터를 저장할 쓰기 가능한 폴더의 절대 경로. 기본값은 Nakama가 시작된 작업 디렉터리입니다. |
runtime.path | 스캔하고 로드할 모듈의 경로. 기본값은 data_dir/modules 입니다. |
database.address | 연결할 대상 데이터베이스 노드의 목록. username:password@address:port/dbname (postgres:// 프로토콜은 경로에 자동으로 추가됨) 형식을 따라야 합니다. 기본값은 root@localhost:26257 입니다. |
socket.server_key | 서버에 대한 연결 설정에 사용할 서버 키. 기본값은 defaultkey 입니다. |
runtime.http_key | 키는 서버의 런타임 HTTP 호출을 보호하는 데 사용됩니다. 기본값은 defaulthttpkey 입니다. |
session.encryption_key | 클라이언트 토큰 생성에 사용되는 암호화 키. 기본값은 defaultencryptionkey 입니다. |
session.token_expiry_sec | 세션 토큰 만료 기간(초). 기본값은 60입니다. |
session.refresh_encryption_key | 세션 새로 고침 토큰 생성에 사용되는 암호화 키. 기본값은 defaultrefreshencryptionkey 입니다. |
session.refresh_token_expiry_sec | 새로 고침 토큰 만료 기간(초). 기본값은 3600입니다. |
서버 구성 #
Nakama는 다양한 사용 사례 및 배포 환경에 최대한 유연하게 사용할 수 있도록 구성 옵션을 다양하게 제공합니다.
Nakama는 모든 구성 옵션에 대해 적정한 기본값을 제공하므로 옵션의 일부만 재정의하면 됩니다. 또한 고유한 구성 파일을 설정하고 명령줄 플래그를 통해 구성 파일의 값을 재정의할 수 있습니다. 예를 들어 런타임 경로를 재정의하려면 다음을 수행합니다:
|
|
필드가 구체적이지 않으면 기본값이 사용됩니다. 플래그를 재정의하는 방법에 대한 자세한 내용은 서버 명령줄 페이지를 참조하세요.
Parameter | Flag | Description |
---|---|---|
name | name | Nakama 노드 이름(고유해야 함) - 기본값이 nakama 로 설정됩니다. 로그 파일에서도 이 이름이 사용됩니다. |
data_dir | data_dir | Nakama가 로그를 포함한 데이터를 저장할 쓰기 가능한 폴더의 절대 경로. 기본값은 Nakama가 시작된 작업 디렉터리입니다. |
shutdown_grace_sec | shutdown_grace_sec | 시스템 종료 전에 서버가 작업이 완료되기를 기다리는 최대 시간(초). 이 값이 0이면 서버가 종료 신호를 받는 즉시 종료됩니다. 기본값은 ‘0’입니다. |
클러스터 #
이 섹션에서는 클러스터를 형성하기 위해 노드를 서로 연결하는 방법을 설명합니다.
다음 구성 옵션은 Nakama 서버의 Nakama Enterprise 버전에서만 사용할 수 있습니다.
Nakama는 프로덕션 환경에서 고가용성 클러스터로 실행되도록 설계되었습니다. Nakama Enterprise를 실행 중인 경우 개발 머신에서 로컬로 클러스터를 시작할 수 있습니다. 프로덕션에서는 Nakama Enterprise 또는 Heroic Cloud 서비스를 사용할 수 있습니다.
Parameter | Flag | Description |
---|---|---|
gossip_bindaddr | cluster.gossip_bindaddr | 검색을 위해 Nakama를 바인딩할 인터페이스 주소. 기본적으로 모든 인터페이스에서 수신 대기합니다. |
gossip_bindport | cluster.gossip_bindport | 검색을 위해 Nakama를 바인딩할 포트 번호. 기본값은 7352입니다. |
join | cluster.join | 연결할 다른 Nakama 노드의 호스트 이름 및 포트의 목록. |
max_message_size_bytes | cluster.max_message_size_bytes | 메시지당 Nakama 노드 간에 전송할 수 있는 최대 데이터양(바이트). 기본값은 4194304입니다. |
rpc_port | cluster.rpc_port | Nakama 노드 간에 데이터를 전송하는데 사용할 포트 번호. 기본값은 7353입니다. |
local_priority | cluster.local_priority | ’true’로 설정할 때 가능하면 로컬 리소스를 기본 설정으로 둡니다. |
work_factor_interval_ms | cluster.work_factor_interval_ms | 작업 요소 동기화 작업의 업데이트 빈도. |
콘솔 #
이 섹션에서는 임베디드 개발자 콘솔에 관련된 구성을 정의했습니다.
Parameter | Flag | Description |
---|---|---|
address | console.address | 콘솔 트래픽을 수신 대기할 인터페이스의 IP 주소. 사용 가능한 모든 주소/인터페이스에서 기본적으로 수신 대기합니다. |
max_message_size_bytes | console.max_message_size_bytes | 메시지당 클라이언트 소켓에서 읽을 수 있도록 허용되는 최대 데이터양(바이트). |
idle_timeout_ms | console.idle_timeout_ms | 연결 유지가 활성화될 때 다음 요청을 기다리는 최대 시간(밀리초). |
password | console.password | 내장 콘솔의 암호. 기본값은 “암호"입니다. |
port | console.port | 내장 콘솔에 대한 연결을 수락해 모든 인터페이스에서 수신 대기하기 위한 포트. 기본값은 7351입니다. |
read_timeout_ms | console.read_timeout_ms | 전체 요청을 읽기 위한 최대 지속 시간(밀리초). |
signing_key | console.signing_key | 콘솔 세션 토큰 서명에 사용되는 키. |
token_expiry_sec | console.token_expiry_sec | 토큰 만료 기간(초). 기본값은 86400입니다. |
username | console.username | 내장 콘솔의 사용자 이름. 기본값은 “관리자"입니다. |
write_timeout_ms | console.write_timeout_ms | 응답 쓰기 시간 제한에 도달하기까지의 최대 지속 시간(밀리초). |
데이터베이스 #
Nakama를 사용하려면 CockroachDB 서버 인스턴스가 필요합니다. Nakama는 CockroachDB 데이터베이스 내에서 nakama
(이)라는 자체 데이터베이스를 생성하고 관리합니다.
Parameter | Flag | Description |
---|---|---|
address | database.address | 연결할 대상 데이터베이스 노드의 목록. username:password@address:port/dbname (postgres:// 프로토콜은 경로에 자동으로 추가됨) 형식을 따라야 합니다. 기본값은 root@localhost:26257 입니다. |
conn_max_lifetime_ms | database.conn_max_lifetime_ms | 연결이 종료되고 새 연결이 생성되기까지 데이터베이스 연결을 재사용하는 시간(밀리초). 기본값은 0(무기한)입니다. |
max_idle_conns | database.max_idle_conns | 데이터베이스에 대해 허용되어 열려 있지만 사용되지 않는 연결의 최대 개수. 기본값은 100입니다. |
max_open_conns | database.max_open_conns | 데이터베이스에 대해 허용되어 열려 있는 연결의 최대 개수. 기본값은 0(무제한)입니다. |
dns_scan_interval_sec | database.dns_scan_interval_sec | 데이터베이스 호스트 이름에 대한 DNS 확인 변경 사항을 찾는 스캔 사이의 시간(초). 기본값은 60입니다. |
다음과 같은 명령을 사용하여 여러 데이터베이스 주소를 Nakama에 전달할 수 있습니다:
|
|
IAP (인앱 구매) #
Nakama는 다양한 상점에 연결하여 인앱 구매를 검증할 수 있으며 유효한 구매 원장을 보관합니다. 따라서 유효한 영수증을 통해 일반적인 인앱 구매 재생 공격이 방지되고 필요에 따라 사용자 계정에 대한 구매를 복원할 수 있습니다.
Apple #
Apple 인앱 구매 구성
Parameter | Flag | Description |
---|---|---|
shared_password | apple.shared_password | 애플리케이션의 공유 암호. |
Google #
Google 인앱 구매 구성
Parameter | Flag | Description |
---|---|---|
client_email | google.client_email | 서비스 계정 클라이언트 이메일 값. |
private_key | google.private_key | 서비스 계정 개인 키 값. |
Huawei #
Parameter | Flag | Description |
---|---|---|
public_key | huawei.public_key | Huawei IAP는 Base64로 인코딩된 공개 키를 저장합니다. |
client_id | huawei.client_id | Huawei OAuth 클라이언트 비밀. |
client_secret | huawei.client_secret | Huawei OAuth 앱 클라이언트 비밀. |
순위표 #
순위표 및 토너먼트 시스템 관련 구성 옵션을 변경할 수 있습니다.
Parameter | Flag | Description |
---|---|---|
blacklist_rank_cache | leaderboard.blacklist_rank_cache | 리더보드 이름이 일치하는 리더보드의 순위 캐시를 비활성화합니다. 순위 캐시를 완전히 비활성화하려면 * 를 사용하고, 그렇지 않으면 비워 두어 순위 캐시를 활성화하십시오. |
callback_queue_size | leaderboard.callback_queue_size | 만료/재설정/종료 호출의 순서를 정하는 리더보드 및 토너먼트 콜백 큐의 크기. 기본값은 65536입니다. |
callback_queue_workers | leaderboard.callback_queue_workers | 리더보드 및 토너먼트 콜백의 동시 처리에 사용할 작업자 수. 기본값은 8입니다. |
로거 #
Nakama는 다양한 시스템이 로그와 상호 작용할 수 있도록 JSON 형식의 로그를 생성합니다. 기본적으로 로그는 표준 출력(콘솔)에 표시됩니다.
Parameter | Flag | Description |
---|---|---|
compress | logger.compress | 이에 따라 gzip 을 사용하여 순환된 로그 파일을 압축해야 하는지 여부가 결정됩니다. |
file | logger.file | 파일에 출력을 기록합니다(설정된 경우 stdout 도 포함). 디렉터리와 파일이 쓰기 가능한 상태인지 확인합니다. |
format | logger.format | 로깅 출력 형식을 설정합니다. ‘JSON’ 또는 ’ Stackdriver ‘일 수 있습니다. 기본값은 ‘JSON’입니다. |
level | logger.level | 생성할 최소 로그 수준. 값은 ‘디버그’, ‘정보’, ‘경고’, ‘오류’입니다. 기본값은 ‘정보’입니다. |
local_time | logger.local_time | 이에 따라 백업 파일의 타임스탬프 형식을 지정하는데 사용되는 시간이 컴퓨터의 현지 시간인지 여부가 결정됩니다. 기본값은 UTC 시간을 사용하는 것입니다. |
max_age | logger.max_age | 파일 이름에 인코딩된 타임스탬프를 기반으로 이전 로그 파일을 보존할 최대 일수. 기본값은 보존 기간을 기준으로 이전 로그 파일을 제거하지 않는 것입니다. |
max_backups | logger.max_backups | 보존할 이전 로그 파일의 최대 개수. (max_age 로 인해 여전히 삭제될 수 있지만) 기본값은 이전 로그 파일을 전부 보존하는 것입니다. |
max_size | logger.max_size | 로그 파일이 순환되기 전 로그 파일의 최대 크기(MB). 기본값은 100MB로 설정됩니다. 기본값은 100입니다. |
rotation | logger.rotation | 로그 파일을 순환합니다. 기본값은 false입니다. |
stdout | logger.stdout | 로그를 콘솔 표준 출력으로 리디렉션합니다. 로그 파일이 더 이상 사용되지 않습니다. 기본값은 ’true’입니다. |
표준 시작 로그 메시지는 logger.stdout
필드 값에 관계없이 항상 콘솔에 표시됩니다.
대결 #
권한 부여 멀티플레이어 런타임 관련 구성 옵션을 변경할 수 있습니다.
Parameter | Flag | Description |
---|---|---|
call_queue_size | match.call_queue_size | 겹치지 않도록 보장하기 위해 매치 처리기 콜백에 대한 호출을 시퀀싱하는 신뢰할 수 있는 매치 버퍼의 크기. 기본값은 128입니다. |
deferred_queue_size | match.deferred_queue_size | 각 루프 실행이 끝날 때까지 지연된 메시지 브로드캐스트를 유지하는 신뢰할 수 있는 매치 버퍼의 크기. 기본값은 128입니다. |
input_queue_size | match.input_queue_size | 다음 틱에서 처리할 수 있을 때까지 클라이언트 메시지를 저장하는 신뢰할 수 있는 매치 버퍼의 크기. 기본값은 128입니다. |
join_attempt_queue_size | match.join_attempt_queue_size | 진행 중인 조인 시도 횟수를 제한하는 신뢰할 수 있는 매치 버퍼의 크기. 기본값은 128입니다. |
join_marker_deadline_ms | match.join_marker_deadline_ms | 클라이언트의 신뢰할 수 있는 매치 조인이 매치 핸들러가 조인을 승인하기를 기다리는 최종 기한(밀리초). 기본값은 5000입니다. |
label_update_interval_ms | match.label_update_interval_ms | 매치 레이블이 업데이트되는 시점 간의 시간(밀리초). 기본값은 1000입니다. |
max_empty_sec | match.max_empty_sec | 신뢰할 수 있는 매치가 중지되기까지 비어 있도록 허용되는 최대 연속 시간(초). 0은 최대값이 없음을 나타냅니다. 기본값은 0입니다. |
메트릭스 #
Nakama는 메트릭스 정보를 생성합니다. 이 정보는 Prometheus로 내보낼 수 있습니다.
중요한 서버 정보가 포함되어 있으므로 메트릭스 내보내기가 보호되는지 확인합니다.
런타임 #
런타임 엔진 관련 옵션입니다.
Parameter | Flag | Description |
---|---|---|
call_stack_size | runtime.call_stack_size | (사용되지 않음) 각 런타임 인스턴스의 호출 스택 크기. 기본값은 128입니다. |
env | runtime.env | 런타임 스크립트에 환경 변수로 노출되는 키-값 속성의 목록. |
event_queue_size | runtime.event_queue_size | 이벤트 큐 버퍼의 크기. 기본값은 65536입니다. |
event_queue_workers | runtime.event_queue_workers | 이벤트의 동시 처리에 사용할 작업자 수. 기본값은 8입니다. |
http_key | runtime.http_key | HTTP 런타임 호출 인증에 사용되는 키. 기본값은 defaultkey 입니다. |
js_entrypoint | runtime.js_entrypoint | 번들형 JavaScript 런타임 소스 코드의 위치를 지정합니다. |
js_max_count | runtime.js_max_count | 할당할 JavaScript 런타임 인스턴스의 최대 개수. 기본값은 32입니다. |
js_min_count | runtime.js_min_count | 할당할 JavaScript 런타임 인스턴스의 최소 개수. 기본값은 16입니다. |
js_read_only_globals | runtime.js_read_only_globals | 활성화되면 모든 JavaScript 런타임 전역 테이블을 읽기 전용으로 표시하여 메모리 공간을 줄입니다. 기본값은 true입니다. |
lua_call_stack_size | runtime.lua_call_stack_size | 각 런타임 인스턴스의 호출 스택 크기. 기본값은 128입니다. |
lua_max_count | runtime.lua_max_count | 할당할 Lua 런타임 인스턴스의 최대 개수. 기본값은 48입니다. |
lua_min_count | runtime.lua_min_count | 할당할 Lua 런타임 인스턴스의 최소 개수. 기본값은 16입니다. |
lua_read_only_globals | runtime.lua_read_only_globals | 활성화되면 모든 Lua 런타임 전역 테이블을 읽기 전용으로 표시하여 메모리 공간을 줄입니다. 기본값은 true입니다. |
lua_api_stacktrace | runtime.lua_api_stacktrace | API 응답에 Lua 스택 추적을 추가합니다. 기본값은 true입니다. |
lua_registry_size | runtime.lua_registry_size | 각 Lua 런타임 인스턴스의 레지스트리 크기. 기본값은 512입니다. |
max_count | runtime.max_count | (사용되지 않음) 할당할 런타임 인스턴스의 최대 개수. 기본값은 256입니다. |
min_count | runtime.min_count | (사용되지 않음) 할당할 런타임 인스턴스의 최소 개수. 기본값은 16입니다. |
path | runtime.path | 서버가 시작 시 스캔하고 로드할 모듈의 경로. 기본값은 data_dir /modules 입니다. |
read_only_globals | runtime.read_only_globals | (사용되지 않음) 활성화되면 모든 런타임 전역 테이블을 읽기 전용으로 표시하여 메모리 공간을 줄입니다. 기본값은 true입니다. |
registry_size | runtime.registry_size | (사용되지 않음) 각 런타임 인스턴스의 레지스트리 크기. 기본값은 512입니다. |
런타임 환경은 키-값 쌍입니다. 다음과 같이 =
문자로 구분됩니다:
|
|
세션 #
토큰 생성에 사용된 암호화 키와 같이 각 사용자에 관련된 구성 옵션을 변경할 수 있습니다.
Parameter | Flag | Description |
---|---|---|
encryption_key | session.encryption_key | 클라이언트 토큰 생성에 사용되는 암호화 키. 기본값은 defaultencryptionkey 입니다. |
token_expiry_sec | session.token_expiry_sec | 토큰 만료 기간(초). 기본값은 60입니다. |
refresh_encryption_key | session.refresh_encryption_key | 세션 새로 고침 토큰 생성에 사용되는 암호화 키. 기본값은 defaultrefreshencryptionkey 입니다. |
refresh_token_expiry_sec | session.refresh_token_expiry_sec | 새로 고침 토큰 만료 기간(초). 기본값은 3600입니다. |
single_socket | session.single_socket | 사용자당 하나의 소켓만 허용하고 이전 세션은 연결이 해제됩니다. 기본값은 ‘false’입니다. |
single_match | session.single_match | 사용자당 하나의 매치만 허용하고 오래된 매치는 휴가를 받습니다. 활성화하려면 single_socket 이 필요합니다. 기본값은 ‘false’입니다. |
소셜 #
Nakama에서는 다양한 소셜 네트워크에 연결하여 사용자 정보를 가져올 수 있습니다. 또한 알림을 전달하고 유지하기 위한 알림 센터 역할도 가능합니다.
Apple #
Apple iOS/iPadOS 앱에 관련된 구성입니다.
Parameter | Flag | Description |
---|---|---|
bundle_id | social.apple.bundle_id | Apple 로그인 번들 ID. |
Steam #
Steam 네트워크 설정을 구성합니다. Facebook, Google 및 GameCenter의 경우 서버 설정이 필요하지 않습니다.
Parameter | Flag | Description |
---|---|---|
app_id | social.steam.app_id | Steam 앱 ID. |
publisher_key | social.steam.publisher_key | Steam 게시자 키. |
Facebook 인스턴트 게임 #
Facebook 인스턴트 게임에 관련된 구성입니다.
Parameter | Flag | Description |
---|---|---|
app_secret | social.facebook_instant_game.app_secret | Facebook 인스턴트 앱 보안 |
app_id | social.facebook_limited_login.app_id | Facebook 제한적 로그인 앱 ID. |
소켓 #
서버와 클라이언트 간의 연결 소켓 및 전송 프로토콜에 관련된 옵션입니다.
Parameter | Flag | Description |
---|---|---|
address | socket.address | 클라이언트 트래픽을 수신 대기할 인터페이스의 IP 주소. 사용 가능한 모든 주소/인터페이스에서 기본적으로 수신 대기합니다. |
idle_timeout_ms | socket.idle_timeout_ms | 연결 유지가 활성화될 때 다음 요청을 기다리는 최대 시간(밀리초). HTTP 연결에 사용됩니다. 기본값은 60000입니다. 더 큰 값은 프로덕션이 아닌 로컬 디버깅에만 권장됩니다. |
max_message_size_bytes | socket.max_message_size_bytes | 메시지당 클라이언트 소켓에서 읽을 수 있도록 허용되는 최대 데이터양(바이트). 실시간 연결에 사용됩니다. 기본값은 4096입니다. |
max_request_size_bytes | socket.max_request_size_bytes | 요청당 클라이언트에서 읽을 수 있도록 허용되는 최대 데이터양(바이트). gRPC 및 HTTP 연결에 사용됩니다. 기본값은 4096입니다. |
outgoing_queue_size | socket.outgoing_queue_size | 클라이언트로 전송되기를 기다리는 메시지의 최대 개수. 이 수를 초과하면 클라이언트가 너무 느린 것으로 간주되어 연결이 해제됩니다. 실시간 연결을 처리할 때 사용됩니다. 기본값은 16입니다. |
ping_backoff_threshold | socket.ping_backoff_threshold | 정기적으로 활성화되는 연결을 통해 불필요한 ping을 보내지 못하도록, 다음 ping 주기까지 ping 전송을 지연하는 단일 ping 주기동안 클라이언트에서 수신된 메시지의 최소 개수. 기본값은 20입니다. |
ping_period_ms | socket.ping_period_ms | 클라이언트 ping 메시지 간의 대기 시간(밀리초). 이 값은 pong_wait_ms 보다 작아야 합니다. 실시간 연결에 사용됩니다. 기본값은 15000입니다. |
pong_wait_ms | socket.pong_wait_ms | ping을 전송한 후 클라이언트의 pong 메시지를 기다리는 시간(밀리초). 실시간 연결에 사용됩니다. 기본값은 25000입니다. |
port | socket.port | 클라이언트에서 연결을 수락해 모든 인터페이스에서 수신 대기하기 위한 포트. 기본값은 7350입니다. |
protocol | socket.protocol | 트래픽을 수신 대기하는 네트워크 프로토콜. 가능한 값이 IPv4와 IPv6 모두인 경우 tcp , IPv4 전용인 경우 tcp4 또는 IPv6 전용인 경우 tcp6 입니다. 기본값은 tcp 입니다. |
read_buffer_size_bytes | socket.read_buffer_size_bytes | 미리 할당된 소켓 읽기 버퍼의 크기(바이트). 기본값은 4096입니다. |
read_timeout_ms | socket.read_timeout_ms | 전체 요청을 읽기 위한 최대 지속 시간(밀리초). HTTP 연결에 사용됩니다. 기본값은 10000입니다. |
server_key | socket.server_key | 서버에 대한 연결을 설정하는데 사용할 서버 키. 기본값은 defaultkey 입니다. |
ssl_certificate | socket.ssl_certificate | 서버에서 SSL을 직접 사용하도록 하려는 경우 인증서 파일의 경로. ssl_private_key도 제공해야 합니다. 프로덕션 용도로는 권장되지 않습니다. |
ssl_private_key | socket.ssl_private_key | 서버에서 SSL을 직접 사용하도록 하려는 경우 개인 키 파일의 경로. ssl_certificate도 제공해야 합니다. 프로덕션 용도로는 권장되지 않습니다. |
write_buffer_size_bytes | socket.write_buffer_size_bytes | 미리 할당된 소켓 쓰기 버퍼의 크기(바이트). 기본값은 4096입니다. |
write_timeout_ms | socket.write_timeout_ms | 응답 쓰기 시간 제한에 도달하기까지의 최대 지속 시간(밀리초). HTTP 연결에 사용됩니다. 기본값은 10000입니다. |
write_wait_ms | socket.write_wait_ms | 데이터를 쓸 때 클라이언트의 승인을 기다리는 시간(밀리초). 실시간 연결에 사용됩니다. 기본값은 5000입니다. |
추적기 #
세션 추적에 관련된 구성 옵션을 변경할 수 있습니다.
Parameter | Flag | Description |
---|---|---|
event_queue_size | tracker.event_queue_size | 추적기 현재 상태 이벤트 버퍼의 크기. 서버가 짧은 시간에 많은 수의 현재 상태 이벤트를 생성할 것으로 예상되는 경우 증가시킵니다. 기본값은 1024입니다. |
다음 구성 옵션은 Nakama 서버의 Nakama Enterprise 버전에서만 사용할 수 있습니다.
Nakama는 프로덕션 환경에서 고가용성 클러스터로 실행되도록 설계되었습니다. Nakama Enterprise를 실행 중인 경우 개발 머신에서 로컬로 클러스터를 시작할 수 있습니다. 프로덕션에서는 Nakama Enterprise 또는 Heroic Cloud 서비스를 사용할 수 있습니다.
Parameter | Flag | Description |
---|---|---|
broadcast_period_ms | tracker.broadcast_period_ms | 각 클러스터 노드에 대한 트래커 현재 상태 복제 브로드캐스트 사이의 시간(밀리초). 기본값은 1500입니다. |
clock_sample_periods | tracker.clock_sample_periods | 브로드캐스트가 예상대로 수신되지 않을 경우 클러스터 노드에서 현재 상태 전송을 요청하기 전에 이루어지는 브로드캐스트 횟수. 기본값은 2입니다. |
max_delta_sizes | tracker.max_delta_sizes | 클러스터 노드에 현재 상태 데이터의 최소 하위 집합을 브로드캐스트하는데 사용되는 현재 상태 스냅샷의 델타 수와 델타당 최대 현재 상태 수. 기본값은 100, 1000, 10000입니다. |
max_silent_periods | tracker.max_silent_periods | 클러스터 노드의 현재 상태 전송 기능이 다운된 것으로 간주되기까지의 최대 누락 브로드캐스트 횟수. 기본값은 10입니다. |
permdown_period_ms | tracker.permdown_period_ms | 클러스터 노드의 현재 상태 전송 기능이 영구적으로 다운된 것으로 간주되어 제거되기까지 마지막 브로드캐스트 이후의 시간(밀리초). 기본값은 1200000입니다. |
매치 메이커 #
매치메이킹에 관련된 구성 옵션을 변경할 수 있습니다.
Parameter | Flag | Description |
---|---|---|
max_tickets | matchmaker.max_tickets | 세션 또는 파티당 허용되는 최대 동시 매치 메이킹 티켓 수. 기본값은 3입니다. |
interval_sec | matchmaker.interval_sec | 매치 메이커가 매치를 빠르게 성사시키려 시도하는 시간(초). 기본값은 15입니다. |
max_intervals | matchmaker.max_intervals | 최소 카운트를 허용하기 전에 매치 메이커가 최대 플레이어 수에서 매치를 찾으려고 시도하는 간격 횟수. 기본값은 2입니다. |
rev_precision | matchmaker.rev_precision | 역매칭 정밀도, 즉 플레이어 A가 플레이어 B와 일치하면 매치메이커는 플레이어 B가 플레이어 A와 일치하는지 여부도 확인합니다. 기본값은 거짓입니다. |
rev_threshold | matchmaker.rev_threshold | 단방향 매칭으로 돌아가기 전에 역매칭을 허용할 매치메이커 간격의 수입니다. 기본값은 1입니다. |
예제 파일 #
전체 파일을 사용하거나 구성의 일부만 사용할 수 있습니다.
|
|