Nakama Binary for Windows¶
This tutorial will show you how to setup and run Nakama binary and its prerequisites on Windows.
The binary setup allows you to install and manage Nakama without Docker but it requires extra steps to setup and manage:
- Installing CockroachDB or PostgreSQL
- Manually applying database migrations
- Manually upgrading Nakama and its database to newer versions
- Configuring services or manually starting Nakama and its database
Docker is the quickest way to download and start developing with Nakama.
Before proceeding ensure that you are running 64bit Windows 8 or higher to run CockroachDB, or 64bit Windows 7 or higher for PostgreSQL.
Next, install a supported database engine.
Nakama officially supports CockroachDB v20.0 or higher, with queries optimised for its storage engine.
Follow the official guide to Install CockroachDB on Windows.
Nakama unofficially supports PostgreSQL 9.6 or higher for development environments only.
Download and run a PostgreSQL Windows installer from the official site:
Only the "PostgreSQL Server" and "Command Line Tools" components are required, the rest are optional.
Provide a password for the database superuser.
- Use the default values for other options in the installation process.
Take note of the password you provide for the database superuser (postgres), you will need this later when configuring Nakama to connect to your database server.
Get the latest binary release of Nakama server for Windows:
- Download a release from the Nakama GitHub repo releases page.
- Extract the archive, optionally rename and move the folder to a suitable location.
Before starting Nakama server you will need to run:
- Your chosen database, CockroachDB or PostgreSQL.
- Nakama database migrations if it is your first time running Nakama or you have upgraded Nakama versions.
The easiest way to run CockroachDB is as a single-node server with insecure mode enabled, making it accessible only on your localhost (127.0.0.1). For more access and security control consult the CockroachDB documentation.
- Open a shell (Command Prompt, Powershell, Bash, etc) and navigate to your CockroachDB directory.
- To start CockroachDB, run the following:
cockroach.exe start-single-node --insecure --listen-addr=127.0.0.1
./cockroach.exe start-single-node --insecure --listen-addr=127.0.0.1
Your output from successfully running CockroachDB should look similar to the following screenshot:
CockroachDB can be configured to run as a Windows Startup App or Service to skip this step in future.
Error: unable to load named timezones
Some version of CockroachDB require a Go time zone .zip archive to load time zone information from.
You can get a compatible zoneinfo file by downloading and installing the latest Go release. The
zoneinfo.zip file is located in your Go installation folder at
Before running CockroachDB, in the same shell session set the
ZONEINFO environment variable to the full path of your
set ZONEINFO="C:\Program Files\Go\lib\time\zoneinfo.zip"
export ZONEINFO="c/Program Files/Go/lib/time/zoneinfo.zip"
Alternatively, set the environment variable through Windows Settings.
Once installed, PostgresSQL should automatically run in the background and you can proceed to running Nakama migrations or Namaka server.
You can use PostgreSQL Command Line Tools or GUI applications like pgAdmin to create application specific users with restricted permissions.
If this is your first time running Nakama or you have upgraded Nakama versions, you may need to run Nakama database migrations. If you are unsure, running migrations again is safe.
If you are running CockroachDB with the default configuration, running migrations is straightforward with no additional options necessary:
nakama.exe migrate up
./nakama.exe migrate up
If you are using PosgreSQL you will need to supply your database server address, user and password. Unless you have created a custom user, this will be the default superuser
postgres and the master password you provided during the installation:
nakama.exe migrate up --database.address postgres:email@example.com:5432
./nakama.exe migrate up --database.address postgres:firstname.lastname@example.org:5432
To start Nakama server with CockroachDB or PostgreSQL, run the following:
You will need to provide the same
database.address value used for running Nakama PostgreSQL database migrations:
nakama.exe --database.address postgres:email@example.com:5432
./nakama.exe --database.address postgres:firstname.lastname@example.org:5432
If you get a Windows Security Alert, tick the "Private networks..." box to allow Nakama to communicate over your network and click "Allow Access" to confirm security permissions.
Nakama server will now be running and should display similar logging output with warnings and useful information such as:
- Nakama data directory
- Nakama and database version
- Ports for various services
You can access the Nakama Console by navigating your browser to 127.0.0.1:7351.
When prompted to login, the default credentials are
admin:password. These can be changed via configuration file or command-line flags.
There are many configuration options available that you can customize for your Nakama server.
With your Nakama server now up and running with the desired configuration, you can get started with your preferred client SDK: