基本信息
| 框架 |
出现年份 |
维护者/社区 |
自身语言 |
支持使用的语言 |
是否支持脚本扩展 |
文档完善程度 |
社区支持度 |
适用游戏类型 |
| Nakama |
2015年 |
Heroic Labs |
Go |
Go, C#, Java, JavaScript, Lua, Python |
支持 |
4 |
5 |
跨平台游戏、社交游戏、实时多人游戏 |
| Photon |
2009年 |
Exit Games |
C++, C#, Java |
C++, C#, Java, JavaScript, Objective-C, Swift, Python |
不支持 |
3 |
4 |
实时多人游戏 |
| Pitaya |
2017年 |
Pitaya Network |
Go |
Go, C#, Java, Lua, Python |
支持 |
3 |
3 |
实时多人游戏 |
| KBEngine |
2014年 |
kbengine |
Python |
Python |
支持 |
3 |
4 |
大型多人在线游戏、实时战略游戏、休闲游戏 |
| Skynet |
2012年 |
cloudwu |
C |
Lua |
支持 |
2 |
4 |
网络服务、游戏后台、物联网 |
| DarkRift |
2010年 |
DarkRift Networking |
C# |
C# |
不支持 |
2 |
3 |
实时多人游戏 |
| Colyseus |
2017年 |
endel |
TypeScript |
TypeScript, JavaScript |
不支持 |
4 |
4 |
策略游戏、卡牌游戏、MOBA |
功能特性
| 框架 |
分布式 |
帧同步 |
实时多人 |
非实时多人 |
聊天系统 |
排行榜 |
社交系统 |
匹配系统 |
脚本扩展 |
数据库 |
| Nakama |
支持,使用Raft协议 |
支持,基于客户端预测和服务器校验 |
支持 |
支持 |
支持 |
支持 |
支持 |
支持,基于Elo算法 |
支持,使用Lua |
支持PostgreSQL和CockroachDB |
| Photon |
支持 |
支持,基于客户端预测和服务器校验 |
支持 |
支持 |
支持 |
支持 |
支持 |
支持,基于Elo算法 |
不支持 |
支持NoSQL和MySQL |
| Pitaya |
支持,使用Raft协议 |
支持,基于客户端预测和服务器校验 |
支持 |
支持 |
支持 |
支持 |
支持 |
支持,基于Elo算法 |
支持,使用Lua |
支持MongoDB和Redis |
| KBEngine |
支持 |
支持,基于状态同步 |
支持 |
支持 |
支持 |
支持 |
支持 |
支持,基于Elo算法 |
支持,使用Python |
支持MySQL、MSSQL、Oracle等多种数据库 |
| Skynet |
不支持 |
不支持 |
支持 |
支持 |
不支持 |
不支持 |
不支持 |
不支持 |
支持,使用Lua |
支持MySQL和MongoDB |
| DarkRift |
不支持 |
支持,基于状态同步 |
支持 |
支持 |
不支持 |
不支持 |
不支持 |
不支持 |
不支持 |
不支持 |
| Colyseus |
不支持 |
支持,基于客户端预测和服务器校验 |
支持 |
支持 |
不支持 |
不支持 |
不支持 |
不支持 |
不支持 |
支持MongoDB和SQLite |
功能特性2
| 框架 |
用户认证 |
数据同步 |
通信协议扩展 |
房间管理 |
AI |
AOI |
寻路 |
后端物理 |
大世界支持度 |
| Nakama |
支持 |
支持,支持状态同步和事件同步 |
支持自定义协议 |
支持,具有灵活的房间管理和自定义属性 |
支持 |
支持 |
支持 |
不支持 |
支持 |
| Photon |
支持 |
支持,支持状态同步和事件同步 |
支持自定义协议 |
支持,具有多种房间类型和灵活的房间属性 |
支持 |
支持 |
支持 |
支持 |
支持 |
| Pitaya |
支持 |
支持,支持状态同步和事件同步 |
支持自定义协议 |
支持,具有多种房间类型和灵活的房间属性 |
支持 |
支持 |
支持 |
不支持 |
不支持 |
| KBEngine |
支持 |
支持,支持状态同步和事件同步 |
支持自定义协议 |
支持,具有多种房间类型和灵活的房间属性 |
支持 |
支持 |
支持 |
支持 |
不支持 |
| Skynet |
不支持 |
支持,支持状态同步和事件同步 |
支持自定义协议 |
不支持 |
不支持 |
不支持 |
不支持 |
不支持 |
不支持 |
| DarkRift |
不支持 |
支持 |
支持自定义协议 |
支持,具有多种房间类型和灵活的房间属性 |
不支持 |
不支持 |
不支持 |
不支持 |
不支持 |
| Colyseus |
支持 |
支持,支持状态同步和事件同步 |
支持自定义协议 |
支持,具有多种房间类型和灵活的房间属性 |
不支持 |
不支持 |
不支持 |
不支持 |
不支持 |
其他
Pitaya 作为 Go 语言的游戏服务端框架,使用了很多 Go 社区的组件,比如 etcd 和 NATS 。具体而言,使用 etcd 作为服务注册和发现的中心,用于管理服务器集群的状态和位置信息;而使用 NATS 作为消息中间件,用于实现服务器之间的通信和消息路由。