finds.dev← search

// the find

topfreegames/pitaya

★ 2,791 · Go · MIT · updated Jun 2026

Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.

Pitaya is a Go game server framework forked from nano, designed for distributed multiplayer games. It handles the clustering plumbing (etcd for discovery, NATS or gRPC for RPC) so you can focus on game logic organized into components and handlers. Aimed at teams building mobile or cross-platform games who want a Pomelo-style architecture in Go.

The frontend/backend server split is well thought out — frontend servers handle client connections while backend servers handle game logic, and the routing between them is transparent to your handlers. Built-in support for both NATS and gRPC as the RPC transport lets you pick based on your ops constraints. The pipeline system for pre/post handler processing is genuinely useful for auth, rate limiting, and validation without cluttering handler code. Test coverage is solid with both unit and e2e tests, and the mock generation is thorough enough that testing components in isolation is straightforward.

The contributing section is literally '#TODO', which tells you something about the project's community investment — this is primarily a TFG internal tool that's been open-sourced, not a community-first project. Documentation on ReadTheDocs exists but is sparse on operational concerns: what happens when etcd goes down mid-session, how to handle rolling deployments without dropping player connections, what the backpressure story is when a backend server is saturated. The C SDK dependency for mobile clients (libpitaya) is a separate repo with its own maintenance surface — if that falls behind, your Unity or iOS client support rots. No WebSocket compression support is visible, which matters for mobile clients on poor connections.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →