Thread: Friends can't connect to my server

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 22
  1. #11  
    Registered Member

    Join Date
    Feb 2010
    Posts
    3,253
    Thanks given
    1,145
    Thanks received
    909
    Rep Power
    2081
    "error connecting to server, retrying"

    ^ that sounds like an issue with the cache because afaik PI does not have an update server and the login message does not say retrying.
    Reply With Quote  
     

  2. #12  
    Registered Member
    Join Date
    Nov 2012
    Posts
    21
    Thanks given
    0
    Thanks received
    1
    Rep Power
    11
    Quote Originally Posted by Fire Cape View Post
    "error connecting to server, retrying"

    ^ that sounds like an issue with the cache because afaik PI does not have an update server and the login message does not say retrying.
    my bad the error they are getting is "requesting title screen"

    Quote Originally Posted by Fire Cape View Post
    "error connecting to server, retrying"

    ^ that sounds like an issue with the cache because afaik PI does not have an update server and the login message does not say retrying.
    yes I implemented the auto cache downloader myself, could I get some help resolving this issue?
    Reply With Quote  
     

  3. #13  
    Registered Member

    Join Date
    Feb 2010
    Posts
    3,253
    Thanks given
    1,145
    Thanks received
    909
    Rep Power
    2081
    ye sure where does the auto cache downloader store the cache ? does it fetch it from your machine or online, and if so where does it store and load it (are the paths relative to your folders ?)
    Reply With Quote  
     

  4. #14  
    Registered Member
    Join Date
    Nov 2012
    Posts
    21
    Thanks given
    0
    Thanks received
    1
    Rep Power
    11
    Quote Originally Posted by Fire Cape View Post
    ye sure where does the auto cache downloader store the cache ? does it fetch it from your machine or online, and if so where does it store and load it (are the paths relative to your folders ?)
    It stores it in C drive, and it fetches it online from a mediafire link. How do I check where it loads it from?

    Quote Originally Posted by Fire Cape View Post
    ye sure where does the auto cache downloader store the cache ? does it fetch it from your machine or online, and if so where does it store and load it (are the paths relative to your folders ?)
    this is the code for autocachedownloader:

    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 = 1; // Version of cache
    private String cacheLink = "https://download1522.mediafire.com/pxtauo2vl8rg/cscix6xha7tg2mr/Cache.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();
    }
    }
    Reply With Quote  
     

  5. #15  
    Registered MrClassic
    MrClassic's Avatar
    Join Date
    Oct 2008
    Age
    15
    Posts
    2,063
    Thanks given
    24,154
    Thanks received
    551
    Rep Power
    5000
    Code:
    return signlink.findcachedir();
    post SignLink.java

    EDIT:

    Also this url: https://download1522.mediafire.com/p...g2mr/Cache.zip
    is not a direct url. You need the url which immediately fires the download.
    Reply With Quote  
     

  6. Thankful user:


  7. #16  
    Extreme Donator


    Join Date
    Jul 2008
    Age
    31
    Posts
    956
    Thanks given
    186
    Thanks received
    344
    Rep Power
    1060
    my man really just posted a whole class.

    Delete your own cache and test the downloader to see why it's failing. But as classic said, you need a download link, not a file link.
    Not sure if this is possible with media fire, but you can use dropbox.
    Reply With Quote  
     

  8. Thankful user:


  9. #17  
    Registered Member
    Join Date
    Nov 2012
    Posts
    21
    Thanks given
    0
    Thanks received
    1
    Rep Power
    11
    Quote Originally Posted by MrClassic View Post
    Code:
    return signlink.findcachedir();
    post SignLink.java

    EDIT:

    Also this url: https://download1522.mediafire.com/p...g2mr/Cache.zip
    is not a direct url. You need the url which immediately fires the download.
    Whenever I open the link it automatically downloads though.

    // Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
    // Jad home page: Home Page of Jad - the fast Java decompiler
    // 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() > 0x3200000L)
    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()
    {
    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 = "C:/.projectinsanity_file_store_32/";
    for(int i = 0; i < as.length; i++)
    try
    {
    String s1 = "";
    if(s1.length() > 0)
    {
    File file = new File(s1);
    if(!file.exists())
    continue;
    }
    File file1 = new File(s1 + s);
    if(file1.exists() || file1.mkdir())
    return s1 + s + "/";
    }
    catch(Exception _ex) { }

    return null;

    }

    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(s1 + s);
    if(file1.exists() || file1.mkdir())
    return s1 + s + "/";
    }
    catch(Exception _ex) { }

    return null;

    }

    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;
    }
    }

    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 = "";

    }
    I identified the problem but I dont know how to fix it. So there is something wrong with the auto cache downloader, for some reason it doesnt unpack the cache in the C: folder. When I instead sent the cache to my friend and unpacked it in a map in the c: folder and they tried running the JAR file they could connect without any problems. Before when the cache wasnt manually downloaded they get the error message "requesting title screen" because the cache wasn't being downloaded/unpacked. That link is a direct link though because it does automatically download whenever I open it.
    Reply With Quote  
     

  10. #18  
    Community Veteran


    Arch337's Avatar
    Join Date
    Sep 2008
    Posts
    2,950
    Thanks given
    210
    Thanks received
    349
    Rep Power
    1376
    Quote Originally Posted by royalpain View Post
    Whenever I open the link it automatically downloads though.



    I identified the problem but I dont know how to fix it. So there is something wrong with the auto cache downloader, for some reason it doesnt unpack the cache in the C: folder. When I instead sent the cache to my friend and unpacked it in a map in the c: folder and they tried running the JAR file they could connect without any problems. Before when the cache wasnt manually downloaded they get the error message "requesting title screen" because the cache wasn't being downloaded/unpacked. That link is a direct link though because it does automatically download whenever I open it.
    It actually just take you to a page where you can click 'download file', which is not a direct download link.
    A direct download link would be something like this


    "A fail act is something you do regular, but a dumb act is something you can learn from"
    Spoiler for Problem?:
    Reply With Quote  
     

  11. #19  
    Registered Member
    Join Date
    Nov 2012
    Posts
    21
    Thanks given
    0
    Thanks received
    1
    Rep Power
    11
    Quote Originally Posted by arch337 View Post
    It actually just take you to a page where you can click 'download file', which is not a direct download link.
    A direct download link would be something like this
    Ohh I see! Problem solved now, thx!
    Reply With Quote  
     

  12. Thankful user:


  13. #20  
    Registered Member

    Join Date
    May 2016
    Age
    26
    Posts
    281
    Thanks given
    162
    Thanks received
    64
    Rep Power
    96
    Quote Originally Posted by arch337 View Post
    It actually just take you to a page where you can click 'download file', which is not a direct download link.
    A direct download link would be something like this
    From experience, mediafire URLs "expire" after 24 hours.
    The link above is no longer valid and the client will no longer download the cache afaik.
    Reply With Quote  
     

Page 2 of 3 FirstFirst 123 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Other's can't connect to my server
    By k1lled in forum Help
    Replies: 8
    Last Post: 05-19-2010, 05:06 PM
  2. Replies: 7
    Last Post: 05-10-2010, 10:23 PM
  3. Other's can't connect to my server!
    By Socket Head in forum Help
    Replies: 2
    Last Post: 02-16-2010, 01:07 AM
  4. Can't connect to my server?
    By Vwortex in forum Help
    Replies: 8
    Last Post: 10-14-2009, 06:04 AM
  5. [508] Can't connect to MY server.
    By Nerdpuff in forum Help
    Replies: 10
    Last Post: 05-29-2009, 04:41 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •