Protocol v2.0.2
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')
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: