finds.dev← search

// the find

hewiefreeman/GopherGameServer

★ 190 · Go · Apache-2.0 · updated Mar 2024

:trophy: Feature packed, easy-to-use game server API for Go back-ends and Javascript clients. Tutorials and examples included!

GopherGameServer is a Go WebSocket server framework aimed at multiplayer games and real-time apps. It bundles user auth, room management, friending, chat, and voice chat so you don't have to wire those yourself. The JavaScript-only client library is the intended pairing, so it's really targeting browser-based games.

Room state is persisted on shutdown and restored on reboot, which is genuinely useful for long-running game sessions. Built-in bcrypt auth with MySQL and a 'remember me' flow means you get a working login system without writing it. Custom client actions let you extend the protocol cleanly without forking the core. The wiki documentation is thorough and covers the full lifecycle from setup to SQL customization.

Still on beta.2 with the last meaningful push in 2024 and 190 stars — this is not production-proven at any real scale, and the promised distributed load balancer never shipped. MySQL is the only supported auth backend, which is a strange choice for a game server that will likely need horizontal scaling; the README even admits the friends table design is inefficient. Only a JavaScript client exists, so anything outside the browser (Unity, Godot, native mobile) requires you to reverse-engineer the wire protocol yourself. The dependency on Go 1.8+ is outdated framing — the codebase hasn't tracked modern Go idioms or modules properly.

View on GitHub → Homepage ↗

// 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 →