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) reqchunk {u,v} request chunk data for chunk at chunkpos u,v chat {msg} send chat message msg handshake {username} sent on join 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 tiles],u,v} chunk at chunkpos u,v has tile data tiles settile {q,r,tile} tile at H(q,r) was set to tile chat {msg,from} recieve chat message msg from player with name from. inv {inv={tile:count}} tell client about inventory of its player