Distributed server for social and realtime games and apps.
For more information have a look at the documentation and for a quick list of build targets run make help
.
If you encounter any issues with the server you can generate diagnostics for us with nakama doctor
. Send these to [email protected] or open an issue.
Have a look at our documentation for a full introduction on how to run Nakama in development and/or production.
To start a server locally and bind it to all network interfaces once it's installed and on your path - nakama
. The server output will show how it's been configured by default.
$> nakama
[I] Nakama starting at=$$now$$
[I] Node name=nakama-97f4 version=$$version$$
[I] Data directory path=$$datadir$$
[I] Dashboard url=http://127.0.0.1:7351
[I] Client port=7350
[I] Startup done
Follow the guide to run Nakama (and CockroachDB) in Docker.
Nakama Docker images are available on Docker Hub. If you'd like to publish your own Docker image have a look at our Docker README.
Nakama can be deployed to any cloud with Docker Cloud such as AWS, Google Cloud, Azure, Digital Ocean or your own private cloud. You'll need to setup Docker Cloud and provision separate nodes for Nakama and CockroachDB.
To build the codebase you will need to install these dependencies:
- go The Go compiler toolchain.
- nodejs A JavaScript runtime.
- glide A dependency manager for Go projects.
- protobuf A toolchain used to create custom protocols.
- make A rule-based build tool (installed by default on most platforms).
You'll need to setup your Go environment variables like GOPATH
as usual. You can then install dependent build tools and code:
$> git clone https://github.com/heroiclabs/nakama
$> cd nakama
$> make gettools
$> glide install
To run a Nakama server you'll need to connect it to a database. The system has been specially designed to work with CockroachDB for storage and queries. You can install it on OS X with brew install cockroach
. For more detailed instructions see their documentation.
For development run:
$> make dbstart nakama
$> ./build/dev/nakama
To develop the admin dashboard:
$> cd dashboard; npm run dev
NOTE: The first time you setup the cockroach database you must initialize the schema with make dbstart dbsetup
.