Announcing Nakama — world’s first open source social server for games and apps
The Heroic Labs team is very excited to announce a new server product. It is the first and only open-source server specially designed to build social and realtime games or apps.
It’s up on GitHub with developer documentation and a first-class Unity client so you can get started and integrate with your games fast. Nakama is written entirely in Go and runs on Windows, macOS and Linux. You can download it to run on your local machine for development, and then use the exact same server in the cloud for production.
For the last several months we’ve had our heads down with ambitious goals to deliver a scalable distributed server which can be run in many different server environments effortlessly. We’ve visited studios across the world — from San Francisco, to Montreal, London, and more — to collaborate and receive feedback in order to build the next generation of game services that work across all games platforms.
What we’ve learned is that for studios to become successful and grow fast they need:
- Flexible control over their players and games
- A socially engaging experience for players — friends, guilds, and more with social graph
- The power to build custom game logic and integrate with 3rd party APIs including in-house back office analytics
- Realtime multiplayer, especially server authoritative, for modern cheat-free gameplay
- Tools for the future of LiveOps filled with live events to drive great revenue and engagement
We’ve taken all of our learnings from our current platform and miniaturised it down into a distributed server that is simple to deploy and scales out effortlessly on any cloud. Scalable and reliable game servers are complex to build, deploy, and manage. To achieve these goals we’ve integrated state of the art research on distributed data replication within a cluster of servers.
In order to focus on operational simplicity, we felt it was important to reduce the amount of infrastructure which a studio has to understand, manage, scale, and backup. To power a game, you only need to run the Nakama server, and just one database — we’ve selected CockroachDB as our database of choice.
In your games you can avoid multiple databases like Redis, MongoDB, Postgres, etc — and instead focus on game development. No longer will you be forced to run multiple separate databases to power different queries. This means less time managing independent clusters of databases as well as scaling them out individually as your games grow.
If you use Nakama, and don’t want to operationalise it yourself at scale, we will soon make generally available our managed cloud service. We can be your operations team, ensuring that your game is available to players at all times giving you the peace of mind to focus on growing your games.
Nakama was created by the team at Heroic Labs, however it has been open sourced in order for the community to have ownership as well as contribute to it. This allows developers to iterate quickly, operate on a given set of standards, but also to experiment and customise Nakama to suit their specific games and operations requirements.
Check out the GitHub, star the project, and join our community. We welcome all pull requests and contributions and hope you will join us on our journey to make social, and realtime games infrastructure available to every developer.