WIP
server handles most of the messages

gm_client sends some of the protocol messages and accepts most of them
Merge branch 'error_handling'