Nakama

AWS Streaming & Messaging

Nakama, an open source realtime backend for games and apps: authentication, realtime multiplayer, matchmaker, chat, leaderboards and a storage engine, with a built in admin console.

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

Nakama is an open source realtime server for games and apps. It gives your client SDKs one backend for user authentication, realtime multiplayer over WebSocket, a matchmaker, parties and chat, leaderboards and tournaments, friends and groups, and a flexible storage engine, and it can be extended with server side runtime code in Lua, Go or JavaScript. A built in admin Console web UI lets you inspect accounts, storage, leaderboards, matches and server configuration.

It suits realtime multiplayer games, turn based games, social and chat features, live leaderboards and any app that needs low latency messaging between many connected users.

Why the cloudimg image

cloudimg delivers Nakama fully installed with its PostgreSQL database on the same instance and the admin Console fronted by nginx, so the backend answers the moment the instance boots. The image is secure by default: there is no default login. Nakama ships many built in default secrets, and every one of them, the console admin username and password, the client server key, the session and runtime keys and the database password, is generated uniquely on each instance's first boot and is never baked into the image. Every image is paired with a step by step deploy guide and backed by 24/7 support.

Common uses

  • Run the backend for a realtime or turn based multiplayer game, with matchmaking and authoritative match handling
  • Add accounts, friends, chat, parties and leaderboards to a social app or game
  • Own your realtime game and app backend inside your own cloud account, with server side runtime code

Key features

  • Nakama realtime game and app backend fully installed with the Go server, an nginx reverse proxy and PostgreSQL. Authentication, the storage engine, realtime multiplayer, matchmaking, chat, leaderboards and the admin console are configured for you, so you skip the manual server, database and reverse-proxy build. Sign in to the console and point your client SDKs at the server immediately after launch.
  • Security hardened first boot generates a unique console password, socket server key, session and signing keys and PostgreSQL password for every instance, and randomises the console administrator username so the default admin account does not exist, storing the credentials in a root only file. Unlike community images that ship the well known default admin login and default server key, no two deployments share a secret and there is no known default login or server key.
  • The self-contained Go server is backed by PostgreSQL with the admin console reverse-proxied behind nginx and the client API served for your SDKs, plus 24/7 expert technical support from cloudimg. Our engineers help with client integration, authentication, the storage engine, realtime multiplayer and matchmaking, leaderboards, version upgrades, performance tuning and PostgreSQL administration.

See it running

Real screenshots taken while testing this image against its deployment guide.

Nakama screenshot 1 Nakama screenshot 2 Nakama screenshot 3

Description

This is a repackaged open source software product wherein additional charges apply for cloudimg support services.

Overview

Nakama is an open source, self-hosted realtime backend for games and apps. It provides user authentication, a storage engine, realtime multiplayer and matchmaking, chat, leaderboards, tournaments and a server-side runtime, all through WebSocket and RPC client APIs, with a built-in admin console for operating the server. This image delivers Nakama fully installed and hardened, so a working backend is running within minutes of launch instead of assembling a server binary, a database and a reverse proxy by hand.

Application Stack

Nakama runs as a single self-contained Go server under a dedicated unprivileged system user, backed by PostgreSQL for durable state. The admin console binds to the loopback interface and is reverse-proxied behind nginx on port 80 with WebSocket support, and the game client API is served on port 7350 for your client SDKs. systemd manages PostgreSQL, Nakama and nginx for automatic restarts and clean logging.

Realtime Backend For Games And Apps

Authenticate players by device, email, custom id or social login, store and read per-user and shared data through the storage engine, run realtime multiplayer matches through the matchmaker, add chat channels, leaderboards and tournaments, and extend the server with runtime code. Connect any Nakama client SDK to the client API using the per-instance server key.

Secure First Boot

Nakama ships many default secrets, including the admin console login, the socket server key and its session and signing keys. This image closes that safely: on the first boot of every instance a one-shot service generates a fresh, unique value for every one of those secrets and a fresh PostgreSQL password, randomises the console administrator username so the default admin account does not exist, writes them to a configuration file only root and the service can read, and applies the database schema. No shared or default password or server key ever ships in the image, and the credentials are written to a file only the root user can read.

Ready To Use

The admin console is served on port 80 through nginx. Browse to the instance, sign in with the generated console credentials, and manage accounts, storage, leaderboards and configuration. Point your game or app client at the client API on port 7350 with the generated server key. The operating system is fully patched at build time and continues to receive unattended security updates, and 24/7 cloudimg support is included.

cloudimg Support

24/7 technical support by email and chat. Help with deployment, client SDK integration, authentication, the storage engine, realtime multiplayer and matchmaking, leaderboards, the server runtime, version upgrades, performance tuning and PostgreSQL database administration.

This is a repackaged open source software product with additional charges for cloudimg support services. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

Related technologies

nakamagame backendgame serverrealtime multiplayermatchmakingleaderboardswebsocketheroic labsself hostedpostgresql