프로젝트 소개
Nakama는 소셜 및 실시간 게임과 앱을 위해 설계된 오픈소스 게임 백엔드 서버입니다. README에 따르면, 소셜 네트워크, 이메일, 또는 기기 ID를 통한 등록/로그인 기능을 갖춘 내장 사용자 시스템, 사용자 기록 및 설정을 위한 저장소, 친구 및 그룹을 포함한 소셜 그래프, 지속된 기록을 가진 1:1/그룹/글로벌 채팅, 실시간 및 턴제 멀티플레이어, 리더보드, 토너먼트, 파티, 구매 검증, 인앱 알림을 제공합니다. 서버는 Lua, TypeScript/JavaScript, 또는 네이티브 Go로 작성된 사용자 정의 런타임 코드로 확장할 수 있습니다. 또한 매치메이커, 대시보드, 메트릭, 그리고 공식 문서에 설명된 기타 기능들을 포함하고 있습니다.
Nakama는 요청/응답을 위해 gRPC 또는 HTTP/JSON REST 폴백을 사용하고, 실시간 트래픽을 위해 WebSockets 또는 rUDP를 사용합니다. CockroachDB 또는 다른 Postgres 와이어 호환 데이터베이스가 필요합니다. 로컬 개발은 Docker Compose를 사용하거나 네이티브 바이너리를 실행하여 빠르게 시작할 수 있습니다. 바이너리 설정에는 데이터베이스 시작, nakama migrate up --database.address ... 실행, 그리고 nakama --database.address ... 실행이 포함되며, 서버는 JSON 로그를 출력하여 구성을 설명합니다.
웹 기반의 Nakama Console이 단일 서버 바이너리에 내장되어 있습니다. 이를 사용하여 서버 API를 통해 저장된 데이터를 검사하고, 서비스 메트릭을 보고, 플레이어 데이터를 관리하고, 저장소 객체를 업데이트하고, 권한 프로필로 접근을 제한하고, 활성 멀티플레이어 매치와 같은 실시간 기능을 볼 수 있습니다. 콘솔은 기본적으로 http://127.0.0.1:7351에서 접근할 수 있습니다.
.NET (C#), Unity, JavaScript, Java (Android 포함), Unreal, Godot, Defold, Swift (iOS 포함)를 위한 공식 클라이언트 라이브러리가 존재합니다. 프로젝트는 Google Cloud, Azure, AWS, Digital Ocean, Heroku, 또는 프라이빗 클라우드와 같은 클라우드 제공업체에 배포할 수 있으며, README에서는 Nakama와 CockroachDB를 위한 별도의 노드를 권장합니다. Heroic Cloud는 관리형 배포 옵션으로 제공됩니다.
기여자는 Go를 사용하여 소스에서 빌드할 수 있습니다. 저장소는 의존성을 벤더링하고 go build -trimpath -mod=vendor를 사용하여 간단한 빌드를 지원합니다. 전체 소스 빌드에는 Protocol Buffers, gRPC, grpc-gateway, buf 도구를 설치하고, ./buf.sh를 사용하여 코드를 재생성해야 합니다. 단위 및 통합 테스트는 docker-compose-tests.yml을 통해 실행됩니다. 프로젝트는 Apache-2.0 라이선스 하에 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.