RECENT NEWS
📢 𝟑𝟎% Discount for all ads only this month ❄️

870 Client [JAVA]

BlueFace
power_settings_new
Seen 3 months ago
Rune Warrior (36/40)
Rune Warrior
0
0
0
36 Posts
Posts
0
Warning level
2
Likes
0
Dislikes
Joined: 2022-04-25

Welcome!


 

I took my time to renamed and identify quite a few packets for the 870 revision and converted Virtue 865 to 870, I will not share this but ill give you the basic start below there is a client and cache that will connect to the source, also the constants class needs to be replaced with the one posted RSA's completed, Isaac disabled, and JS5 completed. I don't care to read any bitching about this I wont even reply to negitive comments, thanks !

Downloads

I highlighted in red the cache directory so don't ask!

Replace your constants class with this:

Code:
package org.virtue;

import java.io.File;
import java.math.BigInteger;

import org.virtue.game.world.region.Tile;

/**
 * @author Im Frizzy <skype:kfriz1998>
 * @author Kayla
 * @since Aug 8, 2014
 */
public class Constants {

	/**
	 * The Framework Name & Server Name
	 */
	public static final String FRAME_NAME = "ZRS3";

	/**
	 * The Framework Version
	 */
	public static final double FRAME_VERSION = 1.0;

	/**
	 * The Framework Major Revision
	 */
	public static final int FRAME_MAJOR = 870;

	/**
	 * The Framework Minor Revision
	 */
	public static final int FRAME_MINOR = 1;

	/**
	 * The interval between maintenance thread cycles, in minutes The
	 * maintenance thread is responsible for auto-saving player data and the
	 * account index, and for performing cleanup operations
	 */
	public static final int MAINTANANCE_INTERVAL = 1;

	/**
	 * Represents the initial server day. This is a day determined by Jagex, a
	 * few months prior to the release of RS2.
	 */
	public static final int SERVER_DAY_INITIAL = 11745;

	/**
	 * The number of ticks before a ground item is destroyed, after being
	 * dropped
	 */
	public static final int ITEM_REMOVAL_DELAY = 300;

	/**
	 * The number of ticks where the player is inactive before they are
	 * automatically logged out NB: 100 ticks = 1 minute
	 */
	public static final int KICKOUT_TIME = 500;

	/**
	 * The rate to multiply all xp gains by, where 1 is the normal RuneScape
	 * rate
	 */
	public static final float GLOBAL_XP_MULTIPLYER = 100;

	/**
	 * This option will disable off-hand weapons to make pre-eoc more
	 * reallistic.
	 */
	public static final boolean legacyOnly = false;

	/**
	 * Whether or not to lead GE Prices from a JSON File
	 */
	public static final boolean CUSTOM_GE_PRICES = true;

	/**
	 * The Start spawn location
	 */
	public static final Tile START_TILE = new Tile(3210, 3256, 0);

	/**
	 * The Death Spawn Location
	 */
	public static final Tile RESPAWN_TILE = new Tile(3210, 3256, 0);

	/**
	 * The Cache Repository
	 */
	public static final String CACHE_REPOSITORY = System.getProperty("user.home") + "/Desktop/870/";

	/**
	 * The packed npc extra data, which includes descriptions and animations
	 */
	public static final File NPC_DATA = new File("./repository/npc_data_861.dat");

	/**
	 * The packed item extra data, which includes descriptions and weights
	 */
	public static final File ITEM_DATA = new File("./repository/item_data_863.dat");

	/**
	 * The OnDemand Delta Keys
	 */
	public static final int[] ONDEMAND_DELTA = { 3266, 69795, 41651, 35866, 358716, 44375, 18239, 21352, 197682,
			1120968, 440333, 573123, 867286, 1197899, 36155, 848669, 1496, 20804, 1244, 68635, 2191, 119, 1395361,
			4358129, 9007, 233094 };

	/**
	 * The OnDemand Session Token
	 */
	private static final String ONDEMAND_TOKEN = "TQjJ-UpOg16SwJV4J5f0otL9ugP9DTYP";

	public static String getJs5Token() {
		return Virtue.getInstance().getProperty("js5.token", ONDEMAND_TOKEN);
	}

