Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • stCky: idk man im just a chat bot
      August 22, 2017, 11:14:52 PM
    • symantec: is this forum
      August 22, 2017, 09:02:56 PM
    • symantec: what the fudge
      August 22, 2017, 09:02:52 PM
    • symantec: I just joined to download datmaker, the links are broken and a user named i nelson i has a fudgeing weird signature
      August 22, 2017, 08:59:33 PM
    • stCky: ur so cool and edgy
      August 22, 2017, 04:15:50 PM
    • Deathspirit: anyways, i'm un ip banned now.. but don't even want to be that at this point lmfao
      August 22, 2017, 01:58:14 PM
    • Deathspirit: now it's some sell out half leeched server :')
      August 22, 2017, 01:57:53 PM
    • Deathspirit: gf moparscape, was the best rsps community i've been on since 2006
      August 22, 2017, 01:57:31 PM
    • stCky: yeah, nah. it's cooked. [link] might help u with a backup or something idk man im just a chat bot
      August 22, 2017, 12:13:25 AM
    • flew420: I sure hope someone has a copy of the forum before it was recked
      August 21, 2017, 11:40:52 PM
    • flew420: O wow i see now, just read thru all the news articles. :(  i've been out of the game for a couple years so coming back to this shit is sad.
      August 21, 2017, 11:39:46 PM
    • flew420: Huh?
      August 21, 2017, 10:49:51 PM
    • stCky: got bought by a russian dude, he put a shitty rsps on it for donations, now no one cares
      August 21, 2017, 10:48:30 PM
    • flew420: I came on for some nostalgic reading in old classic development, and it only goes back to 2014 wtf.
      August 21, 2017, 10:43:09 PM
    • flew420: what happened to this site??
      August 21, 2017, 10:42:36 PM
    • Sean56:[link]
      August 21, 2017, 05:33:45 PM
    • kb010: how can i play? i downloaded the client and it doesnt open.
      August 21, 2017, 10:52:56 AM
    • wodkode: shut it down or fix it
      August 20, 2017, 10:11:28 PM
    • wodkode: dude i cant goto no links on here from google
      August 20, 2017, 10:11:13 PM
    • Dell: Greetings
      August 20, 2017, 11:56:30 AM

    Author Topic: OpenRS 850+ 851 Client/cache  (Read 3108 times)

    0 Members and 2 Guests are viewing this topic.

    OfflineSir James1996

    • Member
    • **
    • Posts: 89
    • Thanks: +0/-0
      • View Profile
    OpenRS 850+ 851 Client/cache
    « on: August 23, 2015, 10:13:35 AM »
    Updated it from this This: https://www.rune-server.ee/runescape-development/rs-503-client-server/downloads/572627-826-netty4-1-skeleton.html

    So download that and replaces the rsa keyls client/server side, The 27 intergers, the revision #

    Credits to kyle for the virtue source

    openRS lib: https://mega.nz/#!KpNhQDqD!pP_pWtxxjPw3_NGy-g5Wpbq5IOCydVQl6QqYPG_NZiU
    851 Client: https://mega.nz/#!O9NwFIzb!mt5kkYvAJN1gwYIpN3cz9wC_pXROdXe2iiEcjPMbJ8w
    Cache: Coming Soon its Uploading

    Then the only thing that changed was in the handshake

               buf.readUnsignedByte();//850+ Language ID

    Code: [Select]
    package org.virtue.network.protocol.handshake;

    import io.netty.buffer.ByteBuf;
    import io.netty.buffer.Unpooled;
    import io.netty.channel.ChannelHandlerContext;
    import io.netty.handler.codec.ByteToMessageDecoder;

    import java.util.List;

    import org.virtue.Constants;
    import org.virtue.network.protocol.message.HandshakeMessage;
    import org.virtue.network.protocol.ondemand.OnDemandDecoder;
    import org.virtue.network.protocol.ondemand.OnDemandEncoder;
    import org.virtue.network.protocol.ondemand.OnDemandXorEncoder;
    import org.virtue.utility.BufferUtility;

    /**
     * @author Im Frizzy <skype:kfriz1998>
     * @since Aug 8, 2014
     */
    public class HandshakeDecoder extends ByteToMessageDecoder {

    /* (non-Javadoc)
    * @see io.netty.handler.codec.ByteToMessageDecoder#decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List)
    */
    @Override
    protected void decode(ChannelHandlerContext ctx, ByteBuf buf, List<Object> out) throws Exception {
    if (buf.isReadable()) {
    HandshakeMessage type = new HandshakeMessage(buf.readUnsignedByte());
    if (type.getType() == null)
    return;

    switch (type.getType()) {
    case HANDSHAKE_LOGIN:
    ensureResponse(ctx);
    break;
    case HANDSHAKE_ONDEMAND:
    ensureResponse(ctx, buf);
    ctx.pipeline().replace("decoder", "decoder", new OnDemandDecoder());
    ctx.pipeline().addAfter("decoder", "xor-encoder", new OnDemandXorEncoder());
    ctx.pipeline().addAfter("xor-encoder", "encoder", new OnDemandEncoder());
    break;
    default:
    break;
    }
    if (buf.isReadable()) {
    out.add(new Object[] { type, buf.readBytes(buf.readableBytes()) });
    } else {
    out.add(type);
    }
    }
    }

    private void ensureResponse(ChannelHandlerContext ctx) {
    ByteBuf buffer = Unpooled.buffer(1);
    buffer.writeByte(0);
    ctx.channel().writeAndFlush(buffer);
    }

    private void ensureResponse(ChannelHandlerContext ctx, ByteBuf buf) {
    if (buf.readableBytes() < 6)
    return;

    ByteBuf buffer = Unpooled.buffer();

    int length = buf.readUnsignedByte();
            if (buf.readableBytes() >= length) {
            int major = buf.readInt();
            int minor = buf.readInt();
            String token = BufferUtility.readString(buf);
            buf.readUnsignedByte();//850+ Language ID
               if (major != Constants.FRAME_MAJOR && minor != Constants.FRAME_MINOR) {
                    buffer.writeByte(6);
                } else {
                if (!token.equals(Constants.ONDEMAND_TOKEN)) {
                buffer.writeByte(6);
                } else {
                buffer.writeByte(0);
                for (int i = 0; i < Constants.ONDEMAND_DELTA.length; i++) {
                buffer.writeInt(Constants.ONDEMAND_DELTA[i]);
                }
                }
                }
            }
    ctx.channel().writeAndFlush(buffer);
    }

    }




     

    Copyright © 2017 MoparScape. All rights reserved.
    Powered by SMFPacks SEO Pro Mod |
    SimplePortal 2.3.5 © 2008-2012, SimplePortal