NetAcquire Protocol (preliminary)

Protocol v2.0.2

General Syntax

The NetAcquire protocol is actually a rather simple protocol. Data is exchanged in plain ASCII, making it easy to both decode and to implement. Both incoming and outgoing data have the same format: <CC>;<content>;: CC is a 1 or 2 character identifier, and content is the actual message content enclosed between semicolons. Finally, the entire command is terminated by a colon character.

Converting from number-letter pairs to integer index: #,l: i = (# - 1) * 9 + ((int)l - (int)'A' + 1) Converting from integer to number-letter pairs # = (int)(i / 9) + 1 l = (i % 9 - 1 + (int)'A')

Commands

Messages

Transcript Snippets

ScoreSheet,lblData,83,Caption,6000;: SV;frmScoreSheet,lblData,35,Caption,;: SV;frmScoreSheet,lblData,9,Caption,25;: SV;frmScoreSheet,lblData,42,Caption,;: SV;frmScoreSheet,lblData,10,Caption,25;: SV;frmScoreSheet,lblData,49,Caption,;: SV;frmScoreSheet,lblData,11,Caption,25;: SV;frmScoreSheet,lblData,56,Caption,;: SV;frmScoreSheet,lblData,12,Caption,25;: SV;frmScoreSheet,lblData,63,Caption,;: SV;frmScoreSheet,lblData,13,Caption,25;: SV;frmScoreSheet,lblData,70,Caption,;: SV;frmScoreSheet,lblData,14,Caption,25;: SV;frmScoreSheet,lblData,77,Caption,;: SV;frmScoreSheet,lblData,15,Caption,25;: SV;frmScoreSheet,lblData,84,Caption,6000;: SV;frmScoreSheet,lblData,36,Caption,;: SV;frmScoreSheet,lblData,9,Caption,25;: SV;frmScoreSheet,lblData,43,Caption,;: SV;frmScoreSheet,lblData,10,Caption,25;: SV;frmScoreSheet,lblData,50,Caption,;: SV;frmScoreSheet,lblData,11,Caption,25;: SV;frmScoreSheet,lblData,57,Caption,;: SV;frmScoreSheet,lblData,12,Caption,25;: SV;frmScoreSheet,lblData,64,Caption,;: SV;frmScoreSheet,lblData,13,Caption,25;: SV;frmScoreSheet,lblData,71,Caption,;: SV;frmScoreSheet,lblData,14,Caption,25;: SV;frmScoreSheet,lblData,78,Caption,;: SV;frmScoreSheet,lblData,15,Caption,25;: SV;frmScoreSheet,lblData,85,Caption,6000;: SV;frmNetAcquire,status,-1,SimpleText,"The game has been started, please wait for your turn.";: SV;frmScoreSheet,lblData,1,BackColor,12632319;: GM;"*********DanYan's turn.";: GM;"*Waiting for DanYan to play tile.";: GT;;: Responded with PT;3;: GM;"*DanYan played 12C.";: SB;102,0;: AT;1,103,16777215;: GM;"> You drew tile 12I.";: AT;5,107,12648384;: AT;3,108,12648384;: SV;frmNetAcquire,status,-1,SimpleText,"Your turn has ended, drawn tile shown on tile rack.";: SV;frmScoreSheet,lblData,1,BackColor,16777215;: SV;frmScoreSheet,lblData,2,BackColor,12632319;: GM;"*********Stefan's turn.";: GM;"*Waiting for Stefan to play tile.";: GM;"*Stefan played 9G.";: SB;79,0;: SV;frmScoreSheet,lblData,2,BackColor,16777215;: SV;frmScoreSheet,lblData,3,BackColor,12632319;: GM;"*********MUSnapOn's turn.";: GM;"*Waiting for MUSnapOn to play tile.";: GM;"*MUSnapOn played 8E.";: SB;68,0;: SV;frmScoreSheet,lblData,3,BackColor,16777215;: SV;frmScoreSheet,lblData,4,BackColor,12632319;: GM;"*********1-900-funny-things-about-sung's turn.";: GM;"*Waiting for 1-900-funny-things-about-sung to play tile.";: GM;"*1-900-funny-things-about-sung played 7H.";: SB;62,0;: GM;"*Played tile forms new chain.";: AT;4,61,16777215;: GM;"*Waiting for 1-900-funny-things-about-sung to select new chain.";: GM;"****1-900-funny-things-about-sung formed Imperial.";: SB;62,16711935;: SV;frmScoreSheet,lblData,23,Caption,1;: SV;frmScoreSheet,lblData,31,Caption,3;: SB;71,16711935;: SV;frmScoreSheet,lblData,23,Caption,2;: SV;frmScoreSheet,lblData,31,Caption,4;: SV;frmScoreSheet,lblData,78,Caption,1;: SV;frmScoreSheet,lblData,15,Caption,24;: AT;4,61,16711935;: GM;"*Waiting for 1-900-funny-things-about-sung to make purchase.";: SV;frmScoreSheet,lblData,85,Caption,4800;: SV;frmScoreSheet,lblData,78,Caption,4;: SV;frmScoreSheet,lblData,15,Caption,21;: GM;"*1-900-funny-things-about-sung purchased 3-Imperial.";: SV;frmScoreSheet,lblData,4,BackColor,16777215;: SV;frmScoreSheet,lblData,1,BackColor,12632319;: GM;"*********DanYan's turn.";: GM;"*Waiting for DanYan to play tile.";: GT;;: Responded with: PT;1;: GM;"*DanYan played 12D.";: SB;103,0;: GM;"*Played tile forms new chain.";: GM;"*Waiting for DanYan to select new chain.";: GC;4,1,2,3,4,5,6;: Responded with: