// the find
zllangct/rockgo
A developing game server framework,based on Entity Component System(ECS).
RockGO is a Go game server framework built around ECS (Entity-Component-System) with an Actor model layered on top. It targets small-to-mid sized game backends — think card games, lobby/room systems — where you want to develop single-node and deploy distributed without rewriting anything. The README is entirely in Chinese, which is fine if that's your world, but a real barrier otherwise.
The single-codebase/multi-topology deployment model is the standout idea: same code runs as single-node for dev and multi-node in prod by swapping a config file, no code changes. The protocol abstraction is clean — implementing the three interfaces (ServerHandler, Conn, Protocol) is all you need to add KCP or any reliable UDP variant. Built-in support for TCP, UDP, and WebSocket out of the box covers most game transport needs without pulling in extra dependencies. The ECS lifecycle system (Initialize/Awake/Start/Update/Destroy) makes graceful shutdown and state serialization a first-class concern rather than an afterthought.
Abandoned since September 2022 — the README even links to a rewrite (zllangct/ecs) that never shipped a stable release either, so you'd be picking up dead code. The internal RPC uses Go's stdlib net/rpc, which has known limitations (single codec, no streaming, no context cancellation in older versions) and the author explicitly admits service governance is "good enough" rather than production-hardened. No load balancing, no service discovery, no health check beyond heartbeat — the distributed story falls apart past a handful of nodes. Documentation is almost entirely Chinese with no English translation, and the example client is a Laya game engine project with a checked-in Chrome user profile directory, which tells you something about the project's release hygiene.