c2s: ppos {x,y} this player has moved to position x,y settile {q,r,tile} set tile at H(q,r) to tile (currently boolean) s2c: playerinfopart:: {id,x,y,color:[r,g,b]} join {pl=playerinfopart} a player has joined. also sent on connection for each existing player you {pl=playerinfopart} sent on connection to tell client about its own player leave {id} player with id id has left move {id,x,y} player with id id has moved to (x,y) chunk {tiles=[array of 128*128 booleans]} chunk has data d. one day changes will exist and also multiple chunks will exist and also more than 2 tile types will exist settile {q,r,tile} tile at H(q,r) was set to tile (currently boolean)