public byte[] encoder()
	{
		//Generates the type of client this is
		char typ;
		String hld;
		if(baseCon != null)
			typ = '1';
		else if(remCon!= null)
			typ = '2';
		else
			typ = '0';

		//The state 1 client
		if(state == 1)
		{
			hld = 1+";"+getName()+";"+typ+";"+getKey()+";"+getScreenChar()+";"+devCon();
		}
		//The state 2 client
		else if(state == 2)
		{
			//if(baseCon != null)
			//	System.out.println(outbound.toString());
			hld = 2+";"+getName()+";"+typ+";"+getKey()+";"+getScreenChar()+";"+prefCon();
		}
		else if(state == 3)
			hld = 3+";"+getName()+";"+typ+";"+getKey()+";"+getScreenChar()+";"+state3Con();
		//The state 0 client
		else
			hld = 0+";"+getName()+";"+typ+";";

		byte[] tem = hld.getBytes();
		byte[] out;
		if(state == 2)
			out = new byte[tem.length+outbound.length];
		else
			return tem;
		int cnt = 0;

		while(cnt<tem.length)
		{
			out[cnt] = tem[cnt];
			cnt++;
		}
		cnt = 0;
		while(cnt<outbound.length)
		{
			out[cnt+tem.length] = outbound[cnt];
			cnt++;
		}
		return out;
	}