Thread: New JS5 Protocol (634)?

Page 1 of 2 12 LastLast
Results 1 to 10 of 13
  1. #1 New JS5 Protocol (634)? 
    Registered Member Killer 99's Avatar
    Join Date
    Dec 2007
    Posts
    1,484
    Thanks given
    171
    Thanks received
    503
    Rep Power
    414
    Well I was going to whip up a quick js5 client and download the rs cache & get the new data on my 317, but I ran into some problems...

    I used Wireshark to capture a real connection between the RS client and the protocol is WEIRD. Back in 500-600 the client it would send the header/version then when the server replied OK (0) it would request 255,255 (crc's of cache index 255) then blah, but in this version the server immediately starts sending data after its validated. This may be Wireshark acting funny, but i doubt it. Explanation?
    Reply With Quote  
     

  2. #2  
    Renown Programmer
    Method's Avatar
    Join Date
    Feb 2009
    Posts
    1,455
    Thanks given
    0
    Thanks received
    843
    Rep Power
    3019
    The server currently sends 27 integers back to the client that have to deal with the loading of some "required" elements (native libraries and files within certain index files that are necessary to run the game). They might be size values for the required data or something of that nature, but I haven't really looked into it.

    Also, the data received after requesting (255, 255) isn't just CRCs (nor was it from 500-600). It used to contain just a crc32 and version value for each reference table, now it also contains a Whirlpool digest of the data.
    :-)
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Registered Member Killer 99's Avatar
    Join Date
    Dec 2007
    Posts
    1,484
    Thanks given
    171
    Thanks received
    503
    Rep Power
    414
    Quote Originally Posted by Method View Post
    The server currently sends 27 integers back to the client that have to deal with the loading of some "required" elements (native libraries and files within certain index files that are necessary to run the game). They might be size values for the required data or something of that nature, but I haven't really looked into it.

    Also, the data received after requesting (255, 255) isn't just CRCs (nor was it from 500-600). It used to contain just a crc32 and version value for each reference table, now it also contains a Whirlpool digest of the data.
    AHH the native libs forgot about them, odd way to do it i suppose..I completely forgot that they moved them into the js5

    But this still doesn't explain the new request packets, go check it out..

    When you say "also" do you mean it contains both?
    Reply With Quote  
     

  5. #4  
    Renown Programmer
    Method's Avatar
    Join Date
    Feb 2009
    Posts
    1,455
    Thanks given
    0
    Thanks received
    843
    Rep Power
    3019
    Quote Originally Posted by Killer 99 View Post
    AHH the native libs forgot about them, odd way to do it i suppose..I completely forgot that they moved them into the js5

    But this still doesn't explain the new request packets, go check it out..

    When you say "also" do you mean it contains both?
    What new request packets are you referring to? There are still just the normal and priority requests (with opcodes 0 and 1, respectively).

    When I say also, I mean it contains all three pieces of data for each entry (i.e. crc32, version, and digest).
    :-)
    Reply With Quote  
     

  6. #5  
    Registered Member Killer 99's Avatar
    Join Date
    Dec 2007
    Posts
    1,484
    Thanks given
    171
    Thanks received
    503
    Rep Power
    414
    Quote Originally Posted by Method View Post
    What new request packets are you referring to? There are still just the normal and priority requests (with opcodes 0 and 1, respectively).

    When I say also, I mean it contains all three pieces of data for each entry (i.e. crc32, version, and digest).
    Do you know the header is for the received data?

    [index]
    [id]
    [size]
    [cycle]
    [DATA]

    ?
    Reply With Quote  
     

  7. #6  
    Renown Programmer
    Method's Avatar
    Join Date
    Feb 2009
    Posts
    1,455
    Thanks given
    0
    Thanks received
    843
    Rep Power
    3019
    Quote Originally Posted by Killer 99 View Post
    Do you know the header is for the received data?

    [index]
    [id]
    [size]
    [cycle]
    [DATA]

    ?
    Yes, I do. It's eight bytes long, consisting of:

    byte index
    short file
    byte settings
    int size

    The settings value contains the compression type (used for allocating an appropriately sized buffer) along with the byte 0x80 if it was a normal request (so the client can choose which queue to grab the request from).

    My thread about the Update Protocol and the cache downloader I posted should come in handy if you'd like to learn about the protocol.
    :-)
    Reply With Quote  
     

  8. #7  
    Registered Member Killer 99's Avatar
    Join Date
    Dec 2007
    Posts
    1,484
    Thanks given
    171
    Thanks received
    503
    Rep Power
    414
    Quote Originally Posted by Method View Post
    Yes, I do. It's eight bytes long, consisting of:

    byte index
    short file
    byte settings
    int size

    The settings value contains the compression type (used for allocating an appropriately sized buffer) along with the byte 0x80 if it was a normal request (so the client can choose which queue to grab the request from).

    My thread about the Update Protocol and the cache downloader I posted should come in handy if you'd like to learn about the protocol.
    lol sorry i just reverse engineered it from their source code, lol.
    Reply With Quote  
     

  9. #8  
    Registered Member

    Join Date
    Oct 2008
    Posts
    2,342
    Thanks given
    132
    Thanks received
    1,019
    Rep Power
    828
    Quote Originally Posted by Method View Post
    What new request packets are you referring to? There are still just the normal and priority requests (with opcodes 0 and 1, respectively).

    When I say also, I mean it contains all three pieces of data for each entry (i.e. crc32, version, and digest).
    Lol ah so index 255 container have digest now too? Btw for ppl who dont know "file 255" is just used verificy which index 255 containers are outdated/corrupted. Its pretty simple how the engine works.
    Reply With Quote  
     

  10. #9  
    Registered Member

    Join Date
    Aug 2008
    Age
    28
    Posts
    774
    Thanks given
    97
    Thanks received
    131
    Rep Power
    328
    Client connects to update server/jaggrab before connecting to gameserver, so it is most likely requesting and/or checking for files.

    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  11. #10  
    Banned

    Join Date
    Sep 2009
    Posts
    1,878
    Thanks given
    411
    Thanks received
    1,637
    Rep Power
    0
    Quote Originally Posted by dragonkk View Post
    Lol ah so index 255 container have digest now too? Btw for ppl who dont know "file 255" is just used verificy which index 255 containers are outdated/corrupted. Its pretty simple how the engine works.
    Lol and you say you wrote your cache editor without ripping from client

    look at the caculation and u will see

    .put(Whirlpool.whirlpool(currentData, 5, currentData.length - 5));
    Reply With Quote  
     

Page 1 of 2 12 LastLast

Thread Information
Users Browsing this Thread

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


User Tag List

Similar Threads

  1. The Update Protocol
    By Method in forum Informative Threads
    Replies: 151
    Last Post: 05-28-2016, 03:26 PM
  2. [317] Protocol
    By sivo in forum Advertise
    Replies: 1
    Last Post: 09-13-2010, 07:00 PM
  3. what's the best client protocol?
    By -Donny in forum Voting
    Replies: 8
    Last Post: 08-29-2010, 06:29 PM
  4. 317 Login protocol
    By Spooky in forum Help
    Replies: 3
    Last Post: 10-02-2009, 09:37 AM
  5. To anyone that knows the 500+ protocol well.
    By blakeman8192 in forum RS 503+ Client & Server
    Replies: 12
    Last Post: 03-12-2009, 11:49 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
  •