Leaderboard
Popular Content
Showing content with the highest reputation on 02/27/15 in Posts
- 
	Dear community, Prepare for a long but awesome read! I feel like giving you all an insight in what has been happening behind the scenes of OSBot lately and what is to come. We have been working hard in the last couple of months to get the bot back where it used to be in the summer/autumn days of 2013. Fixing issues with the API and the bot is one part of that. The other part exists of creating new innovations and adding new features to keep up with other bots or to make OSBot unique and innovative. These were things we were doing quite nicely back in the days and it's time to reclaim this glory. Many of you must have noticed that MGI was added to the team as a developer. With this promotion we also promised to find a solution for the high ban rates that we, but also other bots, are facing. Ban rates. Detection of bots can be divided in two main strategies. The first strategy is detection on a low level, this means detection of the modified RS client. The second strategy is by analysing behaviour of players. Both can be extremely efficient at what they do. Combined they do a pretty good job, considering the banning rates some people are facing on any bot they use. The first strategy is done by detecting whether the RS client that runs is modified or not and whether it is running in it's natural environment. The way current way most bots work is by downloading the RS client and modifying the client to be able to communicate information of the game with the bot engine. There are ways around it, but the way RS currently has their system set up means that battling their strategies to detect bots on a code level are meant to break and would require a lot of updating. Basically using a bot these days or for example RSBuddy (a runescape helper, not a bot) just plain out tell RS that they are bots. The second strategy is behavioural analysis. By having intelligent systems that compare behaviour of players/bots and compare it to statistics they have of players that are proven to be bots, they spin an entire web of intelligence that could recognise bots. This they can't obviously do for every player, so they most likely have different monitor levels, where each level higher means that the behaviour is analysed in more detail. Those two strategies are then probably combined, where the first strategy is probably the main flagging system to be upgraded to monitor tier 1. Monitor tier 1 then monitors on a global big picture view. Botting times, activities, quests being done, experience gain, trading activity etc. If monitor tier 1 suspects suspicious behaviour, your account will be moved in to monitor tier 2 which might analyse mouse behaviour or other more in depth and resource intensive analysis. From there there might be more tiers until you get banned. This of course is speculation. Having good scripts does lower the chance on detection by a lot. Changing scripts, having different behaviour on the same scripts by two different users, intelligent and human like action etc can all make a difference. But these won't make a difference if a bot basically says it's a bot based on a technical level of the code. So what is the solution? The theoretical solution seems simple. Come up with an idea that has no possible detection on a code based level. The implementation of it however is far from easy. Now to the interesting part: MGI has been working on an idea conceived several months ago and is nearing its completion. We call it the mirror system. The mirror system should tackle strategy one completely. OSBot's new Client Mirror System. Before blabbing about all kinds of technical details here is a picture of what it looks like. A picture is worth a thousand words they say. MGI called this feature the Client Mirror System. It leaves NO trace in the RS client of our bot and is by no means visible on the JVM. The RS client runs in its own environment which makes it even better. You still have all the controls you had in the past. This could potentially knock out the initial flagging system that takes your account in to monitoring. We don't know for sure how their system works though, but this completely diminishes the detection on a code level base. This feature does require additional CPU, so the future will have to show how much of an impact it will have if you use this for big bot farms. We will however provide you with the option to use the old injection system or the new Client Mirror System and they will be able to be used in a mixed fashion if you prefer. In any way, the performance overhead might be worth it for everyone in the end. Work is still being done on finishing the entire feature including optimizations. Other planned features. OSRS update handling. We will provide a system that will handle with OSRS updates. Once the bot recognises there is an update about to happen, it will log your account out or wait for the disconnection. After that it will wait for the new hooks to become available on the server and reboot the RS instance. The moment when this reboot happens will of course be randomised so that not all OSBot users log back in to the game at once. After the reboot the script will continue where it left of. Grand Exchange API. With the GE released we will be providing an API for scripters to use the GE. OSBot client chat. I have written a server module that will be able to route chat traffic to and from the server and supply it to the forum's IP.Chat module. Users will be able to chat with the people on the forums and vice versa. We hope this feature will increase traffic to the forums and give people something to do when they choose to baby sitting their bots. I hope you had an interesting read , Sincerely, The OSBot team UPDATE:20 points
