Jump to content

Welcome to Rune Tips, the first ever RuneScape help site. We aim to offer skill guides, quest guides, maps, calculators, informative databases, tips, and much more to help you get the most from the Massive Online Adventure Game, RuneScape, by Jagex Ltd © 2009.

Report Ad

Welcome to Forum.Tip.It
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

How Would You Detect Bots?


  • Please log in to reply
230 replies to this topic

#1
Alphanos
[ Display Name History ]

Alphanos

    Bear Fur

  • Members
  • 330 posts
I see a lot of posts where people talk about how Jagex's bot-detecting algorithms are poor, and need improvement. I think people don't realize how inherently difficult this is.

One of the most important principles of computer software is that in order to write an algorithm instructing the computer how to do something, you must first be able to clearly understand how a person could perform the same task (although probably slower). For example, if you want a computer to be able to sort numbers, you must be able to sort numbers yourself first. Then you can translate the human method of performing the task into computer terms, and potentially optimize it from there.

So the focus of the thread is this: what methods or techniques would you, as a person, use to detect bots? If we actually can think of methods meeting certain criteria, I'm sure Jagex would be interested.

Your method must meet the following requirements:

1) The method must never indicate that a human player is a bot. Even players with strong language barriers, those who are AFK, or those who are frankly really stupid. In other words, no false positives.

2) The method must be an unavoidable barrier for bot-writers. In other words, a software developer writing a bot must be able to read and completely understand your described method, but be unable to write software which can pass your test. No details of how the method works can be hidden from the opposition - this is due to the nature of the Runescape Java client. The method may detect only specific types of bots, but should catch as many bots in that scenario as possible. For example, a method which only catches one currently-existing chin-hunting bot, but which is obviously avoided by other chin-hunting bots, is not suitable.

3) The method must not involve any extensive creation or deletion of in-game wealth.

The following additional goals should be met if at all possible:

1) Methods which kill players should be avoided.

2) Methods which unduly annoy players, such as long delays, taking their items and banking them or placing them a short distance away, etc, should be avoided.

If other requirements that I have missed arise in discussion, I reserve the right to amend the above rules to account for things I didn't think of while writing this.

This thread differs from the other thread about catching bots in the following way: rather than focusing on methods players can use to probably catch some bots some of the time, the goal here is to come up with permanent, unbreakable bot-detecting rules that Jagex could potentially use to solve the problem on a wide scale. If we really want them to improve their algorithms, let's see what we can come up with.
Alphanos
Posted Image

#2
TheAncient
[ Display Name History ]

TheAncient

    Black Knight Trainer

  • Members
  • 3,267 posts
  • Gender:Not Telling
  • Joined:27 January 2006
  • RuneScape Status:None
  • RSN:The Ancient
Mouse click pattern, timing
Posted Image
Ever wanted to find street prices of RS items? Check out the SPOLI Index

Nex Drops: Pernix Cowl, Pernix Chaps, Torva Helm, Torva Platebody, Zaryte Bow, Pernix Chaps, Virtus Robe Legs, Virtus Robe Top, Torva Platelegs, Zaryte Bow, Pernix Chaps, Virtus Robe Legs, Zaryte Bow, Virtus Mask, Torva Legs, Virtus Robe Legs, Virtus Robe Top, Virtus Robe Top, Zaryte Bow, Virtus Robe Legs, Virtus Robe Top, Virtus Robe Top, Torva Platelegs, Zaryte Bow, Pernix Body, Torva Platelegs, Torva Platelegs, Virtus Robe Top

#3
Alphanos
[ Display Name History ]

Alphanos

    Bear Fur

  • Members
  • 330 posts

Mouse click pattern, timing


This is one of the most commonly suggested methods; the trouble is that it only works against poorly-written bots. It would be fairly easy to add some randomness into a bot's click patterns using a random number generator so that i.e. it clicks different parts of its target, pauses for different numbers of ticks, and even misclicks some of the time.
Alphanos
Posted Image

#4
jasignhagj
[ Display Name History ]

jasignhagj

    Black Knight Trainer

  • Members
  • 3,183 posts
  • Gender:Male
  • Joined:16 July 2007
Best idea I've ever heard was to have random resource spawns, such as yews growing randomly in a set area or coal randomly appearing throughout the mine.

Random events would be fine too, if jagex cycled them every few weeks.

#5
superbotter
[ Display Name History ]

superbotter

    Chicken Feather

  • Members
  • 11 posts
  • Gender:Not Telling
  • Joined:2 March 2011
  • RuneScape Status:None
All right, let me screw things for botters everywhere.

Most scripts use a pre-defined ID programmed into the game to take action. e.g. attack monster 3435, eat food 5325, mine type rock 4323 or whatever. Just subtly shift one of the IDs every now and then. Flag players who never touch the objects with changed IDs and ban them eventually.

#6
Xie
[ Display Name History ]

Xie

    Chicken Feather

  • Members
  • 17 posts
  • Gender:Not Telling
  • Location:China
  • Joined:27 March 2011
  • RuneScape Status:Semi-Retired
  • Clan:DGS

All right, let me screw things for botters everywhere.

Most scripts use a pre-defined ID programmed into the game to take action. e.g. attack monster 3435, eat food 5325, mine type rock 4323 or whatever. Just subtly shift one of the IDs every now and then. Flag players who never touch the objects with changed IDs and ban them eventually.

They already change id's

#7
irontime
[ Display Name History ]

irontime

    Chicken Feather

  • Members
  • 2 posts
  • Gender:Male
  • Joined:27 March 2011
  • RuneScape Status:P2P
  • RSN:Iron Pyrite
you would have to have an extensive knowledge of the bot your trying to trip up to make it anywhere, but as far as i know most bot scrips rely on colors to work or changing the order of how options appear such as when people had sat in the wild with a maker plant over the zammorak mage causing the bot to miss the mage.
Posted Image

#8
Alphanos
[ Display Name History ]

Alphanos

    Bear Fur

  • Members
  • 330 posts

Best idea I've ever heard was to have random resource spawns, such as yews growing randomly in a set area or coal randomly appearing throughout the mine.


Interesting; could you please elaborate as to how this would be used to distinguish bots from live players?

Random events would be fine too, if jagex cycled them every few weeks.


As with the current set of random events, the bot writers would simply solve all of the new ones - unless we can brainstorm ideas that can be solved by people, but not computers.

Adding a new random events every few weeks could do a lot of good, so long as it's possible to prevent bots from detecting that they are in an unexpected location, which could cause them to just logout until the bot is updated.

you would have to have an extensive knowledge of the bot your trying to trip up to make it anywhere, but as far as i know most bot scrips rely on colors to work or changing the order of how options appear such as when people had sat in the wild with a maker plant over the zammorak mage causing the bot to miss the mage.


These types of changes can catch bots for a short period of time, but what we're ideally seeking is a change that couldn't be coded around, so that it would permanently detect bots. Jagex has apparently already decided that changes which only catch some bots for short time periods aren't worth the man-hours invested in writing the change.
Alphanos
Posted Image

#9
jasignhagj
[ Display Name History ]

jasignhagj

    Black Knight Trainer

  • Members
  • 3,183 posts
  • Gender:Male
  • Joined:16 July 2007


Best idea I've ever heard was to have random resource spawns, such as yews growing randomly in a set area or coal randomly appearing throughout the mine.


Interesting; could you please elaborate as to how this would be used to distinguish bots from live players?

Random events would be fine too, if jagex cycled them every few weeks.


As with the current set of random events, the bot writers would simply solve all of the new ones - unless we can brainstorm ideas that can be solved by people, but not computers.

Adding a new random events every few weeks could do a lot of good, so long as it's possible to prevent bots from detecting that they are in an unexpected location, which could cause them to just logout until the bot is updated.

you would have to have an extensive knowledge of the bot your trying to trip up to make it anywhere, but as far as i know most bot scrips rely on colors to work or changing the order of how options appear such as when people had sat in the wild with a maker plant over the zammorak mage causing the bot to miss the mage.


