0x02 : Server Info Request 
     This is the request broadcasted by the client when you use the slist
     console command. 

     byte     operation_code           0x02 - CCREQ_SERVER_INFO
     string   game_name                "QUAKE"
     byte     net_protocol_version     NET_PROTOCOL_VERSION

     Sample byte stream: 

     80 00 00 0c 02 51 55 41   4b 45 00 03

     Server Info Reply 

     byte     operation_code           0x83 - CCREP_SERVER_INFO
     address  server_address           IP:port number of server
     string   host_name                from the console command hostname
     string   level_name               current map on the server
     byte     current_players          0-16 - current number of players
     byte     max_players              0-16 - maximum number of players
     byte     net_protocol_version     NET_PROTOCOL_VERSION

     Sample byte stream: 

     80 00 00 2b 83 31 36 35   2e 32 32 30 2e 31 36 2e 
     36 3a 32 36 30 30 30 00   6e 6f 69 64 65 6e 74 69 
     74 79 00 65 31 6d 32 00   04 08 03 

     The Network Protocol Version "is there both directions so we can
     upgrade the network protocol and have the option of supporting
     older versions". 

0x03 : Player Info Request 
     You can get all the information on the players on a game without
     joining the game using this request. player_number starts from zero
     (0). If you
     send an invalid player number, like asking for info on player 8 in a
     game with only 3 players, you will not get any response. 

     byte     operation_code           0x03 - CCREQ_PLAYER_INFO
     byte     player_number            0-15

     Player Info Reply 

     shirt_color and pants_color range from 0-13. frags and connect_time are
     in little-endian order. frags is a signed number. Typing "TEST
     servername" from the console (while connected to the server) will
     display this info. (all the players?) --FIX 

     byte     operation_code           0x84 - CCREP_PLAYER_INFO
     byte     player_number            0-15
     string   name                     name/alias of the player
     byte     colors                   (shirt_color << 4) +  pants_color
     byte     unused                   ?
     byte     unused                   ?
     byte     unused                   ?
     long     frags                    number of frags (little-endian)
     long     connect_time             connection time (secs)(little-endian)
     address  client_address           IP:port (local, IPX#, serial port?)

0x04 : Rule Info Request 
     This request will let you find out the values of variables on the
     server. The rules available for query are: sv_maxspeed, sv_friction,
     sv_gravity,
     noexit, teamplay, timelimit and fraglimit. 

     byte     operation_code           0x04 - CCREQ_RULE_INFO
     string   rule                     rule name

     Rule Info Reply 

     byte     operation_code           0x85 - CCREP_RULE_INFO
     string   rule                     rule name
     string   value                    value of the rule

     You must first issue a request with the null rulename to get the first
     variable: 

     80 00 00 06 04 00

     The server will reply with a rulename which you must use for the next
     request. You will get a reply packet with only 5 bytes if no more rules
     are
     available for query: 

     80 00 00 05 85

     Ugly, but that's how it works. -- Cash 

     Typing "TEST2 servername" from the console of the client (while
     connected to the server) will display this info. 