- 
	Rumors have it that this “news” has been recently eating much of the newsfeed although it cannot be verified if it is true to life or just a make-up story. Nonetheless, this news apparently top notched the headlines when this guy knew his wife was up to something and just decided to wait for the right time to give her what she rightfully deserves. This guy knew his wife was “rocking someone else” but could not exactly corner her with the sufficient evidences. Check out what he did: So I had a feeling she was cheating as she set off a lot of red flags. Constantly laughing and smiling when texting, saying it was just her mother when I asked. Needing to stay late every night after work. When I’d call in her co-workers said she left hours ago. When I asked her what was going on she’d laugh it off and say it was just something they did to each other at the office all the time. The last straw to where I knew something was definitely up was when she went out “to get milk” at 11:30 at night and didn’t come back until 2 in the morning. Now if there is any words of wisdom I can pass on to others in all my years of experience, it’s if you think your significant other is cheating, hire a private investigator. They’re good at what they do and they will get some evidence that really helps in the later divorce. Fast track to her birthday, several months down the road. Now I know what you’re thinking, why the hell did I wait months before I confronted her and did it really need to be on her birthday? The answer to the first question is I wanted as much evidence as possible to hand off to my lawyer as well as make arrangements to find a new place to live, etc. Answer to your second question is of course it had to be on her birthday. You see after asking her what she wanted to do on her birthday this year she was rather insisted on me going out of town with my friends as she just had to work anyways and didn’t want to be reminded she was aging. So I know something is up and after finding a bottle of champagne and two glasses hidden in my closet something in me snaps. So I do what any sensible man would have done. I leave and go to my friends house pretending like I am going out of town. While there I call up her mother, father, sister and several of her friends. I tell them how I want to give her a big surprise by sneaking into her room with party streamers, kazoos and a big cake with candles. Sounds fun right?! Well, boy was it. I had everyone meet me outside our apartment at 8:30 in the morning. We all pile in the elevator (about 8 of us in total); her mother is holding the cake and I’m reminding everyone to be as quiet as they can be. I put my key in and unlock the door; we all sneak in and make our way down the hall towards the bedroom. Each holding a kazoo and her mom holding the cake grinning from ear to ear. Well as I throw open the door, we all yell surprise! But the surprise was on us and there was my wife, butt naked with her lover staring at us wide eyed. Mom drops the cake, sister screams, father begins to shout. I pretend like I’m horrified to which her friends try to push everyone out while yelling at her. My wife, excuse me, ex-wife is sobbing and screaming how could I while the lover is desperately trying to put his pants on while running out of the place. Needless to say, it was one of the best birthday presents I have ever given. What would you do if you caught your partner cheating? Comment your thoughts5 points
- 
	5 points
- 
	This dispute is coming to an end very soon. I've made 6M to put towards this dispute, with the 14m refunds, and the 10m @Pain is donating I'm at 30/31m. I would like to thank everyone for their support, especially @Pain for his generous donation.4 points
- 
	3 points
- 
	2 points
- 
	2 points
- 
	2 points
- 
	2 points
- 
	There one more bug in the script. When my character goes to the cave to do ´cave rotation´, it sometimes walks to the snowy part and just keeps clicking on the ground instead of walking into the cave. Could you fix that please, it makes 5 hour afking impossible. Keep up the awsome scripts!2 points
- 
	If they gave an ETA they would be setting their selves up for an execution if they didnt meet the deadline. Dont force them to give an ETA. :P2 points
- 
	2 points
- 
	There's a couple more features I'll add on Sunday. Will probably release it next week. Feel free to suggest features. Already on the list: Create / display / edit multiple areas. Clone existing area. Save to file. Load from file. Draw positions / temp polygon when adding positions.1 point
- 
	Jagex staff? Takes 123456789 years to deal with appeal. Osbot staff all the way1 point
- 
	1 point
- 
	No worries, the script will re-adjust and return back to normal. Thanks for the feedback though xD1 point
- 
	Script has been updated to V0.07: - Should fix spamm clicking ground - Now opens door in edgeville - No more double/triple clicks on tree. - Powerchop teak trees fixed if anyone gets any other bug, please report below. Goodluck have fun! Khaleesi1 point
- 
	1 point
- 
	1 point
- 
	1 point
- 
	1 point
- 
	1 point
- 
	1 point
- 
	1 point
- 
	Use Walker walk = new Walker(this); or Walker walk = new Walker(getBot().getScriptExecutor().getCurrent());1 point
- 
	I do not use afk training, am i supposed to? Banking goes flawless right now, good job! im using 23 lobs, 4 str pots and cammy teles:)1 point
- 
	The is just unfornutate, I'll investigate this issue. If you find a error/ bug just post it here... A script can always have some small issues. Thx for the post, I'll check out whats wrong with edgeville. I don't know what's wrong with spamm clickign the ground ... Does it spam click the minimap? Spamm click trees wil be solved in next update. No, I'll fix this in next update! I'll get this sorted ASAP. Kind regards Khaleesi1 point
- 
	1 point
- 
	Mate you're pretty dope with textures, i like your lighting on them i cant really give CnC because i dont bymyself make 3d texts but really nice lighting is perfect on every of them1 point
