-
Posts
82 -
Joined
-
Last visited
-
Feedback
100%
Everything posted by Bobbey
-
Linux can use the beta mode for open with jagex luncher
Bobbey replied to osbotfarm's topic in General Help
You should try and run the osbot jar in your terminal > java -jar osbot.jar And then you will potentially see an error message that you can post here. You can also install https://github.com/Adamcake/Bolt and then use the env variables to launch the client with a character selected. Bolt saves the credentials somewhere. .env("JX_DISPLAY_NAME", display_name.as_ref()) .env("JX_SESSION_ID", session_id.as_ref()) .env("JX_CHARACTER_ID", character_id.as_ref()) If you dont mind trying to compile a rust program then this one works as well. You could use or modify https://github.com/aitoiaita/linux-jagex-launcher You can change the run_runelite_with_jagex_account in daemon.rs function to run osbot instead of runelite Command::new("java") .arg("-jar") .arg("/home/user/osbot.jar") .arg("-autologin") This way you can just type in the terminal "osrs-launcher" and then select an account and it will work. For the login process to work you'll need to follow this as well https://github.com/aitoiaita/linux-jagex-launcher/issues/3 -
Currently writing an anti-ban and want opinions.
Bobbey replied to Kintaro Oe's topic in Botting & Bans
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. -
Custom mouse behavior vs Interact methods/ Event Injection
Bobbey replied to Rudolph123's topic in Scripting Help
The mouse is not visible by default. You can either render it or enable the mouse position option in the debug options. You can create a mouse move profile and set it like so: MouseMoveProfile profile = new MouseMoveProfile(); profile.setNoise(); profile.setDeviation(); profile.setSpeedBaseTime(); profile.setFlowSpeedModifier(); profile.setMinOvershootTime(); getBot().setMouseMoveProfile(profile); You can move the mouse without using the mouse handler of osbot as described here: https://osbot.org/api/org/osbot/rs07/input/mouse/ClientMouseEventHandler.html#generateBotMouseEvent-int-long-int-int-int-int-boolean-int-int-int-boolean- -
Non-SDN scripts are troublesome with resources. You have to download the resources externally. That's why I made some code which can be used to download any image from the oldschool runescape wiki or any other website for that matter. public static CompletableFuture<BufferedImage> getImage(File imageFolder, String fileName, String url) { File imageFile = new File(imageFolder, fileName); //AccessController.doPrivileged gives the new thread permission to read the image from the data directory return CompletableFuture.supplyAsync(() -> AccessController.doPrivileged((PrivilegedAction<BufferedImage>) () -> { try { if (!imageFile.exists()) { downloadImage(url, imageFile); } return ImageIO.read(imageFile); } catch (IOException e) { throw new RuntimeException(e); } })); } private static boolean downloadImage(String urlString, File destination) throws IOException { URL url = new URL(urlString); InputStream in = url.openStream(); FileOutputStream fos = new FileOutputStream(destination); ReadableByteChannel rbc = Channels.newChannel(in); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); in.close(); return true; } Example usage: //Somwhere in your class private BufferedImage coinIcon; //In your paint method if(coinIcon != null) { g.drawImage(coinsIcon, x, y, null);//Use original dimensions g.drawImage(coinsIcon, x, y, width, height, null); } File imageFolder = new File(getDirectoryData() + File.seperator + "scriptname", "images"); String fileName = "coinstack.png"; String url = "https://oldschool.runescape.wiki/images/Coins_10000.png"; Function<Throwable, Void> errorHandler = e -> { script.log(e); return null; }; ResourceManager.getImage(imageFolder, fileName, url).thenAccept(image -> { coinIcon = image; //Note: this is off the main thread, if youre inserting into lists or maps from multiple of these calls, use synchronized or concurrent collentions and maps. }).exceptionally(errorHandler); The fileName is the name for how it is saved in the data folder. This code spawns a new thread that reads or downloads the image. Then the thenAccept function is called with the buffered image.
- 1 reply
-
- 4
-
Are people still selling legacy tuts or legacy 50/50/50s?
Bobbey replied to Alakazizam's topic in Requests
Legacy meaning not-jagex-accounts? -
I was getting annoyed by osbot installing updates to the home directory and me having to give it executable permissions over and over and looking for the correct file to launch. Therefore I've written a script that creates an application entry so you can just search with the SUPER key on your keyboard and then typing "osbot". The installed script will find the latest jar in your home folder and launch that. Tested on Ubuntu. May work on Fedora, Debian and their derivatives. Note: before installing, make sure there is any osbot jar present in the home directory /home/username/osbot x.x.x.jar Installer Note: the installer requires "osbot_icon.png" in the working directory. This icon needs to be 48x48 or 64x64 or 128x128 etc. You can use this image for example. Don't forget to rename it after downloading. $ sh install.sh Creates a script at /usr/local/bin/osbot which finds and launches the latest osbot.jar in the home directory. Makes the script executable Copies osbot_icon.png to /usr/share/icons/osbot_icons/osbot_icon.png and gives it the correct permissions Creates the desktop entry ~/.local/share/applications/osbot.desktop and gives it the correct permissions Reloads the application database Logs can be found at /tmp/osbot_launcher.log Uninstaller $ sh uninstall.sh Noob guide: Read the comments of this post to see if it's not malicious code. Create a folder somewhere and download the image on this post into it and rename it to osbot_icon.png Right click in the folder -> Open in terminal Type "nano installer.sh" and copy the installer code from this post and right click in the terminal. CTRL + O and CTRL + X to save the script. Type "sh installer.sh" This image is uploaded to osbot and is converted to webp. It's here in case imgur removes the other image:
-
I appreciate the last 2 updates. 4 things were fixed that were reported by me
-
It's important to note that it does work sometimes if I am more zoomed out.
-
But how about you?
-
I pizza promise I will! I am at the development stage.
-
1 account, 1.2 mil per day :sad_pepe:
-
This is archived and not guaranteed to work unfortunately.
-
<15 mins is pretty short. Does that mean youll only break for like 2 mins? Do you log out?
-
Ban waves are supposed to be pretty random I think. The main reason many accounts are banned on Wednesday is because things change and bots break. They can easily identify if 10000 accounts all of a sudden make the same mistake repeatedly at the same thing. Prime sales will flood the game with a lot of bots so if anything, their hands are fuller. They will probably work hard to compensate for that.
-
https://www.youtube.com/watch?v=TMC1t2OTi6Q The door probably has nothing to do with it. I have 10k in my inventory If you mean the walker that is in beta, that would most likely have the same issue as it uses webwalking.
-
Wanting to buy accounts with Dragon Slayer 1 completed.
Bobbey replied to Alakazizam's topic in Requests
I was considering making these. How much do they go for? -
But i dont nees to go through that house. And even if it fails to take the door and then still continues onto the dock. Then with barnaby on screen it just fails oit of nowhere PS i notice this is in the wrong section. It's not a mirror issue
-
Getting from ardougne square to brimhaven using webwalking fails at least twice before success. Camera zoom: 465 WebWalkingEvent; Terminated! Exceeded attempt threshold. last: [Pay-fare] => Captain Barnaby; pos = [x=2676, y=3275, z=0]; Captain is on screen, webwalking decides its a failure anyway. Might it have to do with the fact that the path sortof passes through a door but then does not? (The house with one door and half open)
-
The issue still occurs.
-
[INFO][Bot #1][08/14 03:29:19 PM]: WebWalkingEvent; Terminated because of break condition! [INFO][Bot #1][08/14 03:30:21 PM]: WebWalkingEvent; Terminated because of high priority break condition! [ERROR][08/14 03:30:24 PM]: Uncaught exception! java.util.ConcurrentModificationException at java.base/java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:970) at java.base/java.util.LinkedList$ListItr.next(LinkedList.java:892) at e.e.e.e.cOn.paintComponent(aa:721) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1119) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [ERROR][08/14 03:30:40 PM]: Uncaught exception! java.util.ConcurrentModificationException at java.base/java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:970) at java.base/java.util.LinkedList$ListItr.next(LinkedList.java:892) at e.e.e.e.cOn.paintComponent(aa:721) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1119) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) My character was walking the previous path reversed when I already cleared that path to make a new one. Perhaps it has to do with the trace as this might mess up the order of pathing or the path might not have been cleared properly. [Edit] this error seems to occur when I start a walk, stop it, then drag the map
-
Yeah thanks. But I am mostly reporting it so that the underlying problem can be fixed
-
Bug report. If I start the script at the top floor of the lumbridge castle the script crashes.
-
Though the performance was temporarily choppy for a minute the other day, that is not really the issue for me. The issue with the website is that it is hard to make areas tile exact and you cannot see them ingame to confirm exactness. Also I cannot put in existing areas in the textarea of the page. Something I can do in the script. The latter would be an improvement for me personally.