Page 2 of 2 FirstFirst 12
Results 26 to 43 of 43

Thread: Idea for creating a "perfect" script

  1. #26
    Join Date
    Dec 2013
    Location
    Pitcairn Island
    Posts
    288
    Mentioned
    20 Post(s)
    Quoted
    166 Post(s)

    Default

    Quote Originally Posted by AFools View Post
    I would be interested to see if the client can even measure the after click. might be worth making a function to click(invobject)+drag some pixels and then never release. See if client is prevented from logging out. otherwise i would doubt the client records this...?
    Yes it will be recorded, because how will the client know that you, for example, drag an item from one slot to another.

  2. #27
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    I would hope @Brandon; or @Olly; could through their ideas in here; i don't know enough about how JAVA Class interacts + (possibly record) and stored this type of data. but i would of thought the client would respond to 'initial click' and 'click release'. When the client has low latency, and you drag an object it isn't just placed anywhere in the inventory (as the client lags out), it goes back to its initial position.

    Jagex could very well could record dragging; but in OSRS i highly doubt it. Which is what i speak for, i don't really know anything about rs3, as i stopping playing in 07 and returned not to long ago to osrs.

    Side projects like this, i am very interested in... as what happens in the future. anti-cheating in games will only get better and there may very well be a game further down the track i want to bot and capitalise on. (so by no means be discouraged by my opinion)

    <------------------>



  3. #28
    Join Date
    Dec 2007
    Posts
    289
    Mentioned
    4 Post(s)
    Quoted
    86 Post(s)

    Default

    Quote Originally Posted by AFools View Post
    but i would of thought the client would respond to 'initial click' and 'click release'
    Yep. You just record the time between the initial click and click release to get the time the mouse was dragged for. The x,y coordinates can also logged at both events so you're able to determine the distance too.

    Quote Originally Posted by AFools View Post
    Jagex could very well could record dragging; but in OSRS i highly doubt it. Which is what i speak for, i don't really know anything about rs3, as i stopping playing in 07 and returned not to long ago to osrs.
    I think this is the point really. Jagex could do a lot of stuff and we don't really know for sure what they do and don't do. For now a lot of this remains fairly academic/fun and there's definitely other areas regarding macro detection to address first.

  4. #29
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    I think the point i am getting at is - when the 'item' is being dragged, does the client know the x,y's of the object in the process of being dragged? or does this only occur on the users client.

    With the client responding to the click/un-click.

    <------------------>



  5. #30
    Join Date
    Dec 2007
    Posts
    289
    Mentioned
    4 Post(s)
    Quoted
    86 Post(s)

    Default

    Quote Originally Posted by AFools View Post
    I think the point i am getting at is - when the 'item' is being dragged, does the client know the x,y's of the object in the process of being dragged? or does this only occur on the users client.
    I had a similar thought. The client surely knows the (x, y) of the click in order to identify which item to use/drag etc. The question is what do the gameservers know?

    Whether actions are processed by the client and packaged up as a neat message that essentially tells the gameservers "User honeyhoney moved item in slot 1 to item in slot 2" or the gameservers receive the raw data "User honeyhoney clicked 500, 500" "User honeyhoney released 600, 600" which is in turn translated to a message that moves the item appropiately... I have no idea!

    From what I've seen in private servers, the only things the gameservers see are actions (ie. user clicked button A). The gameservers don't even know what gametab you have open! (they only control which tabs you available to click!)
    Of course, this could be entirely different to the real thing.

  6. #31
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    Quote Originally Posted by honeyhoney View Post
    ....
    Still isn't exactly what i was describe;

    i click object x,y -> Drag -> release x,y.

    While the object is in the process of being dragged, does this appear on the 'users client' or persistently recorded by the 'servers client'. During this process there is no item is in slot 1,2,3 etc. try drag an item out of the inventory, it disappears slightly.

    The drag component is what is in question, i know click and release is relayed to the server otherwise there would be no action.

    I hope that clarify's it.

    <------------------>



  7. #32
    Join Date
    Dec 2007
    Posts
    289
    Mentioned
    4 Post(s)
    Quoted
    86 Post(s)

    Default

    Quote Originally Posted by AFools View Post
    Still isn't exactly what i was describe;
    Not sure exactly what you mean but I'll try again - if not we can hop on IRC and discuss it

    I believe that the way it works (this is pretty much pure conjecture so take it with a rather large handful of salt);
    Example input: User clicks object x1, y1 -> Drags mouse to x2, y2 -> Releases mouse at x2, y2
    This is interpreted by the client and in the case of moving items in your inventory is packaged up as a message to send to the gameservers.
    Example output/message: User moves item A to slot 7

    The gameserver never receives any coordinates. It only receives the action the player carried out which was interpreted purely client side.

    The scenario where you drag an item outside of the bounds of the inventory would be dealt purely client side.

    Of course we're pretty sure Jagex have some idea of exactly which coordinates we're interacting with but it's possible that only certain actions have coordinates sent alongside them with the message.

    Take high alching as an example:
    Input: User clicks spell at x1, y1
    Interpreted by client as the user interacting with spell ID 44 (arbitrary ID for high alch).
    Example output/message: User casts high alch(x1, y1)

    Compared to a less interesting spell where they might not want to bloat their databases with less heavily macroed actions:
    Input: User clicks spell at x1, y1
    Interpreted by client as the user interacting with spell ID 44 (arbitrary ID for entangle).
    Example output/message: User casts entangle (note the lack of coordinates)

    If you're wondering whether they record the path of the mouse drag I would be inclined to say no. We're almost certain they pay no attention whatsoever to mouse movements outside of clicking on 10,10 one millisecond and clicking on 400,400 1ms later. (which again is purely derived from clicks, not movements)

  8. #33
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    Eh; i give up. Casting a spell or any simple interaction where a click is involved - isn't the problem.

    Drag the item around in a circle in the inventory; does the server-client respond to the persistent x,y cords in this process. The explanation cannot be simpler.

    Trying to express this process now seems pointless. As the client more than likely doesn't record this... but it was more food for thought.

    <------------------>



  9. #34
    Join Date
    Dec 2007
    Posts
    289
    Mentioned
    4 Post(s)
    Quoted
    86 Post(s)

    Default

    Quote Originally Posted by AFools View Post
    Drag the item around in a circle in the inventory; does the server-client respond to the persistent x,y cords in this process. The explanation cannot be simpler.
    Quote Originally Posted by honeyhoney View Post
    If you're wondering whether they record the path of the mouse drag I would be inclined to say no. We're almost certain they pay no attention whatsoever to mouse movements outside of clicking on 10,10 one millisecond and clicking on 400,400 1ms later. (which again is purely derived from clicks, not ovements)
    ?

    Aside from that I apologise, I guess I'm not grasping what you're saying.

  10. #35
    Join Date
    May 2014
    Posts
    633
    Mentioned
    8 Post(s)
    Quoted
    322 Post(s)

    Default

    Quote Originally Posted by AFools View Post
    Eh; i give up. Casting a spell or any simple interaction where a click is involved - isn't the problem.

    Drag the item around in a circle in the inventory; does the server-client respond to the persistent x,y cords in this process. The explanation cannot be simpler.

    Trying to express this process now seems pointless. As the client more than likely doesn't record this... but it was more food for thought.
    I believe I read somewhere here that Jagex doesn't (or shouldn't) send mouse positions while dragging or what not, just click position and some time measure. Otherwise just imagine the amount of data that they'd be sending for such little gain, RS would need 6 second ticks not 0.6 ones.

  11. #36
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    Quote Originally Posted by J_R View Post
    I believe I read somewhere here that Jagex doesn't (or shouldn't) send mouse positions while dragging or what not, just click position and some time measure. Otherwise just imagine the amount of data that they'd be sending for such little gain, RS would need 6 second ticks not 0.6 ones.
    But JAVA has the ability to respond to the DRAG? or is this on my client end until click-release??

    Example - Log has been click (record-able) -> Drag(for X seconds over X,Y^Infinte) -> release-click (record-able)

    i know jagex doesn't record; im not interested in jagex. but from a JAVA perspective, is this drag occurring on my client until un-clicked or is this drag process interact with the Server?

    Seems you may be able to offer an opinion. =D

    <------------------>



  12. #37
    Join Date
    Apr 2012
    Location
    Australia
    Posts
    1,252
    Mentioned
    1 Post(s)
    Quoted
    22 Post(s)

    Default

    Perfect click position or click and drag could be dismissed for the most part, I feel.
    I play on a laptop and if I was to legit high alch I would arrange my item in line with my spell and then position my mouse so that I could spam click in the one spot and get both the spell and item.

    That way I could be legitimately high alching and item for hours on end while paying absolutely no attention to what is happening on my screen.

  13. #38
    Join Date
    Dec 2007
    Posts
    289
    Mentioned
    4 Post(s)
    Quoted
    86 Post(s)

    Default

    Quote Originally Posted by AFools View Post
    But JAVA has the ability to respond to the DRAG? or is this on my client end until click-release??

    Example - Log has been click (record-able) -> Drag(for X seconds over X,Y^Infinte) -> release-click (record-able)

    i know jagex doesn't record; im not interested in jagex. but from a JAVA perspective, is this drag occurring on my client until un-clicked or is this drag process interact with the Server?

    Seems you may be able to offer an opinion. =D
    Uh, some of your terminology is a little unclear but...

    Java is absolutely capable of identifying if the user is clicking, moving, or dragging the mouse.
    Take a look at this and try out the demo: https://docs.oracle.com/javase/tutor...nlistener.html

    You mention you're not interested in what Jagex do yet you're asking if the "drag process interacts with the server". Whether the "drag process interacts with the server" or not would be determined by whoever implemented it and whether they opted to record that data or not.

    Code:
    public void mouseClicked(MouseEvent e) {
        // what to do when we get a click event?
    }
    
    public void mousePressed(MouseEvent e) {
        // what to do when we get a press event?
        // perhaps we'll send a message to the gameserver?
    }
    
    public void mouseReleased(MouseEvent e) {
        // what to do when we get a release event
    }
        
    public void mouseMoved(MouseEvent e) {
        // what to do when we get a move event?
    }
        
    public void mouseDragged(MouseEvent e) {
        // what to do when we get a drag event?
        // perhaps we'll just ignore sending drag events to the gameserver
        // on the other hand, let's do it?
    }
    The code executed as a result of each action can vary on the implementation. Point is: java can do it. Whether it's been added or not is another question.

  14. #39
    Join Date
    Dec 2010
    Posts
    483
    Mentioned
    30 Post(s)
    Quoted
    328 Post(s)

    Default

    Guys you're completely missing an important piece of this entirely.

    Runescape runs at a fixed framerate. Even if they were to record your mouse movements, the vast majority of each movement will occur before an update is fired. Recording mouse movements is simply not feasible for them, not due to server, storage or computational costs (which don't get me wrong - would still be huge) but simply due to the way their client works.

  15. #40
    Join Date
    Dec 2007
    Posts
    289
    Mentioned
    4 Post(s)
    Quoted
    86 Post(s)

    Default

    Quote Originally Posted by the bank View Post
    Guys you're completely missing an important piece of this entirely.

    Runescape runs at a fixed framerate. Even if they were to record your mouse movements, the vast majority of each movement will occur before an update is fired. Recording mouse movements is simply not feasible for them, not due to server, storage or computational costs (which don't get me wrong - would still be huge) but simply due to the way their client works.
    I don't think anyone is missing much, this is purely a theoretical discussion out of interest.

    AFools was asking about the capabilties of Java (I believe).

    When we discuss implementation, it's a different story. You may be correct regarding the feasability of recording mouse movements, although I don't see why it wouldn't be feasible... sure updates are made every 600ms(?) but I don't think that would prevent them from logging mouse movements in the period between ticks.

    Also, the storage and computational cost for logging mouse movements isn't as big as you might expect... there's actually a discussion about that here: https://villavu.com/forum/showthread...24#post1330724
    The scale is relatively small and as it grows, there's plenty scaleable software and hardware solutions available nowadays. The biggest cost would definitely be human resources when it comes to this type of analytics.

    Again, as I said, a purely theoretical discussion that we're fairly certain has no/little impact on bot detection. If anything, it's more interesting to think about this from the other side of things - "how could we detect a bot through analysis of mouse patterns?". At least that's how I like to approach this discussion sometimes.

  16. #41
    Join Date
    Dec 2010
    Posts
    483
    Mentioned
    30 Post(s)
    Quoted
    328 Post(s)

    Default

    Quote Originally Posted by honeyhoney View Post
    I don't think anyone is missing much, this is purely a theoretical discussion out of interest.

    AFools was asking about the capabilties of Java (I believe).

    When we discuss implementation, it's a different story. You may be correct regarding the feasability of recording mouse movements, although I don't see why it wouldn't be feasible... sure updates are made every 600ms(?) but I don't think that would prevent them from logging mouse movements in the period between ticks.

    Also, the storage and computational cost for logging mouse movements isn't as big as you might expect... there's actually a discussion about that here: https://villavu.com/forum/showthread...24#post1330724
    The scale is relatively small and as it grows, there's plenty scaleable software and hardware solutions available nowadays. The biggest cost would definitely be human resources when it comes to this type of analytics.

    Again, as I said, a purely theoretical discussion that we're fairly certain has no/little impact on bot detection. If anything, it's more interesting to think about this from the other side of things - "how could we detect a bot through analysis of mouse patterns?". At least that's how I like to approach this discussion sometimes.
    Its not as theoretical as you may think. The detection routine is a synchronized class that is completely seperated from the rest in entirety. In order to log, it synchronizes with client.class and does... what it does. It can use super.mousex and super.mousey, and it can also use client's copied variable, and click x and y in the client or the super.. or one of several means of logging...

    It not a question of whether they log us, its a question of whether that logging equates to anything. Weve proven over and over that it doesn't.

  17. #42
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    This is finally taking a direction that i had first inquired.

    Theoretical as not RS specific ('But possible from a java perspective'). It was answered by the link to 'mouse class listeners'. The delayed between User client and Server end, solved the later problem i had in my mind.

    This wasn't asked from a ban perspective... but rather something i wanted to know out of curiosity - as the RSC great cloning scandal from days long gone, has always cause curiosity for me.

    <------------------>



  18. #43
    Join Date
    Jul 2014
    Posts
    34
    Mentioned
    3 Post(s)
    Quoted
    14 Post(s)

    Default

    Hmmm, definitely good ideas all around I suppose my only issue would be that since I have no interest in RS besides botting, I find it dreadful to play legit, so having the user do something like "So, let's say you want to run the script for 8 hours, so you'd manually do the task for 8 hours whilst running the tailoring script." would be a huge annoyance to someone like me. However for those that play legit/bot on the same account(s) it would probably work wonders.

Page 2 of 2 FirstFirst 12

Thread Information

Users Browsing this Thread

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

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •