For each Host-Server connection, there may be multiple Games.
For each Game, there may be multiple Client apps; one Client-Server connections for each User app the Host connects to via this Server (and a Client).
For each Game there are several stages:
For each Stage there may be multiple messages sent back and forth between the Host app and Server app.
################ # # # Section 1+3 # # # ################ H->S : F I am host <hoststr> : secret <secret> S->H : G gamestr : is it available H->S : G gamestr : yes H->S : G gamestr : mod <m> H->S : G gamestr : limit player <pl> H->S : G gamestr : limit number <nl> H->S : G gamestr : limit server S->H : G gamestr : user accepted <userstr> ; note, need to add secret and identity stuff on per connect basis. H->S : G gamestr : start now S->H : G gamestr : outcome <outcome> H->S : G gamestr : tell the players the outcome S->H : G gamestr : finish fair S->H : G gamestr : finish fail S->H : G gamestr : finish fraud