- 
	1 point
- 
	1 point
- 
	Nobody is going to tell you their methods. Figure out your own and keep them for yourself is my best advice.1 point
- 
	I have moderated content on here cause I'm an asshole so my posts need to be approved by mods. import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.script.Script; /** * Created with IntelliJ IDEA * User: Anthony * Date: 6/8/2014 */ public class XPListener extends Thread { private boolean running; private int lastXpGain; private long lastXpGainTime; private Script sI; private Skill skill; public XPListener(Script sI, Skill skill) { this.running = true; this.sI = sI; this.skill = skill; } @Override public void run() { while (running) { int oldXp = sI.skills.getExperience(skill); try { Thread.sleep(600); } catch (InterruptedException e) { } int newXp = sI.skills.getExperience(skill); if (oldXp != newXp) { lastXpGain = newXp - oldXp; lastXpGainTime = System.currentTimeMillis(); } } } public void setRunning(boolean running) { this.running = running; } public Skill getSkill() { return skill; } public int getLastXpGain() { return lastXpGain; } public long getLastXpGainTime() { return lastXpGainTime; } } import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.script.Script; import java.util.HashSet; import java.util.Iterator; import java.util.Set; /** * Created with IntelliJ IDEA * User: Anthony * Date: 6/8/2014 */ public class XPTracker { private Script sI; private Set<XPListener> xpListeners; public XPTracker(Script sI) { this.sI = sI; this.xpListeners = new HashSet<>(); } public void startTrackingSkills(Skill... skills) { for (Skill s : skills) { XPListener listener = new XPListener(sI, s); listener.start(); xpListeners.add(listener); } } public void stopTrackingSkills(Skill... skills) { Iterator<XPListener> iterator = xpListeners.iterator(); for (Skill s : skills) { while (iterator.hasNext()) { XPListener l = iterator.next(); if (l.getSkill() == s) { l.setRunning(false); iterator.remove(); break; } } } } public int getLastXpGainForSkill(Skill skill) { int returnValue = -1; for (XPListener l : xpListeners) { if (l.getSkill() == skill) { returnValue = l.getLastXpGain(); break; } } return returnValue; } public long getLastXpGainTimeForSkill(Skill skill) { long returnValue = -1; for (XPListener l : xpListeners) { if (l.getSkill() == skill) { returnValue = l.getLastXpGainTime(); break; } } return returnValue; } public Set<XPListener> getXpListeners() { return xpListeners; } } Code is shit I wrote it awhile ago (it's not even a listener lol idk why I called it that). Create and register like so: XPTracker tracker = new XPTracker(this); tracker.startTrackingSkills(Skill.FLETCHING); The check using tracker methods: tracker.getLastXpGainTimeForSkill(Skill.FLETCHING) // returns milliseconds since last xp gain1 point
- 
	1 point
- 
	The risk to get banned is ALWAYS there. There is no way to stay 100% safe. Some places/methods have a high banrate, some a low. Luck plays also a role. Ways to lower the chance of a ban? - Use old accounts or at least not a complete fresh and train some combat legit - Take long human like breaks (play 2h break 1h is not human like if you repeat this all the time) - Play legit too - Don't bot where you can make a lot of cash (e.g green dragons, druids etc.) - Change tasks (fight monster X, take a break, and train another skill like a human would do it) *note even by doing all this the chance to get banned after a few hours is still there!1 point
- 
	Czar can u fix this is not like Human spam click ( just one,two click good no need 7x depo all xD ) Thx1 point
- 
	1 point
- 
	1 point
- 
	1 point
- 
	Use of a filter would be appropriate here A filter is a way of it only accepting a entity if it meets all the criteria. Currently your only criteria is for the entity to be named "Cow" which, even with the checks underneath will still find any cow at all. The only reason you dont attack one whilst fighting is because of some of the checks underneath. Your check in filter form would look like: NPC cow = npcs.closest(new Filter<NPC>() { @Override public boolean match(NPC npc) { return npc != null && npc.getName().equals("Cow"); } }); Which checks would return the same but you only want to find a cow not in combat so you'd need to add more checks NPC cow = npcs.closest(new Filter<NPC>() { @Override public boolean match(NPC npc) { return npc != null && npc.getName().contains("Cow") && !npc.getName().contains("Dairy") && !npc.isUnderAttack() && npc.isAttackable() && npc.getHealth() > 0; } }); This check checks for the name, and would allow inclusion of the little cows but excludes dairy cows after it has identified the fact its a cow it moves on to check: Is the npc under attack? is the npc able to be attacked by your player? is its health > 0? (avoid clicking on cows which are dying) you can add as many checks to this as you like. Sorry if my explanation is bad1 point
- 
	1 point
 
		 
       
       
       
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	