Jump to content
  • 0
Sign in to follow this  
Thesmallport

Requesting Title Screen ... Connection Error

Question

I'm trying to play a server and no matter whether I use the downloaded client or the webclient, I get the error 'requesting title screen' followed by 'connection error retrying in __seconds'

I've looked all over the place for a solution and finally decided to make a new thread because I can't find a fix. I've established it's something to do with the cache of the server. I've tried deleting and redownloading several times and the problem still occurs.
I'm using a 64 bit version of Windows Ultimate and I'm running version 7 update 60 of java.

Any help would really be appreciated.

Share this post


Link to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0
[quote name='Thesmallport']Cache is saved in C:/users/(my user) by the way.[/QUOTE]

are you trying to connect to someone elses server ?

if so can other people connect ?

if they can do the following things until it works;
1) Disable your ENTIRE firewall.
2) Disable any anti-virus software you have.
3) Portforward port 43594, 43595 and 5555 (this shouldnt make a difference but it might)
4) Delete the cache and client and download a fresh copy

Share this post


Link to post
Share on other sites
  • 0
I have this same issue with my Client... Ive searched everywhere and cant seem to find a fix that actually works for me.
I've noticed that my cache doesn't fully unzip, and i know that's the issue. I'm Still relatively new to coding so if anyone could help, that would be awesome :) Edited by Thorin

Share this post


Link to post
Share on other sites
  • 0
Needed 2 posts to post a link...

EDIT** Pic of my dl link in case anyone thinks there is an issue with it...
[URL="http://prntscr.com/42ytgs"]**Image of DL link**[/URL]

Share this post


Link to post
Share on other sites
  • 0
[quote name='Thorin']I have this same issue with my Client... Ive searched everywhere and cant seem to find a fix that actually works for me.
I've noticed that my cache doesn't fully unzip, and i know that's the issue. I'm Still relatively new to coding so if anyone could help, that would be awesome :)[/QUOTE]

cache isn't packed correctly or your cache extractor is broken

Share this post


Link to post
Share on other sites
  • 0
Well, it must be the extractor then, cause i know the cache is packed correctly, thanks for the quick response btw.

Share this post


Link to post
Share on other sites
  • 0
Alright, I have a development, my client Run.bat cmd shows this now, it didnt show anything before
[URL="http://prntscr.com/434gii"]CMD[/URL]
Now, i realize that means it is trying to read the cache before it unzips, but i don't know how to change that.

Share this post


Link to post
Share on other sites
  • 0