These types of changes can catch bots for a short period of time, but what we're ideally seeking is a change that couldn't be coded around, so that it would permanently detect bots. Jagex has apparently already decided that changes which only catch some bots for short time periods aren't worth the man-hours invested in writing the change.


It would depend on the bot script, I know back in the day old bots used to have an order of predetermined clicks they'd cycle through, although I know new bots look for and detect the item.

I don't play much anymore, and am not up with how the new bots work.

I guess the only fool-proof method would be to have a game client that prevented other programs from running while the client is running. This would ruin the game for most people though.

#10
Alphanos
[ Display Name History ]

Alphanos

    Bear Fur

  • Members
  • 330 posts


All right, let me screw things for botters everywhere.

Most scripts use a pre-defined ID programmed into the game to take action. e.g. attack monster 3435, eat food 5325, mine type rock 4323 or whatever. Just subtly shift one of the IDs every now and then. Flag players who never touch the objects with changed IDs and ban them eventually.

They already change id's


I only have a general idea of this ID-based system. Can anyone explain in more detail how it works, how the bots use it, and what Jagex changes?
Alphanos
Posted Image

#11
Xie
[ Display Name History ]

Xie

    Chicken Feather

  • Members
  • 17 posts
  • Gender:Not Telling
  • Location:China
  • Joined:27 March 2011
  • RuneScape Status:Semi-Retired
  • Clan:DGS



All right, let me screw things for botters everywhere.

Most scripts use a pre-defined ID programmed into the game to take action. e.g. attack monster 3435, eat food 5325, mine type rock 4323 or whatever. Just subtly shift one of the IDs every now and then. Flag players who never touch the objects with changed IDs and ban them eventually.

They already change id's


I only have a general idea of this ID-based system. Can anyone explain in more detail how it works, how the bots use it, and what Jagex changes?

Basically they obfuscate the client after some updates

#12
Triquos
[ Display Name History ]

Triquos

    Hobgoblin Killer

  • Members
  • 1,606 posts
  • Gender:Not Telling
  • Joined:14 December 2004
  • RuneScape Status:None
Even if I was einstein and could come up with a genius way to detect bots, I wouldn't post it here - as it would give cheaters all the information they need as to how they could circumvent the system.
Posted Image

#13
Alphanos
[ Display Name History ]

Alphanos

    Bear Fur

  • Members
  • 330 posts

Even if I was einstein and could come up with a genius way to detect bots, I wouldn't post it here - as it would give cheaters all the information they need as to how they could circumvent the system.


The point is, due to the way Runescape's Java-based client works, any bot detection methods implemented in the Runescape code are provided in full to bot-writers just by logging on. In order for any bot-detection method to work better than the existing randoms, it has to be a method that you could describe in exquisite detail to a bot-writer, yet they would be unable to solve.

If anyone wants to come up with a server-only bot detection method, one that would not be downloaded by players as part of the client code, it would need to perform its detection entirely based upon player action messages sent to the server - no new displays, prompts, or anything the player would ever see or interact with could be different.
Alphanos
Posted Image

#14
LitterBug
[ Display Name History ]

LitterBug

    Varrock Guard

  • Members
  • 1,428 posts
  • Gender:Male
  • Joined:29 January 2011
  • RuneScape Status:P2P
  • RSN:LitterBug01


Best idea I've ever heard was to have random resource spawns, such as yews growing randomly in a set area or coal randomly appearing throughout the mine.


Interesting; could you please elaborate as to how this would be used to distinguish bots from live players?

Random events would be fine too, if jagex cycled them every few weeks.


As with the current set of random events, the bot writers would simply solve all of the new ones - unless we can brainstorm ideas that can be solved by people, but not computers.

Adding a new random events every few weeks could do a lot of good, so long as it's possible to prevent bots from detecting that they are in an unexpected location, which could cause them to just logout until the bot is updated.

