Thread: [PI] AutoCache problem will rep++

Results 1 to 4 of 4
  1. #1 [PI] AutoCache problem will rep++ 
    Banned
    Join Date
    Jun 2013
    Posts
    79
    Thanks given
    16
    Thanks received
    4
    Rep Power
    0
    Anyone kind enough to fix my cachedownloader?

    Code:
    /**********************************************
    
    @author: Google411 
    
    06/11/2011 -- 9/19/2011
    
    CacheDownloader.java
    Version: 2.00.12
    
    
    $$ If you want to disable the pipup messages just null out these lines
    
    Line: 102 - 
    cacheHasUpdated();
    Line: 108 - 
    cacheHasUpdated();
    With
    Line: 102 - 
    //cacheHasUpdated();
    Line: 108 - 
    //cacheHasUpdated();
    
    <¤>¿<¤> Google411 Me - Revised by Kozs
    
    
    **********************************************/
    
    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 javax.swing.*;
    import java.awt.event.*;
    import java.net.*;
    import java.io.*;
    import sign.signlink;
    
    public class CacheDownloader {
    
            private client client;
                    client frame;
            private final int BUFFER = 1024;
                    /* OPTIONS START HERE *///----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            /* OPTION 1 */private final int VERSION = 1 ;   // Version of cache, make it +1 if you updated your cache on your remote server
                    /* OPTION 2 */private final int pauseHandlerDelay = 10000 ;   // 1000  = 1 second. This is for when ever the pauseHandler void is called. It just pauses the entire code for the amount of time set.
            /* OPTION 3*/private String cacheLink = "http://dl.dropboxusercontent.com/s/3h78ch4eagtym8u/Deathlypvpzv5.zip" ;   // URL of cache on remote server. IE: "http://DropBox.com/cache.zip" Add to dropbox or FileDen
                    /* OPTION 4 */private String cacheDir = "http://dl.dropboxusercontent.com/s/3h78ch4eagtym8u/Deathlypvpzv5.zip" ;   // Local link to cache directory - Same as sign.signlink.findcachedir() - Remember trailing '/' 
                    /* OPTIONS END HERE *///--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
            private String fileToExtract = getCacheDir() + getArchivedName();
            public CacheDownloader(client client) {
                    this.client = client;
            }
    
            private void drawLoadingText(String text) {
                    client.drawLoadingText(35, text);
            }
                    
            private void drawLoadingText(int amount, String text) {
                    client.drawLoadingText(amount, text);
            }
    
            private String getCacheLink() {
                    return cacheLink;
            }
                    
            private String getCacheDir() {
                    return cacheDir;
            }
    
            private int getCacheVersion() {
                    return VERSION;
            }
                    
                    private int pauseHandlerDelay1000Equals1Second() {
                                    return pauseHandlerDelay;
                    }
            
                    private String localCacheFile() {
                                    return getCacheDir() + getArchivedName();
                    }
            public CacheDownloader downloadCache() {
                    try {
                    File location = new File(getCacheDir());
                    File version = new File(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat");
                    if(!location.exists()) {
                                                    cacheHasUpdated();
                            downloadFile(getCacheLink(), getArchivedName());
                            BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"));
                            versionFile.close();
                    } else {
                            if(!version.exists()) {
                                                                    cacheHasUpdated();
                                    downloadFile(getCacheLink(), getArchivedName());
                                    BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"));
                                    versionFile.close();
                            } else {
                                    return null;
                            }
                    }
                    } catch(Exception e) {
                    }
                    return null;
            }                        
                            public void cacheHasUpdated() {
                                    JOptionPane.showMessageDialog(frame, "It seems you either, 1. Have no cache on localhost or, 2. You have an older version of the cache. Click OK to download the new cache.", "Cache Version Invalid", JOptionPane.WARNING_MESSAGE);
                                    }
            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) {
                            }
                    }
                                    fileExists();
            }
            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 "";
            }
            public void fileExists() {
        File file=new File(localCacheFile());
        boolean exists = file.exists();
        if (!exists) {
          System.out.println("The cache was not downloaded correctly.");
              System.out.println("Please download it manually at:");
              System.out.println(localCacheFile());
              System.out.println("File Directory:");
              System.out.println(getCacheDir());
              pauseHandler();
            cacheDownloadError();
        }else {
          drawLoadingText("Your cache is downloaded and ready to un-zip!");
              pauseHandler();
              unZip();          
        }
            }
                    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());
                        }
                                            drawLoadingText("[UN-ZIP]: " + e.getName());
                    }
                    zin.close();
                } catch(Exception e) {
                    e.printStackTrace();
                }
                            pauseHandler();
                            unNeededCacheExists();
            }
            private 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);
                                    }
            }
            public void unNeededCacheExists() {
        File file=new File(localCacheFile());
        boolean exists = file.exists();
        if (!exists) {
          System.out.println("Your cache was not downloaded correctly.");
              System.out.println("Please try to re re run the client.");
        }else {
          System.out.println("Your cache is on your HDD");
              System.out.println("Auto Cache Deleter Attempting to delete...");
              delete();          
        }
            }
                public void delete() {        
                try{
                        File file = new File(localCacheFile());
                        if(file.delete()){
                                drawLoadingText("[SUCCESS]" +file.getName()+ " was deleted!");
                                    System.out.println("[SUCCESS]" +file.getName()+ " was deleted!");
                        }else{
                                drawLoadingText("[ERROR]" +file.getName()+ " was not deleted.");
                                    System.out.println("[ERROR]" +file.getName()+ " was not deleted.");
                        }
                }catch(Exception e){
                        e.printStackTrace();
                }
        }
            public void cacheDownloadError() {
                    try {
                drawLoadingText("Cache Download Error - Contact an admin");
                            }
                            catch(Exception e){
                        e.printStackTrace();
                }
                            }
      public void pauseHandler() {
         try {
           Thread.currentThread().sleep(pauseHandlerDelay1000Equals1Second());
           }
         catch (InterruptedException e) {
           e.printStackTrace();
           }
         }  
    }
    /*************************
    @author Google - Revised by Kozs
    *************************/
    Reply With Quote  
     

  2. #2  
    Registered Member I cup's Avatar
    Join Date
    Aug 2013
    Posts
    264
    Thanks given
    54
    Thanks received
    17
    Rep Power
    14
    Well I suppose if you were to say what's wrong with it, it might make it a little bit easier to help you fix it. However, you're free to change your cachedownloader / signlink to what I have:

    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;
    
            private final int VERSION = 1; // Version of cache
            //private String cacheLink = "http://dl.dropbox.com/u/13376898/EPKCv9.zip"; // Link to cache
            private String cacheLink = "https://dl.dropboxusercontent.com/s/lbei6jycir0peh1/E-Scape.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("Loading new Updates....");
                            downloadFile(getCacheLink(), getArchivedName());
    
                            unZip();
                            //System.out.println("UNZIP");
    
                            BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"));
                            versionFile.close();
                            deleteZIP(getArchivedName());
                    } else {
                            if(!version.exists()) {
                                    //drawLoadingText("~ First Time Installation, Only Once! ~");
                                    downloadFile(getCacheLink(), getArchivedName());
    
                                    unZip();
                                    //System.out.println("UNZIP");
    
                                    BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/cacheVersion" + getCacheVersion() + ".dat"));
                                    versionFile.close();
                                    deleteZIP(getArchivedName());
    
                            } 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("Unpacking..");
    
                    } 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 deleteZIP(String fileName){
        // A File object to represent the filename
        File f = new File(getCacheDir() + fileName);
    
        // Make sure the file or directory exists and isn't write protected
        if (!f.exists())
          throw new IllegalArgumentException(
              "Delete: no such file or directory: " + fileName);
    
        if (!f.canWrite())
          throw new IllegalArgumentException("Delete: write protected: "
              + fileName);
    
        // If it is a directory, make sure it is empty
        if (f.isDirectory()) {
          String[] files = f.list();
          if (files.length > 0)
            throw new IllegalArgumentException(
                "Delete: directory not empty: " + fileName);
        }
    
        // Attempt to delete it
        boolean success = f.delete();
    
        if (!success)
          throw new IllegalArgumentException("Delete: deletion failed");
    
            }
    
            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();
            }
    }

    signlink:

    Code:
    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:/"};
            if(storeid < 32 || storeid > 34)
                storeid = 32;
            //String s = "EPKCv9";
            String s = "E-Scape";
            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;
        }
    
           
            public static String sencondDir() {
                    File file = new File("./");
                    if (!file.exists())
                            file.mkdir();
                    return file.toString();
            }
    
        private static int getuid(String s) {
            return 234523;
        }
    
        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 = "";
    
    }
    Just replace your cachedownloader.java and singlink.java with those codes and it should work. Also replace the link in cachedownloader with your URL link obviously... Goodluck!
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Donator

    Chief Sosa's Avatar
    Join Date
    Jun 2012
    Posts
    1,163
    Thanks given
    49
    Thanks received
    234
    Rep Power
    83
    What's broken ...?

    Reply With Quote  
     

  5. #4  
    Banned
    Join Date
    Jun 2013
    Posts
    79
    Thanks given
    16
    Thanks received
    4
    Rep Power
    0
    Okay, so how do i upload the cache?
    I know i zip it.. but do i just right click and click add to archive and zip?
    Or did i .rar it..? etc.
    also, thanks i cup.
    Reply With Quote  
     


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. [PI] AutoCache Downloader - Will +Rep
    By ToxicPlanet in forum Help
    Replies: 11
    Last Post: 10-03-2012, 06:14 PM
  2. [Pi][317]Small problem. Will rep++
    By Haywire in forum Help
    Replies: 8
    Last Post: 08-24-2012, 07:14 AM
  3. Replies: 15
    Last Post: 08-06-2012, 12:09 PM
  4. [PI] Shop problem will rep++ and thank
    By Impervious in forum Help
    Replies: 4
    Last Post: 01-13-2012, 01:04 AM
  5. door problem, will rep!!
    By kojomba in forum Help
    Replies: 2
    Last Post: 04-20-2009, 06:09 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
  •