gonet is an archived Go game server skeleton that demonstrates a distributed backend architecture for online games. It separates responsibilities across game servers, a hub server, and a stats server. Game servers handle direct player connections and gameplay logic while communicating with shared backend services. The hub server maintains global information and forwards messages between game server nodes. The stats server records player behavior and analytical data separately from real-time gameplay processing. The project also documents message patterns for synchronous calls, forwarding, unicast persistence, multicast delivery, and broadcast delivery, making it useful as an architectural reference even though it is no longer maintained.
Features
- Go-based online game server skeleton
- Separates game server, hub server, and stats server responsibilities
- Supports direct player connections through game server nodes
- Documents hub-based packet forwarding between game servers
- Includes persistent unicast message behavior for offline players
- Defines restart behavior for game, hub, and stats server components