See user-client for warnings.

Terminology

For each Server app there may be connected to it multiple Host apps.

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.

Syntax

The helper section is pretty much as in the user-client.

################
#              #
#  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