// the take
A distributed Go game server framework built around a node/service/module hierarchy, with transparent RPC between nodes, etcd or built-in service discovery, and bundled TCP/WebSocket/KCP networking. It's aimed at developers building custom multiplayer/MMO backends in Go who want an actor-style architecture instead of assembling raw networking, RPC, and discovery themselves.
Each service runs single-goroutine by default, which removes most of the locking/race-condition burden from game logic, but you can opt into a worker pool per-service (SetGoRoutineNum, OpenConcurrentByNumCPU) when a service needs real concurrency (e.g. DB-bound work) without redesigning anything. RPC between nodes (Call/AsyncCall/Go/CastGo) is transparent across process boundaries, and service discovery is pluggable between etcd and a built-in origin-style discovery with regex-based node/network filtering - swapping is a config change, not a code change. It ships a real profiler that attributes slow and infinite-loop frames to specific functions with configurable thresholds, which is the kind of thing you actually need in production game loops and most frameworks skip. The module tree (Service -> Module -> Module) with automatic cascading release and built-in event bus gives you a reasonable composition model for game object logic instead of a flat service list.
The README and essentially all code comments are Chinese-only - there's no English documentation at all, which will stop most non-Chinese-speaking teams before they start, regardless of the code quality underneath. It's maintained by one person (QQ group for support, personal donation link in the README) - fine for a hobby project, risky as infrastructure for something you're shipping and need patched. Test coverage is thin and scattered - a handful of _test.go files cover utility code (bisearch, blueprint, queues, the mysql/redis/mongo/kafka wrappers) but the core node/service/rpc/cluster packages, which is where a distributed framework actually breaks, have no visible tests. It also depends on github.com/golang/protobuf, which Google deprecated years ago in favor of google.golang.org/protobuf - a sign the dependency set isn't being kept current.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →