Framework autoritativo de multiplayer para Node.js, com sincronização de estado, matchmaking baseado em salas e SDKs para web, Unity, Godot e outros.
heroiclabs/nakama
Servidor de backend de jogos open source com multiplayer, matchmaking, placares, chat e recursos sociais para jogos e aplicativos.
- Estrelas
- 13,578
- Forks
- 1,510
- Issues abertas
- 122
- Último commit
- anteontem
O que é?
Nakama é um backend distribuído para jogos, escrito em Go. Ele oferece os recursos de servidor de que a maioria dos jogos multiplayer precisa: contas de usuário com login por redes sociais, e-mail ou ID do dispositivo, coleções de armazenamento, uma rede social de amigos e grupos, chat persistente, partidas em tempo real ou por turnos, placares dinâmicos, torneios, grupos de jogadores e validação de compras no aplicativo.
É possível ampliar a lógica do servidor com código de runtime personalizado em Lua, TypeScript/JavaScript ou Go nativo. Os clientes podem se comunicar com ele por gRPC, REST, WebSockets ou rUDP. Há bibliotecas oficiais para Unity, Unreal, Godot, Defold, .NET, JavaScript, Java/Android e Swift/iOS.
Ele é executado como um único binário, com um console web integrado para inspecionar dados, gerenciar jogadores e acompanhar partidas em andamento. Requer CockroachDB ou outro banco de dados compatível com o protocolo wire do Postgres e pode ser iniciado rapidamente com Docker.
Recursos principais
- 01Login de contas por redes sociais, e-mail ou ID do dispositivo
- 02Rede integrada de amigos, grupos e conexões sociais
- 03Partidas multiplayer em tempo real e por turnos
- 04Placares dinâmicos e sazonais, além de torneios
- 05Extensão do servidor em Lua, TypeScript/JavaScript ou Go
- 06Console web integrado para gerenciar dados e jogadores
Casos de uso
- Backend para jogos multiplayer que precisam de matchmaking e sessões em tempo real
- Jogos para dispositivos móveis ou casuais que precisam de placares, chat e validação de compras no aplicativo
- Aplicativos sociais que precisam de redes de amigos, grupos e mensagens persistentes
Início rápido
- 1
Configure um arquivo docker-compose para seu projeto
- 2
Baixe e inicie as imagens de contêiner e os servidores
docker-compose -f ./docker-compose.yml up
Antes de usar
- Para executar, é necessário usar CockroachDB ou outro banco de dados compatível com o protocolo de conexão do Postgres.
- A implantação em produção exige o provisionamento separado do Nakama e dos nós do banco de dados.
Em coleções
Tópicos
Perguntas frequentes
- O que é nakama?
- Servidor de backend de jogos open source com multiplayer, matchmaking, placares, chat e recursos sociais para jogos e aplicativos. Nakama é um backend distribuído para jogos, escrito em Go. Ele oferece os recursos de servidor de que a maioria dos jogos multiplayer precisa: contas de usuário com login por redes sociais, e-mail ou ID do dispositivo, coleções de armazenamento, uma rede social de amigos e grupos, chat persistente, partidas em tempo real ou por turnos, placares dinâmicos, torneios, grupos de jogadores e validação de compras no aplicativo.
- nakama é gratuito? Qual é a licença?
- nakama é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- nakama ainda é mantido?
- Manutenção ativa. O último commit de nakama foi em 22 de out. de 2026.
- Para que posso usar nakama?
- Backend para jogos multiplayer que precisam de matchmaking e sessões em tempo real Jogos para dispositivos móveis ou casuais que precisam de placares, chat e validação de compras no aplicativo Aplicativos sociais que precisam de redes de amigos, grupos e mensagens persistentes
- Como instalar nakama?
- Configure um arquivo docker-compose para seu projeto Baixe e inicie as imagens de contêiner e os servidores: docker-compose -f ./docker-compose.yml up
- Onde consigo nakama?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/heroiclabs/nakama
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Base de conhecimento em chinês para desenvolvedores de jogos e líderes técnicos, com conteúdo sobre fundamentos, engenharia de jogos, pipelines de produção, gestão de equipes e operações live.
Instant é um banco de dados client-side e backend para apps, com consultas, autenticação, permissões, armazenamento, presença e sincronização em tempo real em um só serviço.
Engine e editor de jogos open source e no-code para criar jogos 2D, 3D e multiplayer para dispositivos móveis, desktop e web.
Backend open source em Go distribuído como um único executável, com SQLite integrado, assinaturas em tempo real, gerenciamento de arquivos e usuários e uma interface administrativa.
NSQ é uma plataforma distribuída de mensageria em tempo real, projetada para lidar com volumes muito altos de mensagens sem um ponto único de falha.