	/**
	 * The Login Session Token
	 */
	private static final String LOGIN_TOKEN = "Ymi9Liy-EKAQPDzvIFDOawIZao205SgIjSoemJvZ5wo";

	public static String getLoginToken() {
		return Virtue.getInstance().getProperty("login.token", LOGIN_TOKEN);
	}

	public static final int SERVER_PORT = 43594;

	public static BigInteger getLoginModulus() {
		return new BigInteger(Virtue.getInstance().getProperty("login.modulus", LOGIN_MODULUS));
	}

	public static BigInteger getLoginKey() {
		return new BigInteger(Virtue.getInstance().getProperty("login.key", LOGIN_EXPONENT));
	}

	/**
	 * The OnDemand Modulus RSA Key
	 */
	public static final String ONDEMAND_MODULUS = ("648611983641931518592507102920630725364444495797385710071981896211305864601833847344392678853352750024375070155601522633358546443791683486361716896513235622529516803203985898366892156313458651193529135568073533079814964111033967012196470511303201213412106675392944840975249896605240193566827178082016634391054084148230818131940477889728067283435543818043298218215721910385759153993854080499189495783107972950500592938814959583022769652592571950088124937715863669569710478048367244794683833441653390472364135332100590938152323958543121717038715459487640033090988785437753227715272079876435484697369556055502150863470925581459958154972956926503454579571659010707336885419988761779687666010929061608175088999411761452333605663206035500778760825444803874892368407555038018829329647089504877610664562906989865637264972217235713676538114194762879032636623695005373947745445641054359086521646902302244645656885523683224275963690677195634431600057273571785756158105972170362074317801238533215544975881331464601239301373475377313983735488042929254859632435771423766875767309712058180990484527973160337109862539462807697723116882743738952212680820456054821778058958847812156773337268948498557396841626905011406830533624859455627918797629512379");

	/**
	 * The OnDemand Exponent RSA Key
	 */
	public static final String ONDEMAND_EXPONENT = ("57728515198794368798542715280468117567951000869526387336159274922571175186879119147349474277913340416744431149085610899497694453616077784700976466078119282027170476419257057008622334677760720088070180932428596341830732039300870189086195774790295141337455456270000873665389515035756382639963729339951524000229160212347686988473821009975797129320529274923273242700341881735205046694937986962353667835007229598856675749761320463978696238515227614704121835935374411166213302690939868149097316027055926066577658443202202525935616608178311930291084841771692392282523423187793377439662817063937137529025689617647192364414385937711534382510193307855078540955587599898317114986469551089903972918905934678363034131355100988704552677742275249041185304181641827331869618603077269369673704926902412788385069555746640653682402754414736645666140845648024565789935370120994751615746130086838203618244513950052104421305489357028391200750592627502800167203313780882145307799036660172776452525713417738251990923746096999736917928146289422620041685282279135367631029541543245634566345431333432506941677386501814246653143529551082291410051562184487076513536435028899066921267160349745993305980178861681658034881916166894394559681185593787249383595408657");

	/**
	 * The Login Modulus RSA Key
	 */
	public static final String LOGIN_MODULUS = ("648611983641931518592507102920630725364444495797385710071981896211305864601833847344392678853352750024375070155601522633358546443791683486361716896513235622529516803203985898366892156313458651193529135568073533079814964111033967012196470511303201213412106675392944840975249896605240193566827178082016634391054084148230818131940477889728067283435543818043298218215721910385759153993854080499189495783107972950500592938814959583022769652592571950088124937715863669569710478048367244794683833441653390472364135332100590938152323958543121717038715459487640033090988785437753227715272079876435484697369556055502150863470925581459958154972956926503454579571659010707336885419988761779687666010929061608175088999411761452333605663206035500778760825444803874892368407555038018829329647089504877610664562906989865637264972217235713676538114194762879032636623695005373947745445641054359086521646902302244645656885523683224275963690677195634431600057273571785756158105972170362074317801238533215544975881331464601239301373475377313983735488042929254859632435771423766875767309712058180990484527973160337109862539462807697723116882743738952212680820456054821778058958847812156773337268948498557396841626905011406830533624859455627918797629512379");

