SRL Archive - Reflection Development

Autoupdating reflection hooks.


noidea

2011-02-21 12:59:57

Since we have an open source reflection updater now, why doesn't some one make a small utility that will autoupdate the reflection hooks?

I havent yet compiled the open source updater found here, so I don't know how well it works. I don't think it would be very hard to do. This is how I envision it:

have a small utility that:
Checks is jagex has updated every minute or so –> if it has run the updater –> parse the results of the updater and post a new hooks.simba file to somewhere Simba/the Reflection include can access –> have Simba's updater check for an update every couple of minutes.

I don't think this would be too hard to make and it would save plenty of lamentation coming from newer users that don't understand.

Hows this sound? Im sure if could be dev'd up in less than a day with some quick python.

Gu3st...

2011-02-21 13:36:30

The problem is that the algorithms used to search for hooks might get broken on update (AFAIK)

Nava2

2011-02-21 13:38:51

Well, if we use something like Harri's player tracker we could see when mass drops of players occur. Then check the client build etc.

This could be an optional feature for someone looking for bleeding edge stuff.

Rich

2011-02-21 14:42:18

Maybe as an extension?

pyroryan

2011-02-21 15:29:27

I actually do this every hour. However, there are a few hooks that it will detect as broken or potentially broken and those ones I do by hand when I have time before uploading. And the open-source updater is far from complete.

noidea

2011-02-21 19:20:49

From: pyroryan
I actually do this every hour. However, there are a few hooks that it will detect as broken or potentially broken and those ones I do by hand when I have time before uploading.


What if the person who made the script had several updaters at his disposal? The script could take the output and compare them. It could ignore the controversial hook and choose the hook that is chosen most among the updaters. If anything happens to be wrong after this, it could be reported and manually changed.

I really think this project should be done.

From: pyroryan
And the open-source updater is far from complete.


I hope that can be changed in the future. Thanks for letting me know.

pyroryan

2011-02-21 20:45:52

From: noidea
What if the person who made the script had several updaters at his disposal? The script could take the output and compare them. It could ignore the controversial hook and choose the hook that is chosen most among the updaters. If anything happens to be wrong after this, it could be reported and manually changed.


Its definitely possible. Its just that you probably won't be able to get that many updaters so you'll still have to wait for their owners to upload the output. With that said, we do have hooks that other people do not have/use. The pitfalls are many, but if you can overcome them, then this system would definitely work.

Method

2011-02-21 21:28:58

Here's something I wrote after a few minutes of using Google (I don't really know python) to determine if the client has updated:

import socket
import struct

HOST = 'world1.runescape.com'
PORT = 43594
VERSION = 639

sock = socket.create_connection((HOST, PORT))
sock.send(struct.pack('>bi', 15, VERSION))
v = struct.unpack('b', sock.recv(1))[0]
if v == 6:
print 'outdated'
else:
print 'up to date'

Iamadam

2011-02-23 06:56:38

I need some people with java knowledge to jump on the open source updater bandwagon. I could do it myself but I just don't have the time/motivation. If 1 or 2 others were working on it with me it'd be a different story :P

tofurocks

2011-02-24 21:36:21

From: Iamadam
I need some people with java knowledge to jump on the open source updater bandwagon. I could do it myself but I just don't have the time/motivation. If 1 or 2 others were working on it with me it'd be a different story :P

It looked to me like pyroryan implied that he was working on one?

Iamadam

2011-02-24 22:11:26

From: tofurocks
It looked to me like pyroryan implied that he was working on one?


He has an updater but it is private.

noidea

2011-02-24 23:28:15

Tekk over at RSBuddy has given me access to his updater, thank you Tekk! I've got it working out of the terminal and I've got an idea of how this script is to be setup.

If you'd like to 'donate' an updater, I would /really/ appreciate your input!

Thanks!

moparisthebest

2011-03-04 04:00:04

It's rather trivial to do what you said, you can just use my script that makes this:
http://www.moparisthebest.com/rs/
specifically:
http://www.moparisthebest.com/rs/getRS.sh

In fact, when this updater matures I can just add in another line to that script to spit out a hooks.simba when runescape updates, I currently check once every hour if runescape.jar updates, which is what you should do rather than checking the version, as you see in the update.log jagex does sometimes change runescape.jar without incrementing the version.

The problem as others have mentioned above is that hooks often break, requiring manual intervention.

noidea

2011-03-05 13:37:28

From: moparisthebest

In fact, when this updater matures I can just add in another line to that script to spit out a hooks.simba


The project goal is not just to make this for SRL and spit out a hooks.simba.
It's to run all the updaters, get the best/most prominent result and add it to a format that everyone can parse, such as JSON or XML.

From: moparisthebest
when runescape updates, I currently check once every hour if runescape.jar updates, which is what you should do rather than checking the version, as you see in the update.log jagex does sometimes change runescape.jar without incrementing the version.


Thanks for that information. I didn't know. I'll look at the stuff in the directories you linked to.

From: moparisthebest
The problem as others have mentioned above is that hooks often break, requiring manual intervention.


I'm going to add something so people can manually update it if need be.


Thanks for your post :)