Social Infrastructure At Scale

Nakama Enterprise — Scaling Games for Millions of Players

Mo

Mo Firouz

30 May 2018

Nakama enterprise

One of the most difficult aspects of building a modern game is found in the backend. With players now expecting features such as in-game chat, clans, realtime multiplayer, fancy matchmaking and more — servers have much more strain placed upon them. Players often engage in multiple sessions a day and play in short burst of frenetic activity requiring your servers to be ready to scale at any time.

It’s one thing to build servers which can cope with the day-to-day demand, it’s another to be able to scale them quickly for an influx of demand, such as a feature in an app store or a live event which draws the majority of your players in for a peak period of time. There are two ways to solve this: you can over-provision servers if you know the spike of activity is coming in advance, and hope you’ve judged appropriately, or you can use technology such as Nakama Enterprise which is designed to scale in minutes due to its monolithic design.

Nakama Enterprise is our unique offering built on top of the open-source Nakama project. We’ve had years of experience in running games with upwards of 5M monthly active users and 1M+ daily active users; what we’ve learned is the most common point of failure studios experience is during these unexpected spikes in traffic. The absolute worst time to learn your technology will not scale is during these large-scale events, when players are most invested in your games and lash out negatively at any downtime.

With our Enterprise edition, our unique clustering technology guarantees scaling without issue. We’ve tested it internally using a variety of chaos tests, and in production in games with millions of players.

It uses conflict-free replicated datatypes to share data across nodes, allowing players from one Nakama server to interact with those on another to provide a social experience for players. If one node was to go down, you can shift the players to a new node and reduce downtime while bringing up new nodes within minutes to increase capacity. No more scaling out of individual micro-services and fine-tuning in hopes of keeping up with demand.

One Nakama node can handle approximately 10,000 concurrently connected users (CCU). This translates to anywhere from 30–50,000 DAU and 100–300,000 MAU depending on your games engagement level and feature usage. In order to grow beyond this, and to ensure failover tolerances, we recommend running at least 2 Nakama nodes in production. Nakama Enterprise handles the clustering of nodes and makes it easy to automatically cluster together. The console output below is of 3 Nakama nodes finding each other and syncing up:

Jolly Rogers Deck

Console output of nodes 1–3, service discovery and mesh clustering occurring automatically

Nakama Enterprise comes with an annual license which includes all bug fixes, security updates, and more. Alternatively Nakama Enterprise is bundled in with our Heroic Cloud offering.

If you have any questions, or want to purchase Nakama Enterprise, please feel free to contact us to talk through your upcoming or existing project and our team of expert engineers can guide you through the next steps.