Kintaro Oe Posted July 14 Share Posted July 14 so my questions to you are 1. what do you features expect to antiban in a script to have? 2. what are some ideas/features you would like to see? any cool ideas are welcome thank you, im sort of just brainstorming first. Quote Link to comment Share on other sites More sharing options...
yfoo Posted July 15 Share Posted July 15 Contextual based on the actual activity you're doing. Example: Powerfishing script. AFK for a bit after the your character stops fishing. This can be due to the fishing spot moving or inventory being full. Proceed to drop fish if the inventory is full or almost full after your character stops fishing. Its reasonable for someone to drop fish if there is only 1 inventory slot left. Then restart fishing to maximize AFK time per fishing spot interaction Example Thieving Script. When the player is stunned, randomly select an action(s) to preform or none at all... Such as Eating Food, Spam clicking, Dropping junk (jugs after drinking wine), Opening pouches, Menu hover the NPC, ect. For each script session, set a random clicking cadance to use for pickpocketing. I simply set a mean/std_deviation at script start. Then use these 2 numbers to generate random sleep intervals between clicks. Continue pickpocketing for a few iterations even after your character is at max pouches. Basically some things you would expect a real player to do. Quote Link to comment Share on other sites More sharing options...
Trayarc Posted July 16 Share Posted July 16 Action delay timer: After every 1-20 or so actions with random bias towards either end, don't initiate an action until a random time delay. For example a mining bot, clicks the rock, "You manage to mine..." text pops up, the script would have a chance to not click the next rock from anywhere between 1 second to 10 seconds or minutes or whatever the user chooses in the GUI. The goal would be to create a random action profile for the account, instead of a predicted action profile. Hope I made sense and GL Quote Link to comment Share on other sites More sharing options...
Bobbey Posted July 16 Share Posted July 16 Everything I'm about to say is what I think, presented as if it's what I know; They do heuristics analysis. Account age, IP, P2P/F2P, general behaviour, where does the account go. Does it do the same as other accounts? How long? They then get a number from 0 to 1.0 on how suspicious you are. Once you exceed a certain number, you get a ban. In order to be sure, they need a longer period of time (hence the 24 hour restriction) to be confident that they are right. I was once banned on an account I did manually from tut to GE. I turned on a woodcutting bot and in 1 minute of botting I was banned. Honestly I believe I would have been banned if I did the cutting without the bot. They solely banned me based on that I was doing everything exactly as the script I wrote. Normal players run around a bit, take other paths. They deviate from the perfect steps to their goal more and more over time. Antiban should be about doing different things, doing them differently. It should be about switching up methods, doing more than just trying to get GP or XP. Most importantly, they compare your behaviour with others. I've written a safespot script for moss giants and I have about 30k kills with it. But it's only on that account. I take a few breaks here and there, I don't do much else on the account as F2P is quite limited. I am not at risk of a ban because I have used this script only on this account and I am behaving unique to other bots - as I've used this script on this account only. Quote Link to comment Share on other sites More sharing options...
Alakazizam Posted July 16 Share Posted July 16 So I have a couple things I did on my scripts that seemed to do well for me. I'm on a bit of a hiatus, just kind of lurking the forums. I had one function I'd run after every action to check if it should be taking a break or not and if it's a quick break (5-35 sec) or a long break (45 sec - 5 min). It takes an input and the higher the int the less likely the break will trigger. So use lower numbers for tasks that click less like fishing, and higher numbers for click intensive stuff like thieving. public int breakRoll(int BreakChance){ int restChance = random(1, BreakChance); int longRestChance = random(1,BreakChance / 2); int longRest = random(45_000, 300_000); int shortRest = random(5_000, 30_000); if(restChance == BreakChance){ if(longRestChance == BreakChance / 2){ log("Long resting for " + longRest); return longRest; } else { log("Short resting for " + shortRest); return shortRest; } } else { return 1_500; } } Also, if I'm dropping an inventory of stuff I try not to use the drop functions out of the API, I use a function that drops in random patterns. This one will drop a whole inventory, but you can remove inventory slots from the dropPattern arrays and those inventory slots will not be dropped, but I've only ever used this for dropping stuff from thieving stalls and cleaning herbs (requires removing a couple lines of code) void dropInventory() throws InterruptedException { if(tabs.getOpen().equals(Tab.INVENTORY)) { int[] dropPattern1 = {0, 1, 2, 3, 7, 6, 5, 4, 8, 9, 10, 11, 15, 14, 13, 12, 16, 17, 18, 19, 23, 22, 21, 20, 24, 25, 26, 27}; int[] dropPattern2 = {0, 4, 8, 12, 16, 20, 24, 25, 21, 17, 13, 9, 5, 1, 2, 6, 10, 14, 18, 22, 26, 27, 23, 19, 15, 11, 7, 3}; int[] dropPattern3 = {0, 4, 8, 12, 16, 20, 24, 25, 26, 27, 23, 19, 15, 11, 7, 3, 2, 1, 5, 9, 13, 17, 21, 22, 18, 14, 10, 6}; int[] dropPattern4 = {0, 1, 2, 3, 7, 11, 15, 19, 23, 27, 26, 25, 24, 20, 16, 12, 8, 4, 5, 6, 10, 14, 18, 22, 21, 17, 13, 9}; int[] myPattern = {0}; switch (random(1, 4)) { case 1: log("pattern 1"); myPattern = dropPattern1; break; case 2: log("pattern 2"); myPattern = dropPattern2; break; case 3: log("pattern 3"); myPattern = dropPattern3; break; case 4: log("pattern 4"); myPattern = dropPattern4; break; } if (myPattern.length > 1) { keyboard.pressKey(16); for (int i = 0; i < myPattern.length; i++) { getMouse().click(getInventory().getMouseDestination(myPattern[i])); } keyboard.releaseKey(16); sleep(1_000); } else { log("Unable to set pattern"); } } else { tabs.open(Tab.INVENTORY); } } To change it up from dropping items to clicking items for things like cleaning herbs, remove the 2 lines that say keyboard.pressKey(16); keyboard.releaseKey(16); Key(16) is shift. Quote Link to comment Share on other sites More sharing options...
FushigiBot Posted July 16 Share Posted July 16 (edited) Antiban is a gimmick. Jagex uses heuristics and the ones at the top of the list is acc progression, client, in game bot location, and ip. There are more, but these are quite important. For the most part, the items here are what gets you flagged and then banned. Edited July 16 by FushigiBot Quote Link to comment Share on other sites More sharing options...