面向 Node.js 的权威式多人游戏框架,提供状态同步、基于房间的匹配以及多平台客户端 SDK。
heroiclabs/nakama
开源游戏后端服务器,提供多人对战、匹配、排行榜、聊天和社交等功能。
- Star
- 13,573
- Fork
- 1,508
- 未关闭 Issue
- 122
- 最近提交
- 前天
这是什么?
Nakama 是用 Go 编写的分布式游戏后端,覆盖多人游戏常见的服务端需求。它提供账号注册登录(支持社交账号、邮箱和设备 ID)、数据存储集合、好友与群组关系、持久化聊天、实时或回合制对战、动态排行榜、锦标赛、组队以及内购凭证校验等功能。
开发者可以用 Lua、TypeScript/JavaScript 或原生 Go 编写自定义服务端逻辑。客户端可通过 gRPC、REST、WebSocket 或 rUDP 与服务通信,并提供 Unity、Unreal、Godot、Defold、.NET、JavaScript、Android 及 iOS 等官方客户端库。
服务以单一二进制文件运行,内置 Web 控制台,可查看数据、管理玩家并监控进行中的对局。它需要 CockroachDB 或其他兼容 Postgres 协议的数据库,可通过 Docker 快速启动。
核心功能
- 01支持通过社交账号、邮箱或设备 ID 登录
- 02内置好友、群组和社交关系图
- 03支持实时与回合制多人对局
- 04提供动态及赛季排行榜和锦标赛
- 05可用 Lua、TypeScript/JavaScript 或 Go 扩展服务端逻辑
- 06内嵌 Web 控制台,用于管理数据和玩家
适用场景
- 需要匹配和实时对战的多人游戏后端
- 需要排行榜、聊天和内购校验的手游或休闲游戏
- 需要好友关系、群组和持久化消息的社交应用
快速上手
- 1
为项目设置 docker-compose 文件
- 2
下载容器镜像并启动服务器
docker-compose -f ./docker-compose.yml up
使用前须知
- 运行需要 CockroachDB 或其他兼容 Postgres 协议的数据库。
- 用于生产环境时,需要分别配置 Nakama 服务器节点和数据库节点。
收录于专题
标签
常见问题
- nakama 是什么?
- 开源游戏后端服务器,提供多人对战、匹配、排行榜、聊天和社交等功能。 Nakama 是用 Go 编写的分布式游戏后端,覆盖多人游戏常见的服务端需求。它提供账号注册登录(支持社交账号、邮箱和设备 ID)、数据存储集合、好友与群组关系、持久化聊天、实时或回合制对战、动态排行榜、锦标赛、组队以及内购凭证校验等功能。
- nakama 可以免费使用吗?用的什么许可证?
- nakama 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- nakama 还在维护吗?
- 活跃维护中。nakama 最近一次提交是在 2026年10月22日。
- nakama 适合用来做什么?
- 需要匹配和实时对战的多人游戏后端 需要排行榜、聊天和内购校验的手游或休闲游戏 需要好友关系、群组和持久化消息的社交应用
- nakama 怎么安装和运行?
- 为项目设置 docker-compose 文件 下载容器镜像并启动服务器: docker-compose -f ./docker-compose.yml up
- 在哪里获取 nakama?
- 源代码和安装说明在 GitHub 上:https://github.com/heroiclabs/nakama
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
7460+5 本周678TypeScriptMIT更新于 前天
面向游戏程序员和技术负责人的中文知识库,涵盖基础技术、游戏研发、生产管线、团队管理与上线运营。
6628+1 本周656PythonMIT更新于 8天前
Instant 是一个面向应用的客户端数据库与后端服务,集成查询、认证、权限、存储与实时同步。
1.1万+3 本周421TypeScriptApache-2.0更新于 6天前
开源无代码游戏引擎与编辑器,可制作 2D、3D 和多人联机游戏,支持移动端、桌面端与网页。
2.8万+89 本周1616JavaScriptOther更新于 昨天
一个以单个可执行文件发布的开源 Go 后端,内置 SQLite、实时订阅、文件与用户管理和管理后台。
6.2万+18 本周3738GoMIT更新于 昨天
NSQ 是一个实时分布式消息平台,设计用于大规模消息处理,无单点故障。
2.6万2884GoMIT更新于 2个月前