@Override
	public String getPlayerStatus(String p_AdminUserName, String p_AdminPassword,
			String p_AdminIPAddress) 
	{
		String l_Location = "";
		String p_Data = "";
		
		
		
		if(p_AdminUserName.equals("Admin") && p_AdminPassword.equals("Admin"))
		{
			l_Location = GetLocationfromAddress(p_AdminIPAddress);
			
			if(l_Location == "NA")
			{
				p_Data = "P"+Integer.toString(m_UDPLocation_PortNumber_Map.get("NA"));
			}
		
			else if(l_Location == "EU")
			{
				p_Data = "P"+Integer.toString(m_UDPLocation_PortNumber_Map.get("EU"));
			}
		
			else if(l_Location == "AS")
			{
				p_Data = "P"+Integer.toString(m_UDPLocation_PortNumber_Map.get("AS"));
			}
			else
			{
				return l_Location;
			}
			
		}
		else
		{
			return "wrong user id or password !";
		}
		
		// TODO Auto-generated method stub
		for(Map.Entry<String, Integer> entry : GameServerImpl.m_UDPLocation_PortNumber_Map.entrySet())
		{
			if(p_Data.length() > 3)
			{
				if(!l_Location.equals(entry.getKey()))
				{
					udpPeer.UDPSendRequestforData(p_Data, entry.getValue());
					System.out.println(l_Location+ " Sending Request to " + entry.getKey());
					boolean l_receiveData_Server = false;
					while(l_receiveData_Server == false)
					{
						System.out.println(entry.getKey()+" : "+p_AdminUserName+" - Inside while Loop");
					
						if(!UDPPeer.m_PacketData.equals(""))
						{
							//System.out.println(entry.getKey()+" : "+p_AdminUserName+" - Data in UDP found");
							//System.out.println(entry.getKey()+" : "+p_AdminUserName+ " - Data Received is: " + UDPPeer.m_PacketData + "\n");
							if(entry.getKey().equals("NA"))
							{
								l_Server_Data_NA = UDPPeer.m_PacketData;
								//System.out.println("Server Data NA: " + l_Server_Data_NA);
							}
							
							else if(entry.getKey().equals("EU"))
							{
								l_Server_Data_EU = UDPPeer.m_PacketData;
								//System.out.println("Server Data EU: " + l_Server_Data_EU);
							}
							
							else if(entry.getKey().equals("AS"))
							{
								l_Server_Data_AS = UDPPeer.m_PacketData;
								//System.out.println("Server Data AS: " + l_Server_Data_AS);							
							}
							
							l_receiveData_Server = true;
							UDPPeer.m_PacketData = "";
						}
					}		
				}
				else
				{
					if(entry.getKey().equals("NA"))
					{
						l_Server_Data_NA = l_Location + Parameters.UDP_PARSER + this.GetServerDetails();// + Parameters.UDP_PARSER;
						//System.out.println("Server Data NA: " + l_Server_Data_NA);
					}
					
					else if(entry.getKey().equals("EU"))
					{
						l_Server_Data_EU = l_Location + Parameters.UDP_PARSER + this.GetServerDetails();// + Parameters.UDP_PARSER;
						//System.out.println("Server Data EU: " + l_Server_Data_EU);
					}
					
					else if(entry.getKey().equals("AS"))
					{
						l_Server_Data_AS = l_Location + Parameters.UDP_PARSER + this.GetServerDetails();// + Parameters.UDP_PARSER;
						//System.out.println("Server Data AS: " + l_Server_Data_AS);
					}
				}
			}
			
			else
			{
				return "Error: Communication among other Servers Failed; Cannot get Player Status Data";
			}
		}
		
		System.out.println("l_Server_Data_NA: " + l_Server_Data_NA);
		System.out.println("l_Server_Data_EU: " + l_Server_Data_EU);
		System.out.println("l_Server_Data_AS: " + l_Server_Data_AS);
		
		m_finalData = "1" + "/" + l_Server_Data_NA +"/" + l_Server_Data_EU +"/"+ l_Server_Data_AS;
		
		System.out.println("Final Data: " + m_finalData);
		return m_finalData;
	}