def METHOD_NAME(address):
	try:
		sock = socket(AF_INET, SOCK_DGRAM)
		sock.settimeout(TIMEOUT)
		sock.sendto(PACKET_GETINFO2, address)
		data, _addr = sock.recvfrom(1024)
		sock.close()
		data = data[14:] # skip header
		slots = data.split("\x00")
		server_info = {}
		server_info["token"] = slots[0]
		server_info["version"] = slots[1]
		server_info["name"] = slots[2]
		server_info["map"] = slots[3]
		server_info["gametype"] = slots[4]
		server_info["flags"] = int(slots[5])
		server_info["progression"] = int(slots[6])
		server_info["num_players"] = int(slots[7])
		server_info["max_players"] = int(slots[8])
		server_info["players"] = []
		for i in range(0, server_info["num_players"]):
			player = {}
			player["name"] = slots[9+i*2]
			player["score"] = int(slots[9+i*2+1])
			server_info["players"].append(player)
		return server_info
	except:
		sock.close()
		return None