you would have to have an extensive knowledge of the bot your trying to trip up to make it anywhere, but as far as i know most bot scrips rely on colors to work or changing the order of how options appear such as when people had sat in the wild with a maker plant over the zammorak mage causing the bot to miss the mage.


These types of changes can catch bots for a short period of time, but what we're ideally seeking is a change that couldn't be coded around, so that it would permanently detect bots. Jagex has apparently already decided that changes which only catch some bots for short time periods aren't worth the man-hours invested in writing the change.


I think - ultimately, this is going to be a unrealizable goal.

For starters, it's going to be a bajillion times harder trying to make the game such that there is definitely no way to bypass security or whatever fail safes jagex has set up.
What we should be aiming at should be a way to detecting some of these botters banned/suspended.

A.) There are a bunch of mods (the golden crowned) ones running around Jagex.
Often, I see them walk around and there would be bots around but I don't see them actually trying to do anything.
If they took the time, they could actually scout out some especially bot heavy places and try to talk to them. Clearly if it's a place which requires clicking i.e chopping yews, mining, etc - you can just ask them a few questions and see if they respond. If they don't flag them at first, and then try this again in the future (kind of like backtracking and checking up on people who may be "offenders"). If they're caught like this multiple times - they should be banned.

B.) There should be some auto banning system - I've seen bots fail and the botter just stand there/try to do somethings over and over. If theres somebody clicking one space or relogging in and out every 10 minutes for a couple of hours - flag their accounts. Then check their accounts for suspicious activity via whatever logs Jagex has.

C.) Make sure people can't play 24 hours a day for like multiple days straight. The 6 hour thing was a step towards the right direction but I'm sure it's not hard to program a bot to just relog in after that set amount of time.
Say if somebody plays for 72 hours straight without a break then I think it's pretty safe to assume that they're botting.
Posted Image

#15
LitterBug
[ Display Name History ]

LitterBug

    Varrock Guard

  • Members
  • 1,428 posts
  • Gender:Male
  • Joined:29 January 2011
  • RuneScape Status:P2P
  • RSN:LitterBug01

Even if I was einstein and could come up with a genius way to detect bots, I wouldn't post it here - as it would give cheaters all the information they need as to how they could circumvent the system.


^This, also if there is a way to write a program to stop bots - I'm sure with enough diligence - a corresponding program can be written to bypass this.
If there are scripts complex enough to DG (even if it is slow), I'm not sure what else can be invented to stop these programmers.
Posted Image

#16
Alphanos
[ Display Name History ]

Alphanos

    Bear Fur

  • Members
  • 330 posts

Quote tree

I think - ultimately, this is going to be a unrealizable goal.

For starters, it's going to be a bajillion times harder trying to make the game such that there is definitely no way to bypass security or whatever fail safes jagex has set up.
What we should be aiming at should be a way to detecting some of these botters banned/suspended.

A.) There are a bunch of mods (the golden crowned) ones running around Jagex.
Often, I see them walk around and there would be bots around but I don't see them actually trying to do anything.
If they took the time, they could actually scout out some especially bot heavy places and try to talk to them. Clearly if it's a place which requires clicking i.e chopping yews, mining, etc - you can just ask them a few questions and see if they respond. If they don't flag them at first, and then try this again in the future (kind of like backtracking and checking up on people who may be "offenders"). If they're caught like this multiple times - they should be banned.

B.) There should be some auto banning system - I've seen bots fail and the botter just stand there/try to do somethings over and over. If theres somebody clicking one space or relogging in and out every 10 minutes for a couple of hours - flag their accounts. Then check their accounts for suspicious activity via whatever logs Jagex has.

C.) Make sure people can't play 24 hours a day for like multiple days straight. The 6 hour thing was a step towards the right direction but I'm sure it's not hard to program a bot to just relog in after that set amount of time.
Say if somebody plays for 72 hours straight without a break then I think it's pretty safe to assume that they're botting.


