@Override
	public boolean createPlayerAccount(String pFirstName, String pLastName, int pAge, String pUsername, String pPassword, String pIPAddress) 
	{
			if(pAge <= 0)
			{
				aLog.info("Error Creating Player Account : Invalid Age");
				return false;
			}
			if(pUsername.length() < 6)
			{
				aLog.info("Error Creating Player Account : Username has to be at least 6 characters");
				return false;
			}
			if(pUsername.length() > 15)
			{
				aLog.info("Error Creating Player Account : Username has to be at most 15 characters");
				return false;
			}
			if((pUsername.charAt(0) > 'Z' && pUsername.charAt(0) < 'a') || pUsername.charAt(0) < 'A' || pUsername.charAt(0) > 'z')
			{
				aLog.info("Error Creating Player Account : Username cannot start with " + pUsername.charAt(0));
				return false;
			}
			if(getAccount(pUsername) != null)
			{
				aLog.info("Error Creating Player Account : Username " + pUsername + " Already Exists");
				return false;
			}
			if(pPassword.length() < 6)
			{
				aLog.info("Error Creating Player Account : Password has to be at least 6 characters");
				return false;
			}
			if(!validate(pIPAddress))
			{
				aLog.info("Error Creating Player Account : Invalid IP-address");
				return false;
			}
			if(IPAddressExists(pIPAddress))
			{
				aLog.info("Error Creating Player Account : IP-address Already Exists");
				return false;
			}
			synchronized(this)
			{
				aDatabase.get(String.valueOf(pUsername.toUpperCase().charAt(0))).add(new Account(pFirstName, pLastName, pAge, pUsername, pPassword, pIPAddress));
			}
			aLog.info("Player Account created :\nFirstName \"" +  pFirstName +  "\", LastName \"" +  pLastName + 
					"\", Age \"" +  pAge +  "\", Username \"" +  pUsername +  "\", Password \"" + pPassword + "\", IP-address \"" +
					pIPAddress + "\", Player is currently Offline");
			return true;
	}