Hi, I’m having a problem with my RSPS on my webclient.
When I load it, it says downloading cache (Which it does) then after it does that it says “Requesting title screen” for a bit. Then it says Connection Error retrying and it counts down from 10.
With Connection error it has a capital “C” so it’s a cache problem.
Here is my signlink.java
[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 static void setuid() {
uid = 8;
}
public void run()
{
active = true;
String s = findcachedir();
// uid = getuid(s);
uid = 8;
try {
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 final String findcachedir() {
File file;
File[] drives = File.listRoots();
/**
**** Made Client Work on Mac!
**/
String HomeIsBaws = System.getProperty("user.home");
String s = ""+HomeIsBaws+"/moltenscapeV1cache/";
file = new File(s);
if(file.exists() || file.mkdirs()) {
return s + "/";
}
return null;
}
public static int getuid(String s) {
return 8;
}
/* private static int getuid(String s)
{
try
{
File file = new File(s + “uid.dat”);
if(!file.exists() || file.length() < 4L)
{
DataOutputStream dataoutputstream = new DataOutputStream(new FileOutputStream(s + “uid.dat”));
dataoutputstream.writeInt((int)(Math.random() * 99999999D));
dataoutputstream.close();
}
}
catch(Exception _ex) { }
try
{
DataInputStream datainputstream = new DataInputStream(new FileInputStream(s + “uid.dat”));
int i = datainputstream.readInt();
datainputstream.close();
return i + 1;
}
catch(Exception _ex)
{
return 0;
}
}*/
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;
}*/
return false;
}
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 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]
Here is my CacheDownloader.java
[code]import java.io.;
import java.net.;
import java.util.zip.*;
import java.util.Enumeration;
import sign.signlink;
public class CacheDownloader {
public client client;
public final int BUFFER = 1024;
public static final int VERSION = 2;
//public String cacheLink = "http://dl.dropbox.com/u/62185708/moltenscapeV1cache.zip";
public String cacheLink = "http://dl.dropbox.com/u/62185708/moltenscapeV1cache.zip";
public String fileToExtract = getCacheDir() + getArchivedName();
public CacheDownloader(client client) {
this.client = client;
}
public void drawLoadingText(String text) {
client.drawLoadingText(35, text);
}
public void drawLoadingText(int amount, String text) {
client.drawLoadingText(amount, text);
}
public String getCacheDir() {
return signlink.findcachedir();
}
public String getCacheLink() {
return cacheLink;
}
public int getCacheVersion() {
return VERSION;
}
public CacheDownloader downloadCache() {
try {
File location = new File(getCacheDir());
File version = new File(getCacheDir() + "/cacheUpdate" + getCacheVersion() + ".dat");
if(!location.exists()) {
//delete(getCacheDir());
downloadFile(getCacheLink(), getArchivedName());
unZip();
BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheUpdate" + getCacheVersion() + ".dat"));
versionFile.close();
deleteDownloadedZipFile(getArchivedName());
} else {
if(!version.exists()) {
//delete(getCacheDir());
downloadFile(getCacheLink(), getArchivedName());
unZip();
BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheUpdate" + getCacheVersion() + ".dat"));
versionFile.close();
deleteDownloadedZipFile(getArchivedName());
} else {
return null;
}
}
} catch(Exception e) {
}
return null;
}
public 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 + "%");
}
drawLoadingText("Finished downloading "+getArchivedName()+"!");
} catch (Exception exception) {
exception.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
} catch (IOException ioe) {
}
}
}
public String getArchivedName() {
int lastSlashIndex = getCacheLink().lastIndexOf('/');
if (lastSlashIndex >= 0
&& lastSlashIndex < getCacheLink().length() -1) {
return getCacheLink().substring(lastSlashIndex + 1);
} else {
}
return "";
}
public void deleteDownloadedZipFile(String fileName) {
File f = new File(getCacheDir() + fileName);
if (!f.exists())
throw new IllegalArgumentException("Delete: no such file or directory: " + fileName);
if (!f.canWrite())
throw new IllegalArgumentException("Delete: write protected: " + fileName);
if (f.isDirectory()) {
String[] files = f.list();
if (files.length > 0)
throw new IllegalArgumentException("Delete: directory not empty: " + fileName);
}
boolean success = f.delete();
if (!success)
throw new IllegalArgumentException("Delete: deletion failed");
}
public static boolean delete( String path ) {
if (path == null || path.trim().length() == 0)
return false;
return delete(new File(path));
}
public static boolean delete( File fileOrDirectory ) {
if (fileOrDirectory == null) return false;
if (!fileOrDirectory.exists()) return false;
if (fileOrDirectory.isDirectory()) {
for (File childFile : fileOrDirectory.listFiles()) {
delete(childFile);
}
}
return fileOrDirectory.delete();
}
public 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());
}
}
zin.close();
} catch(Exception e) {
e.printStackTrace();
}
}
public void unzip(ZipInputStream zin, String s) throws IOException {
FileOutputStream out = new FileOutputStream(s);
byte [] b = new byte[BUFFER];
int len = 0;
while ((len = zin.read(b)) != -1) {
out.write(b,0,len);
}
out.close();
}
}[/code]
What am I doing wrong?
It’s downloading in C:/Users/soapface/
When I only want it to download in C:/
Please help!