Search the Community
Showing results for tags 'human behavior'.
Found 1 result
About a year ago, we launched our Reaction Timing and Other Playing Data project, where we asked our users to play RuneScape for a few hours while running a script which records their reaction times, actions, and other playing data. About 6 months ago, we started statistically analyzing the submitted data in hopes of releasing the most human-like anti-ban the botting scene has come across. Today, we are happy to announce that we've completed this task, and have made some discoveries which will dramatically improve our anti-ban. There are three main improvements we've implemented upon analyzing the submitted data: click point selection, reaction times, and typical human behavior. Click Point Selection The points which bots choose to click play a large role in whether bots look like a human, or a bot. A large problem many of our competitors have is that they use randomization for a lot of things, and think this will help disguise their bots. However, humans aren't random. We all follow similar patterns and trends. Let me show you what I mean. This is a picture of how a typical bot chooses to click inventory items, with standard randomization: This is the method used by a lot of our competitors. Because they use standard pseudo-randomization, every possible point which can be clicked has the same chance of being clicked as any other. This, in essence, is what is means to be random. From the human data we've collected, here is how humans actually choose which points to click: As you can see, there is a major difference between the two. Humans tend to aim for the center of the region they are clicking, and end up clicking a point which is near the center. The points are normally distributed around the center of the region. We know Jagex tracks mouse movements and the points which are clicked. So is it possible to determine if someone is a bot just by how they choose points to click? Totally. The difference between the two pictures is obvious. We originally noticed this difference many years ago, and I made an algorithm which I thought would be more human-like than the standard point selection. Here's the click points which it produces: It's slightly less bot-like compared to standard random point selection, but still far from human-like. It wasn't until I launched the data collection program and analyzed the submitted data that I was able to create a human-like point selection algorithm. Here's what our new algorithm produces: Compare this image to the image of the points which humans chose to click. The difference? There is no difference. I've made a point selection algorithm which accurately models how humans choose points to click. Let me juxtapose the two images: The left image is of the points clicked by humans. The right image is of the points clicked by TRiBot using our new algorithm. Is it possible to determine a bot was active just by looking at the points chosen to be clicked by our new algorithm? Not at all. This is just one area which has been improved because of our data collection project, and one less piece of evidence for Jagex that a bot has been running. Note that our algorithm isn't just for inventory items. It is applied throughout our API, and used for object clicking, NPC clicking, interface clicking, etc. I'd also like to point out that this algorithm was originally released during the summer, but I thought I'd include it in this post since it resulted from the data collection project. Reaction Times The step we've taken which is more dramatic than above involves reaction times. First, let me start off by saying how important having human-like reaction times is when it comes to evading bans. Problem number one is that bots typically have very low reaction times. Most humans aren't able to have these low reaction times, at least for very long. In turn, this increases the amount of XP and items gained while botting to very high levels; levels which aren't human-like. It's very much possible that Jagex examines the playing efficiency of players to determine if the player in question has used bots. They simply have to look for players with very high playing efficiency. The second problem is that reaction times produced by bots are typically evenly distributed between a minimum and a maximum reaction time. Jagex can catch on to this based on the delays between actions via their server, and determine whether a player is botting. Let me now divulge into both problems using the human data we've collected. Most, if not all of our competitors advise scripts to use random delays between actions. Does that sound like a reasonable way to evade Jagex's banning system? Instead of having a constant delay of 550 milliseconds between a pair of actions, having a random delay between 450 and 650 milliseconds between the pair of actions? The problem with that is once again, humans aren't random. Here is the delays resulting from having a random delay between 450 and 650: The delays are evenly distributed between the minimum and maximum, with a mean and median in the center of the min/max, and of about the same value: 550. Using the human data we've collected, here is how actual human reaction times are distributed: The human reaction times are right skewed, and obviously much different from the bot produced reaction times. How different are reaction times generated by bots vs. reaction times of humans? Very different. Is it possible to determine if a player is botting based on the reaction times? Absolutely. Just look at how different the above images are. From this discovery, I sought out to create an algorithm which generated reaction times like a human does. Here's what my reaction time algorithm produces, given the same input factors as the human reaction times: Using nine different factors, my algorithm has successfully re-built the human reaction time for all different click scenarios. If you compare the two histograms above, you'll notice the means and medians are about the same, and the spread of the data is about the same. If Jagex were to analyze the reaction times of a bot using my reaction time algorithm, they would be completely fooled. How is my algorithm so accurate? There are many factors which contribute to the actual reaction time of humans. Humans by definition aren't random. These factors all contribute to the probability of a certain reaction time. Though analyzing the submitted human reaction data, I have identified the nine most significant factors which contribute to the reaction time of a human. These nine factors are all taken into consideration of my algorithm to generate a pseudo-human reaction time. Let's juxtapose all three histograms: Which of the captured reaction times were produced by a human? Which of the captured reaction times were produced by a bot? The first set of reaction times was obviously produced by a bot. But you cannot tell that the third set of reaction times was produced by my algorithm because it closely models the reaction times of a human. RuneScape bots have existed for over a decade, but most of them all still have this problem. We seem to be one of the few botting platforms to have properly addressed this problem. Typical Human Behavior A problem which has been prominent with bots for over the past decade is "typical anti-ban." This is where script developers think checking XP randomly, rotating the camera randomly, opening the music tab randomly, etc. is effective anti-ban. This is not effective anti-ban for two reasons: Humans aren't random. Typical anti-ban is. A pattern will form with typical anti-ban, in that these random actions are performed every X seconds or minutes. Humans don't check their XP programmaticly every 5 minutes. Humans don't randomly rotate their camera every 3 minutes.Human behavior nowadays involves multi-tasking. Humans will often switch tabs to reddit, facebook, etc. Bots don't mimic this behavior.From the human data we've collected, we've discovered how to more accurately model human-behavior. One of the improvements we've made is that our bots will now make the mouse leave the game screen area, to simulate the player using reddit, facebook, etc. And no, we didn't just come up with an algorithm to arbitrarily or randomly decide on when to simulate this behavior. We statistically analyzed the human data to produce an algorithm which accurately models how a human behaves in this area. This is just one of the ways we've improved our bots in simulating human behavior, but is one of the more important aspects. A Note About Character Profiles In case you didn't already know, TRiBot uses character profiles to differentiate all of the RuneScape characters using our bots. A character profile is a unique set of attributes of how the character will play the game, which is generated for each different RuneScape character. Say you are botting on two different RuneScape characters: Mike and Molly. Mike and Molly will have two different, unique character profiles. This will change the way our bots play the game on each of the characters. Character profiles have been integrated with click point selection. Each different RuneScape player will have different ways of choosing points to click, and will still follow the human model. Character profiles have been integrated with reaction times. Each different RuneScape player will have different reaction times based on the factors which contribute to reaction times. Character profiles have been integrated with human behavior simulation. Each different RuneScape player will behave in different ways in terms of doing things other than the current task at hand. So not only did we create models and algorithms to accurately simulate human game play, we extended everything to be based off character profiles, so that no two bots are too much alike. Implementing the Algorithms So now you're wondering whether these algorithms are automatically implemented in every script, or if they have to be manually implemented by scripts. Well, our point selection algorithm was automatically implemented, to be used by every script. But reaction times and human behavior simulation have to be manually implemented by scripts. To allow scripters to implement these algorithms, we have created a new utility: Anti-Ban Compliance 2 (ABC2). The aim of ABC2 is to allow all scripts to implement a standardized anti-ban, backed by character profiles, and most importantly, human data. Read about implementing it here: https://tribot.org/forums/topic/60720-guide-to-implementing-abc2/ So far, the following scripts have implemented ABC2: Delta CookerDelta FisherDelta MinerDelta WoodcutteraAgility [Premium]A Note About Scripts Implementing ABC2 Upon running scripts with ABC2, you'll notice that they have lower XP rates than scripts which don't implement ABC2. Why is this? Because as I've said above, bots are a lot more efficient than humans. To accurately portray a human, bots must be of the same speed as humans. This is the cost of human-like anti-ban. If you don't want to get banned, your bot should behave like a human. If you aren't satisfied with human-like XP rates and resource collection rates, then feel free to use scripts which don't implement ABC2, but you can expect to be banned. Another thing to note is that sometimes ABC2 produces really high reaction times, up to a minute or longer. So if your bot seems to just be idling doing nothing, it's probably because of this. No, those high reaction times aren't a bug. It's how humans play. Humans don't have consistently low reaction times like bots do. Sometimes humans have very high reaction times, and that can be because of many different factors. ABC2 mimics this. Conclusion Thank-you for reading this post. I especially thank all of the people who contributed to the Reaction Timing and Other Playing Data project. We have come a long way in creating the most human-like bots because of the human data we've collected. I cannot stress enough how important statistically analyzing human game play is in creating human-like bots and anti-ban. This isn't it. We will continue collecting different human data for all areas of game play, and will continue making algorithms and models which simulate human behavior. I have a long list of areas which we will improve. TRiBot will always be the leader in human-like botting. By implementing anti-ban based on real human biometric data, we ensure our long term success in the fight against bot detection. Thanks, TRiLeZ, TRiBot Staff