c2s: ppos {x,y} this player has moved to position x,y 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