[quote name='Thorin']#fixed
`[/QUOTE]

would you mind sharing me your signlink/cachedownloader? mine seems to be acting like a retard. I want to check it out if it is that or my source/client has a nulll

Share this post


Link to post
Share on other sites
  • 0
What i did was change the Version to "2", and i also changed my cache name to "NicksCache"
CacheDownloader:
[CODE]import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.BufferedOutputStream;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URLConnection;
import java.net.URL;
import java.util.zip.ZipFile;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.Enumeration;

import sign.signlink;

public class CacheDownloader {

private client client;

private final int BUFFER = 1024;

/*
* Only things you need to change
*
*/
private final int VERSION = 2; // Version of cache
private String cacheLink = "https://dl.dropboxusercontent.com/s/jsmo9j7yqiux0r4/NicksCache.zip"; // Link to cache

private String fileToExtract = getCacheDir() + getArchivedName();

public CacheDownloader(client client) {
this.client = client;
}

private void drawLoadingText(String text) {
client.drawLoadingText(35, text);
System.out.println(text);
}


private void drawLoadingText(int amount, String text) {
client.drawLoadingText(amount, text);
System.out.println(text);
}

private String getCacheDir() {
return signlink.findcachedir();
}

private String getCacheLink() {
return cacheLink;
}

private int getCacheVersion() {
return VERSION;
}

public CacheDownloader downloadCache() {
try {
File location = new File(getCacheDir());
File version = new File(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat");

if(!location.exists()) {
//drawLoadingText("Downloading Cache Please wait...");
downloadFile(getCacheLink(), getArchivedName());

unZip();
System.out.println("UNZIP");

BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"));
versionFile.close();
} else {
if(!version.exists()) {
//drawLoadingText("Downloading Cache Please wait...");
downloadFile(getCacheLink(), getArchivedName());

unZip();
System.out.println("UNZIP");

BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"));
versionFile.close();

} else {
return null;
}
}
} catch(Exception e) {

}
return null;
}

private void downloadFile(String adress, String localFileName) {
OutputStream out = null;
URLConnection conn;
InputStream in = null;

try {

URL url = new URL(adress);
out = new BufferedOutputStream(
new FileOutputStream(getCacheDir() + "/" +localFileName));

conn = url.openConnection();
in = conn.getInputStream();

byte[] data = new byte[BUFFER];

int numRead;
long numWritten = 0;
int length = conn.getContentLength();


while((numRead = in.read(data)) != -1) {
out.write(data, 0, numRead);
numWritten += numRead;

int percentage = (int)(((double)numWritten / (double)length) * 100D);
drawLoadingText(percentage, "Downloading Cache " + percentage + "%");

}

System.out.println(localFileName + "\t" + numWritten);
drawLoadingText("Finished downloading "+getArchivedName()+"!");

} catch (Exception exception) {
exception.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
} catch (IOException ioe) {
}
}

}

private String getArchivedName() {
int lastSlashIndex = getCacheLink().lastIndexOf('/');
if (lastSlashIndex >= 0
&& lastSlashIndex < getCacheLink().length() -1) {
return getCacheLink().substring(lastSlashIndex + 1);
} else {
System.err.println("error retreiving archivaed name.");
}
return "";
}




private void unZip() {

try {
InputStream in =
new BufferedInputStream(new FileInputStream(fileToExtract));
ZipInputStream zin = new ZipInputStream(in);
ZipEntry e;

while((e=zin.getNextEntry()) != null) {

if(e.isDirectory()) {
(new File(getCacheDir() + e.getName())).mkdir();
} else {

if (e.getName().equals(fileToExtract)) {
unzip(zin, fileToExtract);
break;
}
unzip(zin, getCacheDir() + e.getName());
}
System.out.println("unzipping2 " + e.getName());
}
zin.close();

} catch(Exception e) {
e.printStackTrace();
}
}

private void unzip(ZipInputStream zin, String s)
throws IOException {

FileOutputStream out = new FileOutputStream(s);
//System.out.println("unzipping " + s);
byte [] b = new byte[BUFFER];
int len = 0;

while ((len = zin.read(b)) != -1) {
out.write(b,0,len);
}
out.close();
}
}[/CODE]
Signlink
[CODE]// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: signlink.java

package sign;

import java.applet.Applet;
import java.io.*;
import java.net.*;

public final class signlink
implements Runnable
{

public static void startpriv(InetAddress inetaddress)
{
threadliveid = (int)(Math.random() * 99999999D);
if(active)
{
try
{
Thread.sleep(500L);
}
catch(Exception _ex) { }
active = false;
}
socketreq = 0;
threadreq = null;
dnsreq = null;
savereq = null;
urlreq = null;
socketip = inetaddress;
Thread thread = new Thread(new signlink());
thread.setDaemon(true);
thread.start();
while(!active)
try
{
Thread.sleep(50L);
}
catch(Exception _ex) { }
}

public void run()
{
active = true;
String s = findcachedir();
uid = getuid(s);
try
{
File file = new File(s + "main_file_cache.dat");
if(file.exists() && file.length() > 0x32005000L)
file.delete();
cache_dat = new RandomAccessFile(s + "main_file_cache.dat", "rw");
for(int j = 0; j < 5; j++)
cache_idx[j] = new RandomAccessFile(s + "main_file_cache.idx" + j, "rw");

}
catch(Exception exception)
{
exception.printStackTrace();
}
for(int i = threadliveid; threadliveid == i;)
{
if(socketreq != 0)
{
try
{
socket = new Socket(socketip, socketreq);
}
catch(Exception _ex)
{
socket = null;
}
socketreq = 0;
} else
if(threadreq != null)
{
Thread thread = new Thread(threadreq);
thread.setDaemon(true);
thread.start();
thread.setPriority(threadreqpri);
threadreq = null;
} else
if(dnsreq != null)
{
try
{
dns = InetAddress.getByName(dnsreq).getHostName();
}
catch(Exception _ex)
{
dns = "unknown";
}
dnsreq = null;
} else
if(savereq != null)
{
if(savebuf != null)
try
{
FileOutputStream fileoutputstream = new FileOutputStream(s + savereq);
fileoutputstream.write(savebuf, 0, savelen);
fileoutputstream.close();
}
catch(Exception _ex) { }
if(waveplay)
{
String wave = s + savereq;
waveplay = false;
}
if(midiplay)
{
midi = s + savereq;
midiplay = false;
}
savereq = null;
} else
if(urlreq != null)
{
try
{
System.out.println("urlstream");
urlstream = new DataInputStream((new URL(mainapp.getCodeBase(), urlreq)).openStream());
}
catch(Exception _ex)
{
urlstream = null;
}
urlreq = null;
}
try
{
Thread.sleep(50L);
}
catch(Exception _ex) { }
}

}
public static String findcachedir()
{
boolean exists = (new File(System.getProperty("user.home") + "/NicksCache/")).exists();
if (exists) {
System.out.println("Directory exists");
return System.getProperty("user.home") + "/NicksCache/";
} else {
File f = new File(System.getProperty("user.home") + "/NicksCache/");
f.mkdir();
System.out.println("Directory doesnt exist, making directory");
return System.getProperty("user.home") + "/NicksCache/";
}
}

/* public static String findcachedirORIG()
{
String as[] = {
"c:/windows/", "c:/winnt/", "d:/windows/", "d:/winnt/", "e:/windows/", "e:/winnt/", "f:/windows/", "f:/winnt/", "c:/", "~/",
"/tmp/", "", "c:/rscache", "/rscache"
};
if(storeid < 32 || storeid > 34)
storeid = 32;
String s = ".file_store_" + storeid;
for(int i = 0; i < as.length; i++)
try
{
String s1 = as[i];
if(s1.length() > 0)
{
File file = new File(s1);
if(!file.exists())
continue;
}
File file1 = new File((new StringBuilder()).append(s1).append(s).toString());
if(file1.exists() || file1.mkdir())
return (new StringBuilder()).append(s1).append(s).append("/").toString();
}
catch(Exception _ex) { }

return null;

}*/

public static int getuid(String s)
{
return 8;
}

public static synchronized Socket opensocket(int i)
throws IOException
{
for(socketreq = i; socketreq != 0;)
try
{
Thread.sleep(50L);
}
catch(Exception _ex) { }

if(socket == null)
throw new IOException("could not open socket");
else
return socket;
}

public static synchronized DataInputStream openurl(String s)
throws IOException
{
for(urlreq = s; urlreq != null;)
try
{
Thread.sleep(50L);
}
catch(Exception _ex) { }

if(urlstream == null)
throw new IOException("could not open: " + s);
else
return urlstream;
}

public static synchronized void dnslookup(String s)
{
dns = s;
dnsreq = s;
}

public static synchronized void startthread(Runnable runnable, int i)
{
threadreqpri = i;
threadreq = runnable;
}

public static synchronized boolean wavesave(byte abyte0[], int i)
{
if(i > 0x1e8480)
return false;
if(savereq != null)
{
return false;
} else
{
wavepos = (wavepos + 1) % 5;
savelen = i;
savebuf = abyte0;
waveplay = true;
savereq = "sound" + wavepos + ".wav";
return true;
}
}

public static synchronized boolean wavereplay()
{
if(savereq != null)
{
return false;
} else
{
savebuf = null;
waveplay = true;
savereq = "sound" + wavepos + ".wav";
return true;
}
}

public static synchronized void midisave(byte abyte0[], int i)
{
if(i > 0x1e8480)
return;
if(savereq != null)
{
} else
{
midipos = (midipos + 1) % 5;
savelen = i;
savebuf = abyte0;
midiplay = true;
savereq = "jingle" + midipos + ".mid";
}
}

public static void reporterror(String s)
{
System.out.println("Error: " + s);
}

private signlink()
{
}

public static final int clientversion = 317;
public static int uid;
public static int storeid = 32;
public static RandomAccessFile cache_dat = null;
public static final RandomAccessFile[] cache_idx = new RandomAccessFile[5];
public static boolean sunjava;
public static final Applet mainapp = null;
private static boolean active;
private static int threadliveid;
private static InetAddress socketip;
private static int socketreq;
private static Socket socket = null;
private static int threadreqpri = 1;
private static Runnable threadreq = null;
private static String dnsreq = null;
public static String dns = null;
private static String urlreq = null;
private static DataInputStream urlstream = null;
private static int savelen;
private static String savereq = null;
private static byte[] savebuf = null;
private static boolean midiplay;
private static int midipos;
public static String midi = null;
public static int midivol;
public static int midifade;
private static boolean waveplay;
private static int wavepos;
public static int wavevol;
public static boolean reporterror = true;
public static String errorname = "";

}[/CODE]

Share this post


Link to post
Share on other sites
Sign in to follow this  

×