gonet2/game ? reverse-engineered prompt

Reverse engineered prompt

Build me a Go game server service that talks to an agent through one streaming RPC, where the agent sends a continuous stream of frames and gets a stream of responses back.

The server should understand two kinds of frames, control frames like register and kick, and normal message frames that carry a protocol number plus payload. I want the incoming messages to be routed to the right handler based on that protocol number, with a clean way to register and bind handlers for each message type. It should also be set up so protocol definitions can be generated and wired in from the proto files, and the whole thing should be easy to run with Docker.

Please keep the structure simple and production ready, with a clear entry point, basic tests if possible, and whatever support code is needed for service logic, client handling, registry, and persistence. If anything needs current library or tool details, look them up online first.