rendered paste body void QueryServer( object data )
{
string Server; int Port;
Server = textBox1.Text;
Port = Convert.ToInt32( textBox2.Text );
UdpClient c = new UdpClient( );
c.Connect( Server, Port );
byte[ ] bytes = { 0xFF, 0xFF, 0xFF, 0xFF, 0x54, 0x53, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x20, 0x45, 0x6E, 0x67, 0x69, 0x6E, 0x65, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x00 };
c.Send( bytes, bytes.Length );
IPEndPoint ip = new IPEndPoint( IPAddress.Any, 0 );
byte[ ] recv = c.Receive( ref ip );
string recvStr = Encoding.ASCII.GetString( recv ).Remove( 0, 6 );
string[ ] tmp = recvStr.Split( '\0' );
int len = 0;
for ( int i = 0; i < 6; i++ )
{
len += tmp[ i ].Length;
}
len += 6;
string hostname = tmp[ 0 ];
string map = tmp[ 1 ];
string game = tmp[ 3 ];
string players = recv[ len ].ToString( );
string maxplayers = recv[ len + 1 ].ToString( );
c.Close( );
MessageBox.Show( hostname + " " + map + " " + game + " " + players + " " + maxplayers );
}