A) Unfortunately, Jagex will never be able to field enough manpower to manually track down and eliminate enough bots to make any difference. There are almost certainly tens of thousands of bots running on Runescape at most times. Additionally, you run into situations where legitimate players may not notice even a Jagex mod talking to them. What if that player is cutting yews or LRC mining while watching a movie, and just clicks even few minutes to bank?

B) This seems potentially promising. If we can identify specific ways that bots break, this might be able to be expanded into a permanently useful rule system.

C) This, unfortunately, will do little good. We know that there are real players who, rightly or wrongly, play 16+ hours a day on a regular basis. The best that could really be accomplished here is to change things so that bots can only run 18 or so hours a day before needing to "sleep", and then continue running for 18+ hours the next day, and the next...
Alphanos
Posted Image

#17
Hajutze
[ Display Name History ]

Hajutze

    Ghost Cloak

  • Members
  • 1,762 posts
  • Gender:Male
  • Joined:12 March 2006
  • RuneScape Status:P2P
  • RSN:Poptolev
You can catch all the bots at once or some bots all the time but you CAN'T CATCH ALL THE BOTS ALL THE TIME.

There is no such thing as full proof anti-cheat system. They can make them better and better but the bots will always catch up to them in few weeks (at max).

#18
Nash
[ Display Name History ]

Nash

    Scorpion Pit

  • Members
  • 676 posts
  • Gender:Not Telling
  • Location:Great Gig in the Sky
  • Joined:31 July 2007
  • RuneScape Status:None
Want to know how to find bots and easily catch them?


Invisible Items/Monsters that only bots would see.



RS runs on Java. Everything is coded with an ID #. Bots work by detecting ID's. Heres the solution:

Make a new era of random events where items appear around the person in question that are coded the same as whatever theyre doing but ARENT ACTUALLY THERE.

Aka, if the person in question is fighting... green dragons. have 4-5 invisible green dragons with the SAME id's as the regular green dragons appear all around the person, but theyd be unclickable (theyre ghosts basically, you wouldnt be able to see them but a bot would because its gathering java data) Therefore, the person in question would react to this in two different ways:

Regular person:
-wouldnt even see the "invisible" things and they continue on their way.

Bots:
-Would consider this "invisible" thing to be real and would constantly attempt to click/attack/whatever to it. Therefore proving its a bot.



So yeah, my dad does coding and crap for a living, and he made me take classes on it when I was in Jr High convinced that, "this will help me in the real world". Wasted most of my time that Summer but at least I can do Sites and stuff :) I dont know enough Java though to really get involved in giving better ideas, but thats one Ive always thought was a clever one.



-C14

Posted Image

Pixel Signature Made By Me.

Pixel Art Tutorial * Pixel Gallery * My Free Pixel Sigs Shop


#19
Alphanos
[ Display Name History ]

Alphanos

    Bear Fur

  • Members
  • 330 posts

You can catch all the bots at once or some bots all the time but you CAN'T CATCH ALL THE BOTS ALL THE TIME.

There is no such thing as full proof anti-cheat system. They can make them better and better but the bots will always catch up to them in few weeks (at max).


It's true that up until now, updates designed to catch bots seem to have been solved by the bot-writers relatively quickly.

The main goal here isn't to catch every possible bot instantly, but to come up with methods that will never catch humans players, but will in some unavoidable situations catch botters at least some of the time. An idea for a random which would be unsolvable by a computer would be nice, but it seems like these days even captchas are getting solved by algorithms.

This is a very hard problem - Jagex has many smart people who have worked on this for a long time and haven't solved it yet. Maybe in the end we will conclude that there's no solution, and we've been too hard on them. But I think it's a bit too early to give up already.
Alphanos
Posted Image

#20
FooK-A-Ji
[ Display Name History ]

FooK-A-Ji

    The One And Only

  • Members
  • 2,973 posts
  • Gender:Male
  • Location:The distant plains of which I wander
  • Joined:20 June 2004
  • RuneScape Status:Retired
  • RSN:FooK A Ji
  • RSN2:Flyingtoilet
give every single player in rs the ability to ban other players and just sit back and watch the onslaught

last man standing wins the game




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users