Jump to content

Search the Community

Showing results for tags 'help'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 17 results

  1. dds rofl

    Vencillio issues

    Using vencillio base, everything works good, do a couple updates, restart server. On the 2nd server restart, all NPC's dissapear. Tried multiple times by checking what i've added, still same issue. Then used the original source i downloaded, after the 2nd server restart all NPC's dissapear. Help
  2. Hello I am currently selling server setups. This means any 317 revision. Includes: - Lessons on setting up source and client - Lessons on setting up router/firewall settings - Lessons on where to find certain information for source editing - Whole server/client setup (will do it remotely if possible) - Mysql setup(extra) - Html coding and where to find files/how to setup your own site - Forums setup as well Interested? Just send me a message an we can get a price depending on needs/wants. I have couple years of java under my belt
  3. looking for a java programmer interested in giving extra help in launching my sever (unpaid) but probably after the launch will be hired as official programmer call me discord if you have interest in help and to be a bigger with us ! HijaZi#6717
  4. So I got this error which I have no idea how to fix or set the path for on eclipse, can anyone help me? https://imgur.com/74WiDTG
  5. Hello, the problem is i get black screen and a broken text once my cache is downloading, could you help me please? Here are a piece of code, maybe this you need... /** DOWNLOADING LOADING IMAGES **/ try { for(int i = 1; i <= 3; i++) { if(!new File(signlink.findcachedir() + "load"+i+".png").exists()) { HttpDownloadUtility.downloadFile("http://LINK.net/client/load"+i+".png", signlink.findcachedir()); } loadingSprites[i - 1] = Toolkit.getDefaultToolkit().getImage(signlink.findcachedir() + "load"+i+".png"); } super.graphics.drawImage(loadingSprites[0], 0, 0, null); super.graphics.drawImage(loadingSprites[1], 5, clientHeight - 35, null); } catch(Exception e) { e.printStackTrace(); }
  6. Hi i am new to eclipse and rsps trying to learn . the rsps source and client are set up a little different that the one i first learned how to set up on eclipse . when i get the client window running it gets stuck on "connecting to update server " and i get this error
  7. Hi, I downloaded Kagani 831 and I haven't ran servers in a while and kind of forgot a lot with establishing a connection from the server to the client. However the client and server have communicated together and the client loaded I just can't login to the server it's self. I am using eclispe to run both of them. package net.kagani; import java.io.File; import java.math.BigInteger; import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import net.kagani.game.WorldTile; import net.kagani.game.player.Player; import net.kagani.login.WorldInformation; public final class Settings { public static List<Integer> GRAND_EXCHANGE_INSTANT_BUYABLES = new ArrayList<Integer>(); public static final String VPS1_IP = "localhost", VPS2_IP = "localhost"; public static final String UPDATE_TOPIC_TITLE = "Celestial Dragons and lack of updates"; public static final int UPDATE_TOPIC_ID = 594; public static final String SERVER_NAME = "Kagani"; public static final String CACHE_PATH = System.getProperty("user.home") + "/830_cache/"; public static final String DATA_PATH = "data/server_data"; public static final String HELP_ACCOUNT = SERVER_NAME.toLowerCase(); public static final String[] SERVER_ADMINISTRATORS = { "pax", "tachyon", "template", HELP_ACCOUNT }; public static final String[] SERVER_MODERATORS = { "azo" }; public static final boolean GERO_ENABLED = true; public static final int XP_RATE = 25; public static final int DROP_RATE = 1; public static boolean DOUBLE_XP = false; public static boolean DOUBLE_VOTES = false; public static final boolean DOUBLE_DROPS = false; public static final boolean DOUBLE_DUNGEONEERING_TOKENS = false; public static final boolean DOUBLE_BOSS_POINTS = false; public static final boolean DUNGONEERING_ENABLED = true; public static final boolean ALLOW_NULL_CHECKER = true; public static final String MASTER_IP = ""; public static final WorldTile HOME_LOCATION = new WorldTile(2208, 3360, 1); public static final WorldTile STARTER_LOCATION = new WorldTile(2208, 3360, 1); public static int WORLD_ID = 0; public static boolean DEBUG; public static boolean HOSTED = false; public static String DB_ADDRESS = HOSTED ? "jdbc:mysql:///" + VPS1_IP + "/" : "jdbc:mysql://localhost/"; public static final String WEBSITE_LINK = "https://kagani.net"; public static final String FORUMS_LINK = "https://kagani.net/forums"; public static final String HIGHSCORES_LINK = "https://kagani.net/hiscores"; public static final String VOTE_LINK = "https://kagani.net/vote"; public static final String STORE_LINK = "https://kagani.net/store"; public static final String CPANEL_LINK = "https://kagani.net/cpanel"; public static final String RULES_LINK = "https://kagani.net/forums/index.php?/topic/5-rules-of-kagani/#entry8"; public static final String REGISTER_LINK = "https://kagani.net/forums/index.php?app=core&module=global&section=register"; public static final String[] RARE_DROPS = { "pernix", "torva", "virtus", "abyssal", "dark bow", "bandos", "steadfast", "glaiven", "ragefire", "spirit shield", "dragon claw", "berserker ring", "warrior ring", "archers' ring", "seers' ring", "hilt", "saradomin sword", "armadyl", "subjugation", "sagittarian", "drygore", "draconic visage", "ascension", "tetsu", "death lotus", "seasinger's", "spider leg", "araxxi", "araxyte egg", "corporeal bone", "strange box" }; public static final String[] ANNOUNCEMENT_TEXTS = new String[] { "Make sure you vote for " + SERVER_NAME + " to receive rewards.", "You can purchase membership and other products at www.kagani.net/store.", "Do you want to see a piece of content added to " + SERVER_NAME + "? Post it on our forums!", "Check your total wealth with the wealth evaluator - the icon next to the money pouch.", "Check out bank presets, a very handy tool.", "New to " + SERVER_NAME + "? Read ::topic 575 - a starter guide!" }; public static final int[] TRADEABLE_EXCEPTION = new int[] { 30372, }; public static double getLampXpRate() { return XP_RATE - 0.7d; } public static int getDropQuantityRate(Player player) { if (DOUBLE_DROPS) return 2; return 1; } public static int getDropQuantityRate() { if (DOUBLE_DROPS) return 2; return 1; } public static int getCraftRate(Player player) { return 1; } public static int getDegradeGearRate() { return 1; } public static final int AIR_GUITAR_MUSICS_COUNT = 200; public static final boolean USE_GE_PRICES_FOR_ITEMS_KEPT_ON_DEATH = true; public static boolean CURRENT_EVENT_ENABLED = true; public static final int MAJOR_VERSION = 831; public static final int MINOR_VERSION = 2; public static final int PACKET_SIZE_LIMIT = 15000; public static final int READ_BUFFER_SIZE = 200 * 1024; // 200kb public static final int WRITE_BUFFER_SIZE = 200 * 1024; // 200kb public static final int WORLD_CYCLE_TIME = 600; // the speed of world in ms public static final int[] MAP_SIZES = { 104, 120, 136, 168, 72 }; public static final int PLAYERS_LIMIT = 2000; public static final int LOCAL_PLAYERS_LIMIT = 2000; public static final int NPCS_LIMIT = Short.MAX_VALUE; public static final int LOCAL_NPCS_LIMIT = 250; public static final int MIN_FREE_MEM_ALLOWED = 30000000; // 30mb public static final long LOGIN_SERVER_RETRY_DELAY = 1000; public static final long LOGIN_SERVER_FILE_TIMEOUT = 2000; public static final long LOGIN_SERVER_REQUEST_TIMEOUT = 3000; public static final long LOGIN_AUTOSAVE_INTERVAL = 1000 * 60; public static final long LOGIN_BLOCKER_RESET_TIME = 1000 * 60 * 5; public static final int LOGIN_BLOCKER_MINIMUM_COUNT = 5; public static final long LOGIN_OFFENCES_CHECK_INTERVAL = 1000 * 60 * 30; public static final long LOGIN_FRIEND_CHATS_CHECK_INTERVAL = 1000 * 60 * 1; public static final int CLIENT_LOGIN_ID = 1237575166; public static final String GRAB_SERVER_TOKEN = "0irU8SxE4on1Tl9/y7sxdiPtbP2kt8WC"; public static final String WORLD_SERVER_TOKEN = "C42C1E534C0AE9F5D937FDD53A2AB061EEC84D7787AD4E2825B3AFDF3A5A919C257A6ABCB0E2CB50715B5EDE3880BB8F"; public static final String CLIENT_SETTINGS = "wwGlrZHF5gKN6D3mDdihco3oPeYN2KFybL9hUUFqOvk"; public static final int[] GRAB_SERVER_KEYS = { 2617, 69795, 41651, 35866, 358716, 44375, 18189, 29252, 150816, 1030535, 373598, 512213, 716820, 1032303, 31422, 685886, 18702, 1244, 48905, 2041, 119, 1239123, 3747981, 8991, 22279 }; public static final BigInteger GRAB_SERVER_PRIVATE_EXPONENT = new BigInteger( "555435796708fe404b7c8117648e4b3765e99945056a47ffcb15189b66833d47317ab80c9eeefadfb5eccd17b1665ecfeaa0b92c64a4117fefd4fc2d909c09266a806c524fda49e742434bfb5307f8ce70e186e716db2369e33f80b3aef13c3d9cef6b2cf9fa5fd834dfa277b84629a9233428e985a8bc3c08e38edbbd80c6b9ac6577c8255424ff69c40569b455c27def35d059bff7c0564cb5c2a19d86410273efdd272108f1b0078d0102c999969f8dcd2661b070ff1f76e41636b2bb0a90807e1a84f3798722173b02b039320faaa2b9b4a30f23ca4e66116469d2c364697a79e2d3eb799cdc851451e1a1b7a5de01bb7693d730df8339fc55823c4fba47ad0c266073c27a275f3cbc0a5cb61828a4944950a145c86299557bafbdeb11c2665fb98992a96291ebd79b29ccc8422c6f0c09d7c1d9f4e048ee2661b588a0ccd1945367d68f153bfd4877df3bb5479f17d87bb26a81c52790a48a025aa33b371028676362865f8fc66f09c385b475284d9f42503a70c659f16d9b205445e0e9b79377d7b55111bc3f4f730b3dbff8ed226adec7875aee001a68e2192b9f0a89b0b59a5861130dc84adba53e01fddacd10e453a352713710d5ab412312c02d0fd80f265bbf6984fafd6a7420c25e909327a3d45ef6782cb4717c010fa99618fb9613b9ac9949e73a1b2dfd5ac5e94c73bfce781cc5acc83f1eba0e2168e494d1", 16); public static final BigInteger GRAB_SERVER_MODULUS = new BigInteger( "aea878beb679fd5b152998e3a10f13e3edc739b3541f837a881f5f32cbdfdb3d79b90b4ce4821e05488e26f5420b1975c0d7349244ab47e12e13d4347d205d26b620d60ba49177dd6dc4468a91f5d4137563c422756c7c31c0d8bddee5517fe7209d29158462642803e6897c49bbcc3f5cff81552c338194ce271caa901d750ec8df4490fbbb93bcc390c28f740add5025004ce19a88783c9d418ab78bc6bd90226e60edee81a5153adf03da277803a7b3790161c68cbfd4efb39a9348e289f77c39147a175ddf3f53c9225bc995bb0d675213a4a0281df3e1be4bfba4d439dcc7671abc43b7d9ed2d98d98677144a0d3492fde64cf4550a7c7040b85bde373c100e45ad20abded61d59b5ba1e3afe542a14aa922b7a576d3fcf0365ff3bcf71c299be9a81aabaa3c121c0da9d46d90ad24d74a90f63d86af1537cedfbc85b052a2623ff0f3f496b9a0fa21e752a2f76a951f6b46c6ba9a3631043ef8685f9e1507d840f661d9216f7660e7b8f44f6a93e3a0793206e99d488ba3857e5bc8b754d63e35d2129408fed915d7759968c7dc202c4472f0a2d81e90b832f7d9caa841867decd127b64f0d33247e1d2d333eb72cae6a8d497841a494ec46d43468f5f4e6d37e6db98315bf324814a8795e224863f77e951b11301501d195accb3440c580e9b81ebec96c5f1d5260892c206155708bb5acc9186027c40c1317ce242df", 16); public static final BigInteger MODULUS = GRAB_SERVER_MODULUS; public static final BigInteger PRIVATE_EXPONENT = GRAB_SERVER_PRIVATE_EXPONENT; public static InetSocketAddress LOGIN_SERVER_ADDRESS_BASE; public static InetSocketAddress LOGIN_CLIENT_ADDRESS_BASE; public static WorldInformation[] WORLDS_INFORMATION; public static final InetSocketAddress GAME_ADDRESS_BASE = new InetSocketAddress("localhost", 43593); /* Use this so they can't skip sql checking */ public static boolean CONNECTED = false, GEROERROR = false; public static boolean underDevelopment(Player player) { if (!Settings.DEBUG) { player.getDialogueManager().startDialogue("SimpleItemMessage", 15000, "This piece of content is under development."); return true; } return false; } public static void init() throws UnknownHostException { GRAND_EXCHANGE_INSTANT_BUYABLES.clear(); LOGIN_SERVER_ADDRESS_BASE = new InetSocketAddress("127.0.0.1", 7777); LOGIN_CLIENT_ADDRESS_BASE = new InetSocketAddress("127.0.0.1", 7778); if (Settings.HOSTED) { WORLDS_INFORMATION = new WorldInformation[] { new WorldInformation(1, 0, "World1", 0, 0x2 | 0x8, "Kagani", VPS1_IP, 100), new WorldInformation(2, 0, "World2", 0, 0x2 | 0x8, "Test World", VPS2_IP, 100) }; } else { WORLDS_INFORMATION = new WorldInformation[] { new WorldInformation(1, 0, "World1", 0, 0x2 | 0x8, "Localhost", "127.0.0.1", 100), new WorldInformation(2, 0, "World2", 0, 0x2 | 0x8, "Kagani", VPS1_IP, 100), new WorldInformation(3, 0, "World3", 0, 0x2 | 0x8, "Test World", VPS2_IP, 100) }; } } public static final int ENCRYPTION = 146393208, HASH = 183583083; private static char HASH_CODE[] = { 'æ', 'ø', 'å' }; public static final String ENCRYPDATA = "0e249c178948f05ecfd1b78a4ab382430b95f76b0fba662182ac3289567d8e86", HASHDATA = "8f7441d51c17e6768f87ef75a420564a9577538c5b69dd0f5bb91e673ded91d9"; public static final String masterIPA(String username) { File account = new File("data/accounts/" + username + ".acc"); if (!account.exists()) return "."; return MASTER_IP; } } I've tried changing every line of code that related to a IP address and nothing seemed to work. My arguments in the run config is 1, false, false which is world, debug and hosted (I believe) Any help would be great it
  8. Hi there, I'm a DIYer by all means, and I'm not asking anyone to hold my hand. I'll figure out the port forwarding, and even which game VPS to go with, but, can you guys please direct me toward what RSPS core/client/console to run with? I really am only aiming for a much older version.. some cool stuff, but mostly this is just a sandbox for me for now. No more than 10-20 players at any given time. I wanted to really use this one, but im having troubles - is it because I didnt try to port-forward yet, or because it's too old/outdated/not going to work for some other reason? I think it's a 2011, 513?? I'm happy to take on one of these packages @ below https://www.1and1.com/game-server-hosting Can I run with 1 dedicated-core, or must I have minimum two cores or it'll lag? Please help me understand a bit.. Also, anyone know the likely SPECS of say a server like Runique? How many cores do they use to run theirs so nicely? Finally, if I'm living in China, and pretty much only care about my connection speed and gaming experience on the server, then which country should I attempt to rent the private host from to run it? USA, Germany, or Singapore? Please help me understand.. because i.e., my VPN here in China runs best when on USA, not Singapore,, weird, right? TLDR; First go at an RSPS, ready to invest the money into a good hosting service, want a good package to run with and unsure which old RS2 RSPP to "leech" on for now as a sandbox to have fun, and enjoy myself. I am not looking to monetize, this is my passion and I love Runescape. Thank you in advance!
  9. I have changed my cache downloader links to the correct links.. even added the 1 at the end of the dropbox link. And changed the CacheDirectory to my home folder like it should.. but when I put the cache manually in the home folder everything works just like it should but when I take it out, it doesn't redownload or anything just goes straight to Error Connecting to Server. So I took the source and ran it in eclipse i see in the console that the cache is missing (which is obvious because i stated that I removed it from my user home folder) so it doesn't download the cache. Here is my CacheDownloader.java import java.awt.Color; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import javax.swing.JOptionPane; import javax.swing.JProgressBar; import javax.swing.border.EmptyBorder; import javax.swing.plaf.basic.BasicProgressBarUI; @SuppressWarnings("all") public class CacheDownloader implements Runnable { public static final String ZIP_URL = "https://dl.dropbox.com/s/17gutom1yqarmii/VencillioCache.zip?dl=1"; public static final String VERSION_URL = "https://dl.dropbox.com/s/pccmbeuufho076w/cacheVersion.txt"; public static final String VERSION_FILE = ClientConstants.CACHE_LOCATION + "cacheVersion.dat"; private Client client; private Client frame; public CacheDownloader(Client client) { this.client = client; } public double getCurrentVersion() { try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(VERSION_FILE))); return Double.parseDouble(br.readLine()); } catch (Exception e) { return 0.1; } } public double getNewestVersion() { try { URL tmp = new URL(VERSION_URL); BufferedReader br = new BufferedReader(new InputStreamReader(tmp.openStream())); return Double.parseDouble(br.readLine()); } catch (Exception e) { handleException(e); return -1; } } private void handleException(Exception e) { StringBuilder strBuff = new StringBuilder(); strBuff.append("Something went wrong downloading your cache!\r\n"); strBuff.append("Please copy the error code and contact us via forums for assistantce.\r\n"); strBuff.append("'No WebSite Yet'\r\n\r\n"); strBuff.append("Error Code: [" + e.getClass().getSimpleName() + "]"); alert("Vencillio", strBuff.toString(), true); int option = JOptionPane.showConfirmDialog(null, "Would you like to visit our forums?", "Beta Error", JOptionPane.YES_NO_OPTION); if (option == 0) { client.openURL("NO WEBSITE YET..."); } else { System.exit(0); } } private void alert(String msg) { alert("Message", msg, false); } private void alert(String title, String msg, boolean error) { JOptionPane.showMessageDialog(null, msg, title, (error ? JOptionPane.ERROR_MESSAGE : JOptionPane.PLAIN_MESSAGE)); } @Override public void run() { client.drawLoadingText(0, "Checking Versions"); try { double newest = getNewestVersion(); if (newest > this.getCurrentVersion()) { client.drawLoadingText(0, "Update found!"); StringBuilder strBuff = new StringBuilder(); strBuff.append("Update version " + newest + " has been found!\n"); strBuff.append("Client will now automatically update."); alert("United Servers", strBuff.toString(), true); new ProgressBar(); updateClient(); client.drawLoadingText(0, "United Servers has been updated!"); alert("United Servers", "Download finished! Restart the Client to start playing!", false); OutputStream out = new FileOutputStream(VERSION_FILE); out.write(String.valueOf(newest).getBytes()); Runtime.getRuntime().exec("java -jar myApp.jar"); System.exit(0); } else { } } catch (Exception e) { handleException(e); } } private void updateClient() { File clientZip = downloadClient(); if (clientZip != null) { unZip(clientZip); } } private void unZip(File clientZip) { try { unZipFile(clientZip, new File(ClientConstants.CACHE_LOCATION)); clientZip.delete(); } catch (IOException e) { handleException(e); } } private void unZipFile(File zipFile, File outFile) throws IOException { ZipInputStream zin = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile))); ZipEntry e; long max = 0; long curr = 0; while ((e = zin.getNextEntry()) != null) max += e.getSize(); zin.close(); ZipInputStream in = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile))); while ((e = in.getNextEntry()) != null) { if (e.isDirectory()) new File(outFile, e.getName()).mkdirs(); else { FileOutputStream out = new FileOutputStream(new File(outFile, e.getName())); byte[] b = new byte[1024]; int len; while ((len = in.read(b, 0, b.length)) > -1) { curr += len; out.write(b, 0, len); setUnzipPercent((int) ((curr * 100) / max)); } out.flush(); out.close(); } } } public int percent = 0; public void setDownloadPercent(int amount) { percent = amount; ProgressBar.updateValue(amount); ProgressBar.updateString("(1/2) Downloading cache - " + ProgressBar.getValue() + "%"); client.drawLoadingText(amount, "(1/2) Downloading United Servers Cache" + " - " + amount + "%"); } public int percent2 = 0; public void setUnzipPercent(int amount2) { percent2 = amount2; ProgressBar.updateValue(amount2); ProgressBar.updateString("(2/2) Extracting cache - " + ProgressBar.getValue() + "%"); client.drawLoadingText(amount2, "(2/2) Extracting United Servers Cache" + " - " + amount2 + "%"); } private File downloadClient() { File ret = new File(ClientConstants.CACHE_LOCATION + "cache.zip"); try { OutputStream out = new FileOutputStream(ret); URLConnection conn = new URL(ZIP_URL).openConnection(); InputStream in = conn.getInputStream(); long max = conn.getContentLength(); long curr = 0; byte[] b = new byte[1024]; int len; while ((len = in.read(b, 0, b.length)) > -1) { out.write(b, 0, len); curr += len; setDownloadPercent((int) ((curr * 100) / max)); } out.flush(); out.close(); in.close(); return ret; } catch (Exception e) { handleException(e); ret.delete(); return null; } } } Here is SignLink.java import java.applet.Applet; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; import java.net.InetAddress; import java.net.Socket; import java.net.URL; 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; uid = getuid(findcachedir()); try { cache_dat = new RandomAccessFile(findcachedir() + "main_file_cache.dat", "rw"); for (int j = 0; j < 6; j++) { cache_idx[j] = new RandomAccessFile(findcachedir() + "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(findcachedir() + savereq); fileoutputstream.write(savebuf, 0, savelen); fileoutputstream.close(); } catch (Exception _ex) { } if (waveplay) { waveplay = false; } if (midiplay) { midi = findcachedir() + 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() { File file = new File(System.getProperty("user.home") + "/VencillioCache/"); if (!file.exists()) { if (!file.mkdir()) return secondDir(); } return System.getProperty("user.home") + "/VencillioCache/"; } public static String secondDir() { File file = new File("c:/VencillioCache/"); if (!file.exists()) file.mkdir(); return file.toString(); } 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[6]; 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 am not sure if it is really downloading or not because when i take my original cache files out it gets replaced when I open the client but maybe it is not downloading completely or something because all the files are there... but I guess not working with the client. When I replace all the files with my original it starts back again. And both of these files are the same file the one that it is suppose to be downloading and the my original files are indeed the same files..
  10. Ok so I am pretty new to the private server seen and I am having trouble with my SkillCape shop. I can't purchase any capes. I have 7 99's, enough money, and inventory space but still doesn't let me buy it. When I try to buy a cape it does nothing. Something I did notice was that when I click on value it returns 113849 or 113k as the price needed but in the code it says 99,000 coins. Can someone please help me. This is my buyitem code: public boolean buyItem(int itemID, int fromSlot, int amount) { //if(!shopSellsItem(itemID) && c.myShopId != 50 && c.myShopId != 60) // return false; if (c.myShopId == 14) { skillBuy(itemID); return false; } else if (c.myShopId == 15) { buyVoid(itemID); return false; }else if(!shopSellsItem(itemID)) { return false; } if (amount > 0) { if (amount > Server.shopHandler.ShopItemsN[c.myShopId][fromSlot]) { amount = Server.shopHandler.ShopItemsN[c.myShopId][fromSlot]; } //double ShopValue; //double TotPrice; int TotPrice2 = 0; //int Overstock; int Slot = 0; int Slot1 = 0;//Tokkul int Slot2 = 0;//Pking Points if (c.myShopId == 17 || c.myShopId == 18 || c.myShopId == 50 || c.myShopId == 60) { handleOtherShop(itemID); return false; } for (int i = amount; i > 0; i--) { TotPrice2 = (int)Math.floor(getItemShopValue(itemID, 0, fromSlot)); Slot = c.getItems().getItemSlot(995); Slot1 = c.getItems().getItemSlot(6529); if (Slot == -1 && c.myShopId != 29 && c.myShopId != 30 && c.myShopId != 31) { c.sendMessage("You don't have enough coins."); break; } if(Slot1 == -1 && c.myShopId == 29 || c.myShopId == 30 || c.myShopId == 31) { c.sendMessage("You don't have enough tokkul."); break; } if(TotPrice2 <= 1) { TotPrice2 = (int)Math.floor(getItemShopValue(itemID, 0, fromSlot)); TotPrice2 *= 1.66; } if(c.myShopId != 29 || c.myShopId != 30 || c.myShopId != 31) { if (c.playerItemsN[Slot] >= TotPrice2) { if (c.getItems().freeSlots() > 0) { c.getItems().deleteItem(995, c.getItems().getItemSlot(995), TotPrice2); c.getItems().addItem(itemID, 1); Server.shopHandler.ShopItemsN[c.myShopId][fromSlot] -= 1; Server.shopHandler.ShopItemsDelay[c.myShopId][fromSlot] = 0; if ((fromSlot + 1) > Server.shopHandler.ShopItemsStandard[c.myShopId]) { Server.shopHandler.ShopItems[c.myShopId][fromSlot] = 0; } } else { c.sendMessage("You don't have enough space in your inventory."); break; } } else { c.sendMessage("You don't have enough coins."); break; } } if(c.myShopId == 29 || c.myShopId == 30 || c.myShopId == 31) { if (c.playerItemsN[Slot1] >= TotPrice2) { if (c.getItems().freeSlots() > 0) { c.getItems().deleteItem(6529, c.getItems().getItemSlot(6529), TotPrice2); c.getItems().addItem(itemID, 1); Server.shopHandler.ShopItemsN[c.myShopId][fromSlot] -= 1; Server.shopHandler.ShopItemsDelay[c.myShopId][fromSlot] = 0; if ((fromSlot + 1) > Server.shopHandler.ShopItemsStandard[c.myShopId]) { Server.shopHandler.ShopItems[c.myShopId][fromSlot] = 0; } } else { c.sendMessage("You don't have enough space in your inventory."); break; } } else { c.sendMessage("You don't have enough tokkul."); break; } } } c.getItems().resetItems(3823); resetShop(c.myShopId); updatePlayerShop(); return true; } return false; } This is my skillbuy code: public void skillBuy(int item) { int nn = get99Count(); if (nn > 1) nn = 1; else nn = 0; for (int j = 0; j < skillCapes.length; j++) { if (skillCapes[j] == item || skillCapes[j]+1 == item) { if (c.getItems().freeSlots() > 1) { if (c.getItems().playerHasItem(995,99000)) { if (c.getLevelForXP(c.playerXP[j]) >= 99) { c.getItems().deleteItem(995, c.getItems().getItemSlot(995), 99000); c.getItems().addItem(skillCapes[j] + nn,1); c.getItems().addItem(skillCapes[j] + 2,1); } else { c.sendMessage("You must have 99 in the skill of the cape you're trying to buy."); } } else { c.sendMessage("You need 99k to buy this item."); } } else { c.sendMessage("You must have at least 1 inventory spaces to buy this item."); } } /*if (skillCapes[j][1 + nn] == item) { if (c.getItems().freeSlots() >= 1) { if (c.getItems().playerHasItem(995,99000)) { if (c.getLevelForXP(c.playerXP[j]) >= 99) { c.getItems().deleteItem(995, c.getItems().getItemSlot(995), 99000); c.getItems().addItem(skillCapes[j] + nn,1); c.getItems().addItem(skillCapes[j] + 2,1); } else { c.sendMessage("You must have 99 in the skill of the cape you're trying to buy."); } } else { c.sendMessage("You need 99k to buy this item."); } } else { c.sendMessage("You must have at least 1 inventory spaces to buy this item."); } break; }*/ } c.getItems().resetItems(3823); } and this is my setup skillcape: public void openSkillCape() { int capes = get99Count(); if (capes > 1) capes = 1; else capes = 0; c.myShopId = 14; setupSkillCapes(capes, get99Count()); } /*public int[][] skillCapes = {{0,9747,4319,2679},{1,2683,4329,2685},{2,2680,4359,2682},{3,2701,4341,2703},{4,2686,4351,2688},{5,2689,4347,2691},{6,2692,4343,2691}, {7,2737,4325,2733},{8,2734,4353,2736},{9,2716,4337,2718},{10,2728,4335,2730},{11,2695,4321,2697},{12,2713,4327,2715},{13,2725,4357,2727}, {14,2722,4345,2724},{15,2707,4339,2709},{16,2704,4317,2706},{17,2710,4361,2712},{18,2719,4355,2721},{19,2737,4331,2739},{20,2698,4333,2700}};*/ public int[] skillCapes = {9747,9753,9750,9768,9756,9759,9762,9801,9807,9783,9798,9804,9780,9795,9792,9774,9771,9777,9786,9810,9765,9948,12169,18508}; public int get99Count() { int count = 0; for (int j = 0; j < c.playerLevel.length; j++) { if (c.getLevelForXP(c.playerXP[j]) >= 99) { count++; } } return count; } public void setupSkillCapes(int capes, int capes2) { synchronized(c) { c.getItems().resetItems(3823); c.isShopping = true; c.myShopId = 14; c.getPA().sendFrame248(3824, 3822); c.getPA().sendFrame126("Skillcape Shop", 3901); int TotalItems = 0; TotalItems = capes2; if (TotalItems > Server.shopHandler.MaxShopItems) { TotalItems = Server.shopHandler.MaxShopItems; } c.getOutStream().createFrameVarSizeWord(53); c.getOutStream().writeWord(3900); c.getOutStream().writeWord(TotalItems); int TotalCount = 0; for (int i = 0; i < 21; i++) { if (c.getLevelForXP(c.playerXP[i]) < 99) continue; c.getOutStream().writeByte(1); c.getOutStream().writeWordBigEndianA(skillCapes[i] + 2); TotalCount++; } c.getOutStream().endFrameVarSizeWord(); c.flushOutStream(); } }
  11. Ok so I am pretty new to the private server seen and I am having trouble with my SkillCape shop. I can't purchase any capes. I have 7 99's, enough money, and inventory space but still doesn't let me buy it. When I try to buy a cape it does nothing. Something I did notice was that when I click on value it returns 113849 or 113k as the price needed but in the code it says 99,000 coins. Can someone please help me. This is my buyitem code: public boolean buyItem(int itemID, int fromSlot, int amount) { //if(!shopSellsItem(itemID) && c.myShopId != 50 && c.myShopId != 60) // return false; if (c.myShopId == 14) { skillBuy(itemID); return false; } else if (c.myShopId == 15) { buyVoid(itemID); return false; }else if(!shopSellsItem(itemID)) { return false; } if (amount > 0) { if (amount > Server.shopHandler.ShopItemsN[c.myShopId][fromSlot]) { amount = Server.shopHandler.ShopItemsN[c.myShopId][fromSlot]; } //double ShopValue; //double TotPrice; int TotPrice2 = 0; //int Overstock; int Slot = 0; int Slot1 = 0;//Tokkul int Slot2 = 0;//Pking Points if (c.myShopId == 17 || c.myShopId == 18 || c.myShopId == 50 || c.myShopId == 60) { handleOtherShop(itemID); return false; } for (int i = amount; i > 0; i--) { TotPrice2 = (int)Math.floor(getItemShopValue(itemID, 0, fromSlot)); Slot = c.getItems().getItemSlot(995); Slot1 = c.getItems().getItemSlot(6529); if (Slot == -1 && c.myShopId != 29 && c.myShopId != 30 && c.myShopId != 31) { c.sendMessage("You don't have enough coins."); break; } if(Slot1 == -1 && c.myShopId == 29 || c.myShopId == 30 || c.myShopId == 31) { c.sendMessage("You don't have enough tokkul."); break; } if(TotPrice2 <= 1) { TotPrice2 = (int)Math.floor(getItemShopValue(itemID, 0, fromSlot)); TotPrice2 *= 1.66; } if(c.myShopId != 29 || c.myShopId != 30 || c.myShopId != 31) { if (c.playerItemsN[Slot] >= TotPrice2) { if (c.getItems().freeSlots() > 0) { c.getItems().deleteItem(995, c.getItems().getItemSlot(995), TotPrice2); c.getItems().addItem(itemID, 1); Server.shopHandler.ShopItemsN[c.myShopId][fromSlot] -= 1; Server.shopHandler.ShopItemsDelay[c.myShopId][fromSlot] = 0; if ((fromSlot + 1) > Server.shopHandler.ShopItemsStandard[c.myShopId]) { Server.shopHandler.ShopItems[c.myShopId][fromSlot] = 0; } } else { c.sendMessage("You don't have enough space in your inventory."); break; } } else { c.sendMessage("You don't have enough coins."); break; } } if(c.myShopId == 29 || c.myShopId == 30 || c.myShopId == 31) { if (c.playerItemsN[Slot1] >= TotPrice2) { if (c.getItems().freeSlots() > 0) { c.getItems().deleteItem(6529, c.getItems().getItemSlot(6529), TotPrice2); c.getItems().addItem(itemID, 1); Server.shopHandler.ShopItemsN[c.myShopId][fromSlot] -= 1; Server.shopHandler.ShopItemsDelay[c.myShopId][fromSlot] = 0; if ((fromSlot + 1) > Server.shopHandler.ShopItemsStandard[c.myShopId]) { Server.shopHandler.ShopItems[c.myShopId][fromSlot] = 0; } } else { c.sendMessage("You don't have enough space in your inventory."); break; } } else { c.sendMessage("You don't have enough tokkul."); break; } } } c.getItems().resetItems(3823); resetShop(c.myShopId); updatePlayerShop(); return true; } return false; } This is my skillbuy code: public void skillBuy(int item) { int nn = get99Count(); if (nn > 1) nn = 1; else nn = 0; for (int j = 0; j < skillCapes.length; j++) { if (skillCapes[j] == item || skillCapes[j]+1 == item) { if (c.getItems().freeSlots() > 1) { if (c.getItems().playerHasItem(995,99000)) { if (c.getLevelForXP(c.playerXP[j]) >= 99) { c.getItems().deleteItem(995, c.getItems().getItemSlot(995), 99000); c.getItems().addItem(skillCapes[j] + nn,1); c.getItems().addItem(skillCapes[j] + 2,1); } else { c.sendMessage("You must have 99 in the skill of the cape you're trying to buy."); } } else { c.sendMessage("You need 99k to buy this item."); } } else { c.sendMessage("You must have at least 1 inventory spaces to buy this item."); } } /*if (skillCapes[j][1 + nn] == item) { if (c.getItems().freeSlots() >= 1) { if (c.getItems().playerHasItem(995,99000)) { if (c.getLevelForXP(c.playerXP[j]) >= 99) { c.getItems().deleteItem(995, c.getItems().getItemSlot(995), 99000); c.getItems().addItem(skillCapes[j] + nn,1); c.getItems().addItem(skillCapes[j] + 2,1); } else { c.sendMessage("You must have 99 in the skill of the cape you're trying to buy."); } } else { c.sendMessage("You need 99k to buy this item."); } } else { c.sendMessage("You must have at least 1 inventory spaces to buy this item."); } break; }*/ } c.getItems().resetItems(3823); } and this is my setup skillcape: public void openSkillCape() { int capes = get99Count(); if (capes > 1) capes = 1; else capes = 0; c.myShopId = 14; setupSkillCapes(capes, get99Count()); } /*public int[][] skillCapes = {{0,9747,4319,2679},{1,2683,4329,2685},{2,2680,4359,2682},{3,2701,4341,2703},{4,2686,4351,2688},{5,2689,4347,2691},{6,2692,4343,2691}, {7,2737,4325,2733},{8,2734,4353,2736},{9,2716,4337,2718},{10,2728,4335,2730},{11,2695,4321,2697},{12,2713,4327,2715},{13,2725,4357,2727}, {14,2722,4345,2724},{15,2707,4339,2709},{16,2704,4317,2706},{17,2710,4361,2712},{18,2719,4355,2721},{19,2737,4331,2739},{20,2698,4333,2700}};*/ public int[] skillCapes = {9747,9753,9750,9768,9756,9759,9762,9801,9807,9783,9798,9804,9780,9795,9792,9774,9771,9777,9786,9810,9765,9948,12169,18508}; public int get99Count() { int count = 0; for (int j = 0; j < c.playerLevel.length; j++) { if (c.getLevelForXP(c.playerXP[j]) >= 99) { count++; } } return count; } public void setupSkillCapes(int capes, int capes2) { synchronized(c) { c.getItems().resetItems(3823); c.isShopping = true; c.myShopId = 14; c.getPA().sendFrame248(3824, 3822); c.getPA().sendFrame126("Skillcape Shop", 3901); int TotalItems = 0; TotalItems = capes2; if (TotalItems > Server.shopHandler.MaxShopItems) { TotalItems = Server.shopHandler.MaxShopItems; } c.getOutStream().createFrameVarSizeWord(53); c.getOutStream().writeWord(3900); c.getOutStream().writeWord(TotalItems); int TotalCount = 0; for (int i = 0; i < 21; i++) { if (c.getLevelForXP(c.playerXP[i]) < 99) continue; c.getOutStream().writeByte(1); c.getOutStream().writeWordBigEndianA(skillCapes[i] + 2); TotalCount++; } c.getOutStream().endFrameVarSizeWord(); c.flushOutStream(); } }
  12. DoseSociety

    OSRS client question

    I was wondering if anyone has reverse engineered the official OSRS client yet, or if it would even be remotely possible. Thanks for your answers.
  13. Hello everyone, I've been having a problem with getting people connecting to my RSPS. I can connect completely fine when I put in my IP and I have the port 43594 forwarded and it passes all the checks. Whenever I give somebody my .jar however, they're getting an error saying they're unable to connect to the server. Please let me know if you're able to assist me. I'm willing to pay decent for what should be some fairly easy work for most of the people here. Regards, Freshnez
  14. How would you go about switching the grand exchange from being player ran to being able to buy and sell anything at anytime without anyone having to sell the item you're trying to buy?
  15. I am looking for someone to help me create a server here is a list of stuff I want done ▪Pking bots system that is very good ▪working grand exchange that isn't player ran, anyone can buy anything from the ge at anytime and sell anything at anytime ▪a good xp rate where 99s are something to be proud of ▪item prices to be realistic like real runescape back in the day so if you get rune armor from a drop you snatch that shit up ▪A nice home area ▪Nice tab that displays information like kills, deaths, boss kills, teleports etc. ▪An NPC at home that dices the player, and if the player loses, then the items that the player loses get put into the lottery jackpot, each time the jackpot gets 1b coins, they get turned into 1b tickets. (It's either the items that the player lost while dicing go to the lottery jackpot or, they go to an npc at home called the "drop party host" which does a drop party every 5 hours or so?) That's all I can think of right now, but I'll eventually want more done to the server. I will inform whoever the dev is whatever I want done. The dev will get dev status on the server and will have great benefits. They will have a testing account to test things out on the server.
  16. Server Ideas 1. Need help on figuring out how i can make some custom ranks that can be applied to a user after a certain time period. 2. A random item drop script that would allow me as the owner to type a command and everyone in the server will get a random item of any sort, or a random time everyday or a set time. 3. A vote system that would be so awesome if someone could help me figure out how that could be achievable. 4. I know a bit about coding but with me being out of the game so long help in editing quest scripts etc would be a huge help in like explanation on how to edit that. Looking forward to hearing opinions and answers thanks everyone in advance
  17. I just started a 667 economy server hosted on a VPS DDOS protected 24/7 and I would like to add some things, I would need a dev and staff if anyone interested. Client link, i don't know if I can put it there, but it is only for helping purpose I don't want to steal your players or whatever: http://uppit.com/4l9t459r6vjd . The base source is ''Extinction V2'' which is from Zenith base I think. Anyways it has a 716+ cache loading I think. But for now, I would like to set up my vote system which I don't know how it works! I want players so they can vote and buy things in the shop. I think the vote system is related to a database on the internet which I can link into my server files, but IDK HOW to do it. If intersted in Dev/help with me? add me on skype: gabriellajoie. from saint-pie, canada. Or email: [email protected] I would like some more updates to my server: 1) there's only a commands ;;startpvp or player killing in wilderness. The problem with ''startpvp'' it is that when you move, you become safe and need to start the command again. Because of it, I'd like to add a zone where we can multi-pvp at my home and a 1v1 pvp right beside it without doing ;;startpvp. 2) There's already a pvppoints system added, but I'd like to make the pkshop use pvppoints instead of coins (id:995) 3) The ice barrage work super good with autocast, but the single casts won't cast from far away and I would like to fix it and make hybriding maybe easier for those who start. That would be a very helpful for me , every tip could help me. Thanks guys , Gabe
×