	/**
	 * The Login Exponent RSA Key
	 */
	public static final String LOGIN_EXPONENT = ("57728515198794368798542715280468117567951000869526387336159274922571175186879119147349474277913340416744431149085610899497694453616077784700976466078119282027170476419257057008622334677760720088070180932428596341830732039300870189086195774790295141337455456270000873665389515035756382639963729339951524000229160212347686988473821009975797129320529274923273242700341881735205046694937986962353667835007229598856675749761320463978696238515227614704121835935374411166213302690939868149097316027055926066577658443202202525935616608178311930291084841771692392282523423187793377439662817063937137529025689617647192364414385937711534382510193307855078540955587599898317114986469551089903972918905934678363034131355100988704552677742275249041185304181641827331869618603077269369673704926902412788385069555746640653682402754414736645666140845648024565789935370120994751615746130086838203618244513950052104421305489357028391200750592627502800167203313780882145307799036660172776452525713417738251990923746096999736917928146289422620041685282279135367631029541543245634566345431333432506941677386501814246653143529551082291410051562184487076513536435028899066921267160349745993305980178861681658034881916166894394559681185593787249383595408657");

	/**
	 * The 865 Packet Sizes
	 */
	public static final int[] PACKET_SIZES = new int[122];

	/**
	 * Loads the 865 Packet Sizes
	 */
	static {
		PACKET_SIZES[0] = 12;
		PACKET_SIZES[1] = 8;
		PACKET_SIZES[2] = 16;
		PACKET_SIZES[3] = -1;
		PACKET_SIZES[4] = 3;
		PACKET_SIZES[5] = 9;
		PACKET_SIZES[6] = -1;
		PACKET_SIZES[7] = -1;
		PACKET_SIZES[8] = 17;
		PACKET_SIZES[9] = 6;
		PACKET_SIZES[10] = 8;
		PACKET_SIZES[11] = 8;
		PACKET_SIZES[12] = 0;
		PACKET_SIZES[13] = 18;
		PACKET_SIZES[14] = -2;
		PACKET_SIZES[15] = 0;
		PACKET_SIZES[16] = 8;
		PACKET_SIZES[17] = 4;
		PACKET_SIZES[18] = 4;
		PACKET_SIZES[19] = 8;
		PACKET_SIZES[20] = 9;
		PACKET_SIZES[21] = 3;
		PACKET_SIZES[22] = 3;
		PACKET_SIZES[23] = 3;
		PACKET_SIZES[24] = 3;
		PACKET_SIZES[25] = -2;
		PACKET_SIZES[26] = -1;
		PACKET_SIZES[27] = 7;
		PACKET_SIZES[28] = 4;
		PACKET_SIZES[29] = 7;
		PACKET_SIZES[30] = -1;
		PACKET_SIZES[31] = 3;
		PACKET_SIZES[32] = 3;
		PACKET_SIZES[33] = -1;
		PACKET_SIZES[34] = 9;
		PACKET_SIZES[35] = -2;
		PACKET_SIZES[36] = 3;
		PACKET_SIZES[37] = -1;
		PACKET_SIZES[38] = 1;
		PACKET_SIZES[39] = 9;
		PACKET_SIZES[40] = -1;
		PACKET_SIZES[41] = 8;
		PACKET_SIZES[42] = 4;
		PACKET_SIZES[43] = 9;
		PACKET_SIZES[44] = 15;
		PACKET_SIZES[45] = 8;
		PACKET_SIZES[46] = -2;
		PACKET_SIZES[47] = 6;
		PACKET_SIZES[48] = -2;
		PACKET_SIZES[49] = 3;
		PACKET_SIZES[50] = 3;
		PACKET_SIZES[51] = 0;
		PACKET_SIZES[52] = -1;
		PACKET_SIZES[53] = 3;
		PACKET_SIZES[54] = -1;
		PACKET_SIZES[55] = 16;
		PACKET_SIZES[56] = 7;
		PACKET_SIZES[57] = 5;
		PACKET_SIZES[58] = 4;
		PACKET_SIZES[59] = 18;
		PACKET_SIZES[60] = 4;
		PACKET_SIZES[61] = 2;
		PACKET_SIZES[62] = -1;
		PACKET_SIZES[63] = 0;
		PACKET_SIZES[64] = -1;
		PACKET_SIZES[65] = 7;
		PACKET_SIZES[66] = -1;
		PACKET_SIZES[67] = -1;
		PACKET_SIZES[68] = -1;
		PACKET_SIZES[69] = 2;
		PACKET_SIZES[70] = 1;
		PACKET_SIZES[71] = -1;
		PACKET_SIZES[72] = 5;
		PACKET_SIZES[73] = 3;
		PACKET_SIZES[74] = -1;
		PACKET_SIZES[75] = 7;
		PACKET_SIZES[76] = 4;
		PACKET_SIZES[77] = 0;
		PACKET_SIZES[78] = -2;
		PACKET_SIZES[79] = 1;
		PACKET_SIZES[80] = 9;
		PACKET_SIZES[81] = 8;
		PACKET_SIZES[82] = -1;
		PACKET_SIZES[83] = -2;
		PACKET_SIZES[84] = 15;
		PACKET_SIZES[85] = -1;
		PACKET_SIZES[86] = -1;
		PACKET_SIZES[87] = -1;
		PACKET_SIZES[88] = -1;
		PACKET_SIZES[89] = 7;
		PACKET_SIZES[90] = 4;
		PACKET_SIZES[91] = 3;
		PACKET_SIZES[92] = -1;
		PACKET_SIZES[93] = 3;
		PACKET_SIZES[94] = 2;
		PACKET_SIZES[95] = 4;
		PACKET_SIZES[96] = 8;
		PACKET_SIZES[97] = 4;
		PACKET_SIZES[98] = -2;
		PACKET_SIZES[99] = 7;
		PACKET_SIZES[100] = 1;
		PACKET_SIZES[101] = 6;
		PACKET_SIZES[102] = -2;
		PACKET_SIZES[103] = -2;
		PACKET_SIZES[104] = 1;
		PACKET_SIZES[105] = -1;
		PACKET_SIZES[106] = 9;
		PACKET_SIZES[107] = 1;
		PACKET_SIZES[108] = 4;
		PACKET_SIZES[109] = -2;
		PACKET_SIZES[110] = 11;
		PACKET_SIZES[111] = -2;
		PACKET_SIZES[112] = 8;
		PACKET_SIZES[113] = 3;
		PACKET_SIZES[114] = -1;
		PACKET_SIZES[115] = -1;
		PACKET_SIZES[116] = 3;
		PACKET_SIZES[117] = 9;
		PACKET_SIZES[118] = -1;
		PACKET_SIZES[119] = 11;
		PACKET_SIZES[120] = -1;
		PACKET_SIZES[121] = 3;
	}

}

