Framework multijugador autoritativo para Node.js con sincronización de estado, emparejamiento basado en salas y SDK de cliente para web, Unity, Godot y más.
heroiclabs/nakama
Servidor backend de código abierto para juegos, con funciones multijugador, matchmaking, tablas de clasificación, chat y herramientas sociales para juegos y apps.
- Estrellas
- 13,573
- Forks
- 1,508
- Issues abiertos
- 122
- Último commit
- anteayer
¿Qué es?
Nakama es un backend distribuido para juegos, escrito en Go. Incluye los componentes del lado del servidor que necesitan la mayoría de los juegos multijugador: cuentas de usuario con inicio de sesión mediante redes sociales, correo electrónico o ID de dispositivo, colecciones de almacenamiento, una red social de amigos y grupos, chat persistente, partidas en tiempo real o por turnos, tablas de clasificación dinámicas, torneos, grupos de juego y validación de compras dentro de la app.
La lógica del servidor se puede ampliar con código personalizado en Lua, TypeScript/JavaScript o Go nativo. Los clientes pueden comunicarse con el servidor mediante gRPC, REST, WebSockets o rUDP. Hay bibliotecas oficiales de cliente para Unity, Unreal, Godot, Defold, .NET, JavaScript, Java/Android y Swift/iOS.
Se ejecuta como un único binario e incluye una consola web para inspeccionar datos, administrar jugadores y ver partidas activas. Requiere CockroachDB u otra base de datos compatible con el protocolo de Postgres, y se puede iniciar rápidamente con Docker.
Funciones clave
- 01Inicio de sesión en cuentas mediante redes sociales, correo electrónico o ID de dispositivo
- 02Funciones integradas de amigos, grupos y red social
- 03Partidas multijugador en tiempo real y por turnos
- 04Tablas de clasificación dinámicas y de temporada, además de torneos
- 05Ampliación del servidor con Lua, TypeScript/JavaScript o Go
- 06Consola web integrada para administrar datos y jugadores
Casos de uso
- Backend para juegos multijugador que necesitan matchmaking y sesiones en tiempo real
- Juegos móviles o casuales que requieren tablas de clasificación, chat y validación de compras dentro de la app
- Apps sociales que necesitan redes de amigos, grupos y mensajería persistente
Inicio rápido
- 1
Configura un archivo docker-compose para tu proyecto
- 2
Descarga e inicia las imágenes de contenedor y los servidores
docker-compose -f ./docker-compose.yml up
Antes de usarlo
- Para ejecutarlo, necesitas CockroachDB u otra base de datos compatible con el protocolo de conexión de Postgres.
- El despliegue en producción requiere aprovisionar Nakama y los nodos de base de datos por separado.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es nakama?
- Servidor backend de código abierto para juegos, con funciones multijugador, matchmaking, tablas de clasificación, chat y herramientas sociales para juegos y apps. Nakama es un backend distribuido para juegos, escrito en Go. Incluye los componentes del lado del servidor que necesitan la mayoría de los juegos multijugador: cuentas de usuario con inicio de sesión mediante redes sociales, correo electrónico o ID de dispositivo, colecciones de almacenamiento, una red social de amigos y grupos, chat persistente, partidas en tiempo real o por turnos, tablas de clasificación dinámicas, torneos, grupos de juego y validación de compras dentro de la app.
- ¿nakama es gratuito? ¿Qué licencia tiene?
- nakama es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿nakama sigue mantenido?
- Mantenimiento activo. El último commit de nakama fue el 22 oct 2026.
- ¿Para qué puedo usar nakama?
- Backend para juegos multijugador que necesitan matchmaking y sesiones en tiempo real Juegos móviles o casuales que requieren tablas de clasificación, chat y validación de compras dentro de la app Apps sociales que necesitan redes de amigos, grupos y mensajería persistente
- ¿Cómo se instala nakama?
- Configura un archivo docker-compose para tu proyecto Descarga e inicia las imágenes de contenedor y los servidores: docker-compose -f ./docker-compose.yml up
- ¿Dónde consigo nakama?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/heroiclabs/nakama
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Base de conocimiento en chino para desarrolladores de videojuegos y líderes técnicos, que abarca fundamentos, ingeniería de juegos, producción, gestión de equipos y operaciones en vivo.
Instant es una base de datos del lado del cliente y un backend para aplicaciones que reúne consultas, autenticación, permisos, almacenamiento, presencia y sincronización en tiempo real en un solo servicio.
Motor y editor de juegos de código abierto y sin código para crear juegos 2D, 3D y multijugador para móviles, escritorio y web.
Backend de Go de código abierto distribuido como un único ejecutable, con SQLite integrado, suscripciones en tiempo real, gestión de archivos y usuarios, y una interfaz de administración.
NSQ es una plataforma distribuida de mensajería en tiempo real, diseñada para gestionar grandes volúmenes de mensajes sin un único punto de falla.