About this project
Nakama is an open-source game backend server designed for social and realtime games and apps. According to its README, it offers built-in users (register/login via social networks, email, or device ID), storage for user records and settings, a social graph with friends and groups, 1-on-1/group/global chat with persisted history, realtime and turn-based multiplayer, leaderboards, tournaments, parties, purchase validation, and in-app notifications. The server can be extended with custom runtime code written in Lua, TypeScript/JavaScript, or native Go. It also includes a matchmaker, dashboard, metrics, and other features described in the official documentation.
Nakama communicates over gRPC or an HTTP/JSON REST fallback for request/response, and WebSockets or rUDP for realtime traffic. It requires CockroachDB or another Postgres wire-compatible database. Local development can be started quickly with Docker Compose, or by running native binaries. Binary setup involves starting the database, running nakama migrate up --database.address ..., then launching nakama --database.address .... The server outputs JSON logs describing its configuration.
A web-based Nakama Console is embedded in the single server binary. It can be used to inspect data stored through the server APIs, view service metrics, manage player data, update storage objects, restrict access with permission profiles, and see realtime features such as active multiplayer matches. The console is available at http://127.0.0.1:7351 by default.
Official client libraries exist for .NET (C#), Unity, JavaScript, Java (with Android), Unreal, Godot, Defold, and Swift (with iOS). The project can be deployed to cloud providers such as Google Cloud, Azure, AWS, Digital Ocean, Heroku, or a private cloud; the README recommends separate nodes for Nakama and CockroachDB. Heroic Cloud is offered as a managed deployment option.
Contributors can build from source with Go. The repository vendors dependencies and supports simple builds with go build -trimpath -mod=vendor. Full source builds involve installing Protocol Buffers, gRPC, grpc-gateway, and buf tools, then regenerating code with ./buf.sh. Unit and integration tests run through docker-compose-tests.yml. The project is licensed under Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.