Авторитетный мультиплеерный фреймворк для Node.js с синхронизацией состояния, подбором игроков по комнатам и клиентскими SDK для web, Unity, Godot и других платформ.
heroiclabs/nakama
Открытый серверный бэкенд для игр: мультиплеер, подбор игроков, таблицы лидеров, чат и социальные функции для игр и приложений.
- Звёзды
- 13,578
- Форки
- 1,510
- Открытые issues
- 122
- Последний коммит
- позавчера
Что это?
Nakama — распределённый игровой бэкенд, написанный на Go. В нём есть основные серверные компоненты, необходимые большинству многопользовательских игр: учётные записи с входом через социальные сети, электронную почту или ID устройства, коллекции для хранения данных, социальный граф друзей и групп, постоянный чат, матчи в реальном времени и пошаговые матчи, динамические таблицы лидеров, турниры, группы игроков и проверка внутриигровых покупок.
Серверную логику можно расширять пользовательским кодом на Lua, TypeScript/JavaScript или Go. Клиенты могут подключаться по gRPC, REST, WebSockets или rUDP. Официальные клиентские библиотеки доступны для Unity, Unreal, Godot, Defold, .NET, JavaScript, Java/Android и Swift/iOS.
Nakama запускается как один бинарный файл со встроенной веб-консолью для просмотра данных, управления игроками и наблюдения за активными матчами. Для работы требуется CockroachDB или другая база данных, совместимая с протоколом Postgres; быстро запустить сервер можно с помощью Docker.
Ключевые возможности
- 01Вход в учётную запись через социальные сети, электронную почту или ID устройства
- 02Встроенные функции друзей, групп и социального графа
- 03Многопользовательские матчи в реальном времени и пошаговые матчи
- 04Динамические и сезонные таблицы лидеров, а также турниры
- 05Расширение серверной логики на Lua, TypeScript/JavaScript или Go
- 06Встроенная веб-консоль для управления данными и игроками
Сценарии использования
- Бэкенд для многопользовательских игр, которым нужны подбор игроков и игровые сессии в реальном времени
- Мобильные и казуальные игры, которым нужны таблицы лидеров, чат и проверка внутриигровых покупок
- Социальные приложения, которым нужны графы друзей, группы и постоянный обмен сообщениями
Быстрый старт
- 1
Настройте файл docker-compose для своего проекта
- 2
Скачайте и запустите образы контейнеров и серверы
docker-compose -f ./docker-compose.yml up
Что важно знать
- Для работы требуется CockroachDB или другая база данных, совместимая с протоколом подключения Postgres.
- Для развертывания в production необходимо отдельно подготовить Nakama и узлы базы данных.
В подборках
Темы
Частые вопросы
- Что такое nakama?
- Открытый серверный бэкенд для игр: мультиплеер, подбор игроков, таблицы лидеров, чат и социальные функции для игр и приложений. Nakama — распределённый игровой бэкенд, написанный на Go. В нём есть основные серверные компоненты, необходимые большинству многопользовательских игр: учётные записи с входом через социальные сети, электронную почту или ID устройства, коллекции для хранения данных, социальный граф друзей и групп, постоянный чат, матчи в реальном времени и пошаговые матчи, динамические таблицы лидеров, турниры, группы игроков и проверка внутриигровых покупок.
- nakama можно использовать бесплатно? Какая у него лицензия?
- nakama распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- nakama всё ещё поддерживается?
- Активно поддерживается. Последний коммит в nakama — 22 окт. 2026 г..
- Для чего можно использовать nakama?
- Бэкенд для многопользовательских игр, которым нужны подбор игроков и игровые сессии в реальном времени Мобильные и казуальные игры, которым нужны таблицы лидеров, чат и проверка внутриигровых покупок Социальные приложения, которым нужны графы друзей, группы и постоянный обмен сообщениями
- Как установить nakama?
- Настройте файл docker-compose для своего проекта Скачайте и запустите образы контейнеров и серверы: docker-compose -f ./docker-compose.yml up
- Где скачать nakama?
- Исходный код и инструкции по установке — на GitHub: https://github.com/heroiclabs/nakama
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Китайскоязычная база знаний для разработчиков игр и технических руководителей: от основ и инженерии до производственных процессов, управления командами и live-операций.
Instant — клиентская база данных и backend для приложений: запросы, аутентификация, права доступа, хранилище, presence и синхронизация в реальном времени в одном сервисе.
Открытый no-code игровой движок и редактор для создания 2D-, 3D- и многопользовательских игр для мобильных устройств, компьютеров и веба.
Открытый Go-бэкенд в виде одного исполняемого файла: встроенная SQLite, realtime-подписки, управление файлами и пользователями, панель администратора.
NSQ — распределённая платформа обмена сообщениями в реальном времени, рассчитанная на очень высокий поток сообщений и не имеющая единой точки отказа.