Repolode
heroiclabs

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. 1

    Настройте файл docker-compose для своего проекта

  2. 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-операций.

6,6 тыс.+3 за неделю656PythonMITОбновлён 8 дней назад

Instant — клиентская база данных и backend для приложений: запросы, аутентификация, права доступа, хранилище, presence и синхронизация в реальном времени в одном сервисе.

10,6 тыс.+1 за неделю421TypeScriptApache-2.0Обновлён 6 дней назад