Jump to content

Nor3g

Members
  • Posts

    101
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Nor3g

  1. I'm making a snippet for scripts to connect directly to a mySQL db. I believe I read somewhere, as long as the library is in the same folder as the script/osbot client, can't remember which one, it will work. Haven't tested it yet but will probably do in the next few days. I can report back how it went.
  2. Nor3g

    Fire&forget Botfarm

    Thank you all! 02.02.19 Report: Unfortunately my girlfriend gave me a hard time because she said I was spending too much time with my computer, so I wasn't able to do the harder parts. However, I did clean up the training script, and the account launcher is sorta-finished now, because it is making accounts, and saving them to the db, but it fails a lot. After having taken a look at it, I can't figure out why it fails however this may change once I'm sober again. Yes, you read that right, I'm drunk af rn. Current state of the project is that I'm able to create accounts, assigned with IPs, train them with the training script so that they are "universal" and can be used for a number of Money Makers. However I won't be trying to amass these accounts yet, because I want the money maker finished before I start shelling out cash for proxies. Currently, I'm planning on running 10 bots per proxy, 1 mule per proxy and 10 bots per mule. This is with money maker #1, and can be changed depending on how much work the bot has to train through, before it is ready. Everything, except buying and feeding proxies is fully automated and requires no user input.
  3. Intro: I recently joined the Osbot community with the intent of using my knowledge about Runescape to make IRL cash. I've played runescape for years since I was very young. The last time i logged into my main was when I by random chance stumbled upon some news of a 10 year veteran cape. I quit the game a long time before that and didn't give the game much thought until my cousin, who I've used to play with, told me he recently started playing again. We used to play the game for hours every day, but eventually, right before the bot nuke and everybody was botting, we both said goodbye to the game after getting some 99s purely from bots. Needless to say, after you've botted, the grind becomes excruciatingly more painful, as you know there are more efficient ways to do all the menial tasks, so i looked around for bots. I was aware of the botnuke, and how it removed almost all the bots, but surely there must be some client somewhere. I stumbled upon a thread here, on these forums, about a zulrah bot farm. It was ran by mister Swedens, and after a while it became apparent that he was banking a lot. I thought to myself, I want in on this goldmine as well! So I took it upon myself to do research and learn about everything I could possibly need. I concluded that I wanted to make a fully fledged full auto bot farm. All I wanted to do in the end was the eventual bug-fixes and logging into the main mule to sell the gold for real world cash. And thus, this account, Nor3g, and my project was born. Finished Semi-Finished Not Started INFRASTRUCTURE GOALS -These are goals that are paramount to a full auto experience. 1. Make an account creator that gets fed proxies, and makes a chosen amount of accounts on each IP before saving the login details to a database. - fix database connection - Long term, get gmails from list of gmails I own to be able to unlock the accounts instead of random generation. - +? gmail trick option (This is now standard) 2. Make an account launcher code snippet that launches accounts from the database with a chosen script and it's respective configuration. -Implement list of worlds and their type 3. Make universal client(read botpart-muling) code that can be added to any scripts Task system. The bot should mule every 1-2 hours to minimize losses on the inevitable ban. 4. Make a server that handles requests from clients and launches a mule from the appropriate database, with appropriate mulepart-muling script and configurations. 5. Make a mulepart-muling script that is compatible with botpart-muling script. -Have the snippet update wealth to database -Make mulepart-muling script that is compatible with other mulepart-muling script for muleweb 6. Ban Checker - Account replacement 7. Make a universal snippet that implements a connection to the DB directly from the script TRAINING SCRIPT GOALS 1. Have script that completes Tut Island 2. Have script that does quests 3. Have script that trains to lvl 15+ 4. Have script that trains to lvl 30+ 5. Have script that trains to lvl 40+ 6. Have script that trains to lvl 50+ 7. Have script that trains to lvl 60+ 8. Have script that trains to lvl 70+ MONEY MAKING SCRIPT GOALS (MMSG) -I won't share my money makers, as that only increases competition, but for my scripts, these are all universal: 1. Making a script that has a satisfactory efficiency 2. Implementing the botpart-muling code into the script. 3. Satiate all worlds applicable (F2P and/or P2P depending on profitability. E.G If it generates more than a bonds worth before it is banned, it is ran on P2P world as well as F2P) AUXILIARY GOALS (long term) 1. Simple bot-herding script that hangs around the botting spot and reports any accounts not listed in my database for botting to remove competition (Will see if this is profitable even if it is going to cost an additional proxy). 2. Mule web that obfuscates where fund went to minimize mule ban rate. Will employ both trade to superior mule, drop at obscure location to superior mule, Duel arena to superior mule etc. 3. Strike deal with major OSRS gold arbitrage so that a server can ping the OSRS arbitrage website directly and sell the gold without my interference. Will check this every other day or so just to make sure I'm not getting scammed. 4. Mirror mode support 5. Have the Farm Manager notify when a bot has been logged in for too long, indicating that something went wrong with it -Have snippet that can change the title of the process to the name of the bot to be able to easily find it among the other bots Money Maker #1 1. MMSG 2. 10m/day 3. 20m/day 4. 30m/day 5. 50m/day 6. 80m/day 7. 100m/day OVER ARCHING GOALS: Stored accounts: 1. Have 100 trained accounts in storage in the database 2. Have 500 trained accounts in storage in the database 3. Have 1000 accounts trained and in storage in the database Amount of running money makers: 1. 1 MM 2. 2 MM 3. 5MM 4. 10MM Income Every month in OSRSgp: 1. Earn 300m in a month 2. Earn 600m in a month 3. Earn 900m in a month 4. Earn 1500m in a month 5. Earn 2400m in a month 6. Earn 3b in a month 7. Earn 10b in a month ANTI-BAN SYSTEM: Randomized tasks: This means that the bot will switch between different tasks at random (within the limits of it's configuration) Randomized order of operations: This means that the bot will randomize tasks within grouped limits. Example: wrong: if (!inventory has food || inventory is full of loot) { run to bank and get more food }else if (!location is correct) { go to location }else if (!attack style is correct) { change to correct attack style } else if (loot is nearby) { pick that shit up } else if (location is here) { attack monster } correct: group 1 { bank and get more food maybe switch attack style } group 2 { go to location maybe switch attack style } group 3 { attack monster pick that shit up switch attack style } group 1 shuffle; group 2 shuffle; group 3 shuffle; for ( int i = 0; group1.size; i++) { group1 } for ( int o = 0; group1.size; o++) { group2 } for ( int p = 0; group1.size; p++) { group3 } ROADMAP: V 1.0 Can run tutisland script Can run getname script Can run two botscripts simulataneously Can mule V 1.1 -Implemented custom loginhandler, removed tutisland script & getname script. V 1.2 -Implemented option to run unlimited script configurations. -Statistics overview. -Set maximum daily login hours. V 1.3 -Combat script has ability to wear armour. -Script updates it's stats between each task V 1.4 -Scripts have random order of operation as antiban. -Script bank and upload their gear, supplies and tools to database on script end V 1.5 -Muling implemented as a task in the script rather than a separate script. -Account replacement V 1.6 -Can mule set items. -Set trigger in database to set a role for bot after a certain lvl has been reached. Example, if a bot reaches 50 wc, it won't be assigned to train mining to become a clay miner V 1.7 Mule-web to super mule & sell mule 01.02.19 REPORT: 02.02.19 Report: 03.02.19 04.02.19 REPORT 13.02.19 15.02.19 17.02.19 Report 19.02.19 21.02.19 25.02.19 26.02.19 28.02.19 01.03.19 02.03.19 11.03.19
  4. I don't know how to set outputstream to autoflush if that's what you meant. After implementing the other changes you suggested, and some other changes (like closing the socket), it eventually gets it right: Even though It isn't breaking the program, I don't know why the client spams three consecutive messages to the server, or maybe it's the server spam printing one message three times to the console, but I'd rather have it a clean conversation. I'm going to work on this some more... Thank you so much for helping me! Greatly appreciated!
  5. I'm trying to build a mule script, and thus trying to build a server/client, where the client is the bot. This is the client side of the code: while (true) { out.println(Protocol.REQUESTING_MULE); out.flush(); System.out.println(in.readLine()); if (in.readLine().startsWith("mule:")) { mule = in.readLine().substring(5); out.println(Protocol.GOT_MULE); out.flush(); System.out.println(in.readLine()); } if (in.readLine().equals(Protocol.REQUESTING_WORLD)) { out.println("World:123"); out.flush(); System.out.println(in.readLine()); } if (in.readLine().equals(Protocol.REQUESTING_NAME)) { out.println("bot:bot"); out.flush(); System.out.println(in.readLine()); }' Thread.sleep(2000); } This is the server side of the code: while (true) { System.out.println(in.readLine()); if (in.readLine().equals(Protocol.REQUESTING_MULE)); { out.println("mule:mule"); out.flush(); System.out.println(in.readLine()); } if (in.readLine().equals(Protocol.GOT_MULE)) { out.println(Protocol.REQUESTING_WORLD); out.flush(); System.out.println(in.readLine()); } if (in.readLine().startsWith("World:")) { world = in.readLine().substring(8); out.println(Protocol.REQUESTING_NAME); out.flush(); System.out.println(in.readLine()); } if (in.readLine().startsWith("bot:")) { bot = in.readLine().substring(4); System.out.println(in.readLine()); } System.out.println(bot); System.out.println(world); //Thread.sleep(2000); } Console output, client side: Console output, server side: The protocol: public class Protocol { public static final String BREAK = "0"; public static final String REQUESTING_MULE = "1"; public static final String REQUESTING_NAME = "2"; public static final String REQUESTING_WORLD = "3"; public static final String GOT_MULE = "4"; } I thought that because they were in a while(true) they would finish the conversation, but it seems they get stuck on the first message they are supposed to send each. I've tried messing around with switch(in.println) and a lot of other stuff but I can't seem to get it to work properly. Any help would be greatly appreciated!
  6. Would love to, but I don't know how to do that. if you go to this: AIO/src/org/aio/activities/skills/fishing/FishingLocation.java and change this: MUSA_POINT(new Location("Musa Point", new Area(2924, 3176, 2925, 3183))), to this: MUSA_POINT(new Location("Musa Point", new Area(2923, 3176, 2926, 3183))), It now covers all the fishing spots.
  7. I changed the port but it still shows the exact same error message: Nevermind, I didn't reload properly. Now I get a different error: Its the same one, very many times. But atleast it's progress, right.
  8. Server: public class MultiThreadedServer implements Runnable{ protected int serverPort = 9000; protected ServerSocket serverSocket = null; protected boolean isStopped = false; protected Thread runningThread= null; public MultiThreadedServer(int port){ this.serverPort = port; } public void run(){ synchronized(this){ this.runningThread = Thread.currentThread(); } openServerSocket(); while(! isStopped()){ Socket clientSocket = null; try { clientSocket = this.serverSocket.accept(); } catch (IOException e) { if(isStopped()) { System.out.println("Server Stopped.1") ; return; } throw new RuntimeException( "Error accepting client connection", e); } new Thread( new WorkerRunnable( clientSocket, "Multithreaded Server") ).start(); } System.out.println("Server Stopped.2") ; } private synchronized boolean isStopped() { return this.isStopped; } public synchronized void stop(){ this.isStopped = true; try { this.serverSocket.close(); } catch (IOException e) { throw new RuntimeException("Error closing server", e); } } private void openServerSocket() { try { this.serverSocket = new ServerSocket(this.serverPort); } catch (IOException e) { throw new RuntimeException("Cannot open port 9000", e); } } } Worker Runnable: import java.io.InputStream; import java.io.OutputStream; import java.io.IOException; import java.net.Socket; public class WorkerRunnable implements Runnable{ protected Socket clientSocket = null; protected String serverText = null; public WorkerRunnable(Socket clientSocket, String serverText) { this.clientSocket = clientSocket; this.serverText = serverText; } public void run() { try { InputStream input = clientSocket.getInputStream(); OutputStream output = clientSocket.getOutputStream(); long time = System.currentTimeMillis(); output.write(("HTTP/1.1 200 OK\n\nWorkerRunnable: " + this.serverText + " - " + "Hello " + time + " ").getBytes()); output.close(); input.close(); System.out.println("Request processed: " + time); } catch (IOException e) { //report exception somewhere. e.printStackTrace(); } } } Start from GUI: import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MainGUI extends JFrame { private JButton startServerButton; private JPanel rootPanel; private JButton stopServerButton; public MainGUI(){ add(rootPanel); setTitle("Server"); setSize(400, 500); startServerButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.out.println("Starting server..."); MultiThreadedServer server = new MultiThreadedServer(9000); new Thread(server).start(); System.out.println("Server started"); try { Thread.sleep(20 * 1000);} catch (InterruptedException e) { e.printStackTrace(); } stopServerButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ System.out.println("Stopping Server"); server.stop(); } }) ;} }) ;} } The server works fine in web broswer, and I can access it from localhost:9000
  9. private void client() { try { socket = new Socket(address, port); log("Connected"); input = new DataInputStream(System.in); output = new DataOutputStream(socket.getOutputStream()); } catch (IOException u) { log(u); } String line = "REQUESTING MULE"; while (!line.equals("Over")){ try { output.writeUTF(line); log("Requested mule"); log ("" + input + ""); } catch (IOException i) { log(i); } } try { input.close(); output.close(); socket.close(); } catch(IOException i) { log(i); } } } I am trying to connect my mule script to a local server on localhost, but I'm getting this error: line 73: output.writeUTF(line); Line 27 is in onLoop and is just: client();} I read somewhere that network connections are blocked. Is that why I'm getting this error or is there something else? These are the socket and output/input streams: private Socket socket = null; private DataInputStream input = null; private DataOutputStream output = null; private String address = "localhost"; private int port = 9000; EDIT: Changed port to 9000 but still the same error. EDIT2: New error, but now i know they are connected so it's considered solved.
  10. Nevermind, I fixed it. Thank you for taking the time regardless. It was because I didn't compile it as "Artifact" in IntelliJ. The code works super.
  11. import org.osbot.rs07.api.map.constants.Banks; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; import java.util.function.BooleanSupplier; import java.awt.*; @ScriptManifest(name = "Muler", author = "Nor3g", info = "Trynna holla at the m00le", version = 0.1, logo = "") public final class Muler extends Script { @Override public final int onLoop() throws InterruptedException { bank(); return random(150, 200); } private void bank() throws InterruptedException { if (!Banks.VARROCK_WEST.contains(myPosition())) { getWalking().webWalk(Banks.VARROCK_WEST); log("Walking to V WB"); } else if (!getBank().isOpen()) { log("Opening bank"); getBank().open(); } else if (!getInventory().isEmptyExcept("Raw swordfish")) { getBank().depositAll(); } else if (getBank().contains("Raw swordfish")) { getBank().withdrawAll("Raw swordfish"); } else { stop(true); } } } I'm trying to make a script that walks to Varrock West Bank, but when I run it, starting in lumbridge, it doesn't do anything. Can someone explain what is wrong? The log doesn't tell me anything other than that the script started. Thanks
  12. How do I build it properly? I've tried both IntelliJ and Eclipse. I include the OSBot client in the libraries. Sorry for being such a noob! I get this error regardless ? Never mind I figured it out! Just needed to add the resource folder to the build! EDIT: After compiling it, I changed MUSA POINT fishing location to cover the entire pier, it now fishes from all the fishing spots and not just the one up north. While fishing for swordfish with harpoon it also catches Tuna. Fishing methods that catches multiple types of fish should have an ability to drop the undesired fish. I don't think I'm experienced enough to implement this myself. EDIT2: New Bug, it was mining rune essence, and after it teleported in, it rotated the camera so that the rune essence rock was visible on screen, but unclickable. The mouse moved back and forth, presumably trying to click the rock, but it couldn't due to the camera being in an odd angle. According to the logger, i deduced that this went on for at least 2 hours when I wasn't there to watch over it. And also, this was a timed task, and it went almost 1,5 hours overtime.
  13. Suggestions: When buying and selling from the grand exchange it should also withdraw all the cash it intends on spending for all the items and not do this separately The same for selling, it should withdraw at least three stacks of items and sell them without reopening the bank for each item. Maybe this could be done with a list of items separated by comma in the configurator? Bugs: It also managed to hover over the "sell" option in the GE while trying to sell it's resources, I wondered why, and it struck me that the cursor was located right on the edge of the "sell" button, after pause(moved cursor of screen) /unpause it worked flawlessly again and managed to click the sell button. I don't know if this is a flaw with osbot or only with this script in particular. It died once, while web-walking(?) through an area with NPCs that aggro onto it, and after it died it re-spawned in Lumbridge, there was a screen informing it about dying in RS, it had an option to never show this again, but before I could react, the bot promptly logged out and terminated the script. It should be noted that there was more tasks after the one it was doing when it died. Here are some screens of the OSBot Logger and the debugger. It may have been due to that the current task was woodcutting and that when it died, it lost it's only axe, but if that happens it would be better if it continued on with the next task. I also saved a config file, ran the script, stopped the script to edit config file, opened config file again, changed fishing location, saved script, but the bot went ahead and disregarded the changed locations. I tried again and saved the config file, then loaded it again. It seems the save function doesn't work for locations for the fishing skill, and possibly other skills as well. This bug is reproducible. Also looking forward to a fighter!
  14. It is fixed now, thank you so much!
  15. There doesn't seem to be any videos on that channel. In any case, great initiative! I would love to watch those videos!
  16. Thanks! Suggestion: If possible, it would be great to choose custom location in the different skills from your map: http://explv.github.io/ For example Leveling: 45 Ore: Iron Location: Custom
  17. I'm using the latest 3.4 release from github and tutorial script doesn't work. Do I have to write something in the paramters?
  18. Just tested this and it's true weather or not a config is loaded from the CLI.
  19. I found a new bug: While doing the sheep shearer quest, if Fred the farmer is outside of his house the bot will go inside the house, then click on Fred the farmer to do the quest, but before the dialogue is finished it will try to re enter the house, probably because it expects him to be inside before it will talk to him. Even if it manages to go outside and talk to him, it won't continue the dialogue, presumably because it expects to be inside the house to continue the dialogue. Also I see the Tutorial Island files inside the github, but there is no option to include it in a configuration. Nevermind! I would very much like a tutorial on how to build the .jar or a link to one if there is one so I can try to fix these myself.
  20. Thanks for the fast reply and for filing the bug! I love the script so far, and it is really fascinating to be able to set it to do exactly what i want. I encountered somewhat of an issue while it was travelling from Port Sarim to Karamja for banking while fishing. It halts for somewhere between 10-15 seconds on the boat before it disembarks via the plank. As far as I can tell from the OSBOT client log it uses webwalking while doing this so I don't know if this is something you can fix. In any case it is just a minor inconvenience. I've also noticed that the bot while either fishing for Lobster or Swordfish sometimes stops when it gets to the pier on Musa Point. This stop completely halts everything it seems, because either the account is logged of automatically due to inactivity, and then logs in again automatically and resumes fishing, or I can manually pause/unpause the bot to make it resume fishing. It also seems to only utilize the north fishing spot and none of the others, even though they have the option to fish for Lobster/Swordfish. I can't tell this for sure though because I haven't tested it enough. EDIT It only uses the north fishing spot because Musa Point is defined as follows: MUSA_POINT(new Location("Musa Point", new Area(2924, 3176, 2925, 3183))), I am no coder, but it seems changing this to this will fix it because it then covers the entire pier as well as all the water around it and not just the water in the north direction: MUSA_POINT(new Location("Musa Point", new Area(2923, 3176, 2926, 3183))), Location: Explvs-AIO/AIO/src/org/aio/activities/skills/fishing/FishingLocation.java I have no idea how to compile the jar myself, so I haven't tested it. I would love for you to make a guide on how to import it into IntelliJ or Eclipse and then compile it! It might fix the other issue as well, because sometimes the north-most fishing spot doesn't have an option for Swordfish/Lobster.
  21. Very good thread by you explv, I love your bot and that it's open source so I can see what it is doing. I ran it today and watched carefully just as if I would have been playing. When my bot was fishing Salmon in Barbarian Village, powerlevelling (drop) it somehow managed to click use on the last fish. Then, it got stuck trying to click on the fishing spots, it went back and forth between two of these for some time until i stepped in and solved it for it. Other than that the bot seems to work flawless so far!
×
×
  • Create New...