Three boundaries decide almost everything about how this software behaves: the one between your two machines, the one between what the public sees and what staff see, and the one between the platform and the game. Each is drawn below, with the reasoning rather than the reference.
Nothing here is a specification. Where a real one exists it is linked — the protocol, the module contract and the operator guide are all documents in the open, and they are the authority when this page and one of them disagree.
Going deeper
Everything above is an argument about shapes. These are the things that specify them, and they are what a module author, an integrator or an operator should be reading.