public String readUntil(String pattern) throws InterruptedException, IOException {
		cnt=0;
		char lastChar = pattern.charAt(pattern.length() - 1);
        StringBuffer buffer = new StringBuffer();
        char ch = (char) dataIn.read();
        String msg;
        String broken[];
        while (runner==1) {
            buffer.append(ch);
        	msg=buffer.toString();
        	String chk=msg.trim();
        	String rtn=msgchk(chk,msg);
        	if (rtn != null){return rtn;}
        	if (ch == lastChar) {
         		if (buffer.toString().endsWith(pattern)) {
                	broken=msg.split(" ");
                	for (int i=0;i<broken.length;i++ ) {
                		if (broken[i].equals("gossips:")){
                			player=broken[i-1];
                		}
                	}
                    return player+"<4;2>0:"+buffer.toString();
                    
                }
         		
         		if (buffer.toString().endsWith("telepaths:")) {
         			broken=msg.split(" ");
                	for (int i=0;i<broken.length;i++ ) {
                		if (broken[i].equals("telepaths:")){
                			player=broken[i-1];
                		}
                	}
                    GosLink.gb.tele(player.trim().toLowerCase(),mynum);
                }
            }
            ch = (char) dataIn.read();
            
        }
       	return null;
            
        }