send the server '\xff\xff\xff\xffgetstatus' on the port the server is running on (udp), it will respond with '\xff\xff\xff\xffstatusresponse\n' followed by the serverinfo string (\cvar1\value1\cvar2\value2\...\cvarN\valueN\n), followed by the players ("score ping player_name\n"), you can determine their team by the contents of "P" in the serverinfo, it will have a - for an empty slot, a 0 for a spectator, a 1 for an alien and a 2 for the human. (since the player list doesn't include empty slots, you'll need to ignore all the '-'s to get it to line up right). this works for almost every game that started off with the code from any quake engine (though P isn't something to rely on in most other games)