Skip to content

Pitaya 游戏服务端框架

来源

核心定位

通用游戏服务端框架,支持:

  • 多协议: TCP / WebSocket / gRPC / NATS
  • 集群: etcd 服务发现 + NATS/gRPC RPC
  • 客户端: libpitaya (C SDK) → Unity / iOS / Android / C#

对比 rts-server-golang 的帧同步专用架构,Pitaya 更像是一个微服务框架,适合 MMO/MOBA/休闲游戏。

架构图

NATS / etcd (服务发现 + 跨服 RPC 消息总线)

    ┌─────────┐          ┌─────────┐
    │Frontend │ ←─ RPC ──→│ Backend │
    │Connector│          │  Room   │
    └─────────┘          └─────────┘
         ↑                      ↑
         └─────── Client ───────┘

核心模块

模块路径职责
Acceptorpkg/acceptor/TCP粘包、WS协议、WebSocket
Conn/Codecpkg/conn/Pomelo协议编解码
Sessionpkg/session/会话管理、UID绑定、数据存取
Agentpkg/agent/Session↔Handler 桥梁
Componentpkg/component/业务处理器注册系统
Clusterpkg/cluster/etcd服务发现、RPC
serializepkg/serialize/JSON/Protobuf序列化

Pomelo 协议

每条消息: [type:1][length:2][data]

  • type: 0=handshake, 1=data, 2=kick, 3=heartbeat
  • length: big-endian uint16
  • data: JSON/Protobuf 编码的业务消息

路由格式: "module.handler.method"

和 rts-server-golang 的互补

rts-server-golang 擅长:帧同步、确定性、可靠UDP Pitaya 擅长:通用框架、集群RPC、多协议接入

两者不是替代关系,是不同游戏类型的方案。

笔记目录

  • [[Pitaya 协议层]]
  • [[Pitaya Session 与 Agent]]
  • [[Pitaya 集群与 RPC]]
  • [[Pitaya Component 系统]]
  • [[Pitaya 集群示例解析]]

Contributors

The avatar of contributor named as root root

Changelog

撰写