Click here to view the original image of 1037x1007px.

Code:
MESSAGE_PRIVATE = new ServerPackets(3, -2);
VARP_LARGE = new ServerPackets(5, 6);
VARC_LARGE = new ServerPackets(14, 6);
WINDOWPANE = new ServerPackets(19, 19);
MESSAGE_CLANCHANNEL_BROADCAST = new ServerPackets(24, -1);
UPDATE_APPEARANCE = new ServerPackets(35, -2);
VARC_STRING_2 = new ServerPackets(45, -1);
LOGOUT_FULL = new ServerPackets(60, 0);
SEND_MUSIC = new ServerPackets(64, 3);
PUBLIC_MESSAGE = new ServerPackets(66, -1);
VARP_SMALL = new ServerPackets(68, 3);
PLAY_SOUND = new ServerPackets(75, 2);
MESSAGE_PRIVATE_QUICKCHAT = new ServerPackets(79, -1);
CREATION_NAME_STATUS = new ServerPackets(95, 1);
VARC_SMALL = new ServerPackets(109, 3);
OBJECT_ON_INTERFACE = new ServerPackets(110, 32);
VARP_BIT_SMALL = new ServerPackets(116, 3);
VARC_STRING_1 = new ServerPackets(132, -2);
CREATION_SUBMIT_STATUS = new ServerPackets(173, 1);
PLAYER_UPDATE = new ServerPackets(192, -2);
00
  • Like
Reactions: