Jump to content

Colonel_Panic

Members
  • Posts

    42
  • Joined

  • Last visited

  • Feedback

    100%

Everything posted by Colonel_Panic

  1. First end to end communication successful Here's what the whole sequence currently looks like: Script tries to establish a connection with my custom server Server accepts request and spawns a new thread to communicate with the script over a socket Script asks for a new account over the socket Custom server communicates with MqSQL Database, gets the next available account, and returns it to the script over the socket I'm not sure what all I'll need/want to call over the socket, so I've built it in a pretty open fashion so adding new functions to the server and calling them from the script shouldn't require any real changes to the socket reader.
  2. From my limited experience + talking to people who run larger farms. Mules very rarely get banned, and to really limit your exposure, simply trade all the gold from your mules to a main account (or at least one that has some real play time on it) every day or so. Anyone else reading this who has had a different experience, feel free to correct me.
  3. Hahaha feel free to post any questions you have. Always willing to help.
  4. Well, I was an idiot and wrote MySQL into my scripts without realizing that I can't export into a jar and also maintain the reference to the external MySQL connector jar. (in laymans terms: my script relied on an additional java file to connect to the database I built. When I packaged my script for OSBot, there wasn't a way for me to also include this additional database file; so my script lost its ability to speak with my database when ran through OSBot) To get around this I'm going to build a server program that my scripts can speak with via sockets. That way my scripts will send their requests/updates to the server application via sockets, and the server application will execute any required database calls before returning any requested data back via the same socket. It's another piece I really didn't want to have to add, but it seems to be the only way currently unless I scrap the database idea. I wrote a quick test script and a small server application to verify I could send a message from my scripts to the server via a socket and then return a string from the server back to the script. Everything seems to be working so I should be safe to start moving the SQL calls over to the server application.
  5. Gross. Was hoping to avoid sockets, but I guess I'll have to use em anyways. Thanks for the input man!
  6. I know this is probably a reach, but I'm curious if anyone's had any luck running custom scripts that rely on external JAR dependencies? I want to connect to a MySQL database from my script so I have it include the mysql connector driver jar, but this isn't included when you export to a jar; so my script fails as it doesn't know what com.mysql.jdbc.Driver is. This will only be used locally, so no worries about this not being supported via the SDN. All the stack overflow posts I can find point to exporting it as a "runnable external jar" so you can include external jars in the package. But this obviously doesn't seem right as the script by itself isn't runnable.
  7. No I mean onResponseCode itself is never being called. I have a massive switch statement with all 25 included, but onResponseCode is never being called so the switch statement is never hit.
  8. Do I need to do something to actually get responseCodes when the account is locked? My onResponseCode function is never being called, so it just sits looking at the login screen with the "Your account has been disabled" message.
  9. Haven't made a ton of progress these past few days as I've been busy with work. I did make a list of MVP (Minimal Viable Product, aka the minimum I need to feel comfortable expanding) features. Required before expanding: (D: Done, P: In Progress) [D] Script to farm [ ] Script to mule [P] Automatic account replacement when bans come in [P] Way of keeping track of accounts so I can quickly tell which have been banned/locked and which are ready to be farmed - [D] SQL DB to maintain data - [P] Java end to update database and replace accounts as they're banned - [ ] Intelligent way for java end to be notified when DB changes (so I can use the DB to notify bots it's time to mule) [ ] Script to get quest points [D] New account source (The long term goal is still to make these all myself as I already have the tutorial island script done. However, after dealing with locks whenever I bot them through tutorial island on a datacenter IP, I've decided to simply buy tutorial island finished level 3 accounts for this first expansion) The little work I did do was around the SQL database. I have the schema defined and the database built, and I'm about 70% of the way through integrating it into my Java "Account manager" which is responsible for starting bots, replacing them and updating their status in the database when they're banned or locked, and notifying a bot when it's time to mule.
  10. Ooooh this'll be good. Glad to see someone else with technical background putting their knowledge to good use
  11. Oh you're hand doing them? Yeah I won't be able to hand do tutorial at the scale I'm hoping for.
  12. I'm creating my own proxies but not using my home IP address for those. I figured if I created all accounts on the same IP, jagex would eventually catch on and just ban all accounts from that IP. Is that not what you've found? Like could I realistically get away with creating 30 accounts from the same IP every day and not get chain banned? :p
  13. Yeah I plan on introducing it anyways as it's an interesting problem to solve. Just curious if others had found better ways around it (I was thinking something like splitting bots up to only run 12 hours each day for 2 days to make them last longer than 24 hours). Getting the quest points definitely seems like the most efficient answer
  14. Did they change it? The only thing I can find in google searches say 24 hours. 18 would be a lot more manageable. Do you know if there's a list somewhere of which items are restricted? I noticed that certain fish are (like shrimp and anchovies), but others aren't (like salmon and tuna).
  15. Just curious if most of the other F2P Suicide botters deal with trade restrictions. Do you just get 7 QP on each account, or are you able to keep bots alive long enough to trade off items after 24 hours passes?
  16. Thanks a lot man. Funny you mention taxes because I've been thinking about what I'll do when I actually start making money. Do most of you bigger farmers pay taxes? If not, how do you keep it off the radar? Haha I was wondering if that was the case :p Todays update: Decided to pull back on my plans to expand to 30 bots this week as muling is going to be a big pain in the ass if I do (because I currently have to PM each bot to activate their muling logic). Instead I'm going to integrate communication with a MySQL server. This should allow me to: - Quickly monitor status of each bot - View which accounts have been banned and which are in the pipeline - View what accounts were doing when they were banned - Better manage IP and Mules between bots - Communicate between bots to facilitate muling. Once this is done The only big thing I'll have to do is write a manager to automatically fire up farmers and mules. Write a script for mules (should take almost no time). And finally figure out automatic account creation.
  17. Thanks man! You can google for setting up a proxy server. There's lots of different ways to do it. However, simply setting one up doesn't help you much as that's still only giving you one proxy address. To get more addresses, you'll need more systems on different IPs. That part is the secret sauce and one of the few things I'm not going to give away, sorry mate ;)
  18. Yes No No I did try botting tutorial island on my main IP (where I created the account), immediately logging out, and then switching over to the proxy to start farming and noticed the account hasn't been locked yet. So it seems to be completing tutorial island on the proxy that really causes the problem. I'll experiment with creating the account on the proxy as well as creating them on my home IP and then resting before using. Thanks for the input!
  19. If you want to really up your game, you could add CLI support for parameters (check out this guide: ) And then you could pass in true or false as a parameter when you run the script. I'd recommend having it default to false so if you run it without parameters, it'll still work and just not log by default. Something like this should do the trick: // inside yourEasyEntManipulator: public static boolean VERBOSE = false; // default debugging to off // put this inside your onStart method: if (getParameters() != null) { String[] params = getParameters().split(","); //split parameters around commas EasyEntManiupulator.VERBOSE=Boolean.parseBoolean(params[0]); } Then if you want to run it with debug you can quickly do so with: java -jar OSBot.jar -login osbotname:osbotpass -bot "Novice Quester":true instead of having to change VERBOSE in eclipse and export it as a new jar every time you want to turn logging on or off
  20. I have a private script for finishing tutorial island before moving on to other tasks. If I run this on accounts through a proxy, they all are locked pretty quickly after finishing tutorial island with the "Locked as we believe your account might be stolen" message. Running the same script on my home IP works fine and accounts aren't locked. Has anyone experienced this before? Does Jagex simply flag data center IPs and lock accounts coming from them if they're doing commonly botted things?
  21. Nice work man! I haven't looked through it fully as I need to get back to work, but here's some things I noticed in my quick look through (Keep in mind these are coming more from experience as a general developer, not specifically for OSBot script writing as I'm new to that just like you): Your sleeps are a bit hard to follow. How come you switch around your sleep times so drastically and switch between calling it in the main loop and calling it in child functions (e.g. you call sleep from within ConverseWithFred, but don't call it in the main loop) As TheWind said, EasyEntManipulator is messy; but I can see why you're using it currently. You could add a boolean (called something like VERBOSE, which is the standard name used for clarifying if you want to log extra debug messages or not) and then wrap your debug logs in a block with "if (VERBOSE)". That way you can quickly turn off all the extra debug code (by setting VERBOSE = false), and it makes it clear for anyone else reading your code that anything inside VERBOSE blocks is simply for debugging purposes.
  22. Update: Ended out the weekend with just shy of 35k lobsters from 5 accounts. I tested out auto muling just now and was very pleased to have 4/5 bots mule properly. One got stuck in the bank and died to an NPC and I'm 90% sure that was due to me maxing out the CPU on the VPS I'm using, so code wise I think I'm still okay. I spent a few hours today working on building my own proxy server so I can supply my own proxies. I've decided that I'm going to go with a dedicated server and up the number of bots I'm running to around 30. I'm still curious to see how things change during the week when bans come more frequently. I'm guessing I'll need to add the ability to get 7 qp on the accounts for them to be able to offload before the bans come down; but I'm going to experiment a bit this week to see if any last more than 24 hours. If they do, then I won't worry about questing for now. I'll experiment a bit more this week and then once I'm fully ready I'll pull the trigger on a dedicated server and try to push the limit on what I can do.
  23. If you can simply call myPlayer, then you're in a class that inherits myPlayer (you probably extend bot or script). I have custom classes that do not inherit from OSBot classes, so I have to actually pass script around. Is there a reason I should use Bot over Script? My main class extends script and passes itself to my "Activity" classes which actually contain the logic for doing things. I got this style from guides like Apaec's Beginner Guide. I saw that Explev used a different method of having his Activity classes inherit from MethodProvider, and then called exchangeContext(getBot) on each of them: https://github.com/Explv/Tutorial-Island/blob/master/src/script/TutorialIsland.java#L22; but exchangeContext is deprecated by the looks of it. What would you recommend? That's probably the case. I'm not sure why norandom is starting my script before my player is logged in; but maybe that boils down to me not understanding fully what norandom does. I'll make sure to not initialize without checking loginstate first. Thanks!
×
×
  • Create New...