Kettle is a JSON-based protocol used to communicate game state and player inputs for Hearthstone. It is closely modeled after the real Hearthstone protocol, but does not use Protobufs.
Every Kettle packet begins with an unsigned int32 which encodes the size of the rest of the packet.
What follows is an UTF-8 JSON-encoded array, always of two items:
Typekey, which contains the name of the packet type
- A key matching the name of the packet type, which contains the packet data.