Jump to content

Bobbey

Members
  • Posts

    80
  • Joined

  • Last visited

  • Feedback

    100%

Everything posted by Bobbey

  1. I did some testing myself. Hitting the SWAP memory is not a problem, but when the RAM is full, and I add 10% extra accounts, the CPU usage goes up really hard. SWAP != RAM is my conclusion. It's a great fallback, but it's not extra RAM
  2. Intro I had to figure out a lot of things myself when starting up my own f2p bot farm. All information was spread out over the internet. In this guide I will cover the things that took me a bit to figure out. This is not a full guide on how to setup a dedicated server. But I will give some very important tips Operating system and VNC (remote desktop) It is recommended to run a linux SERVER operating system. Personally I prefer Ubuntu 18 LTS. This guide covers everything you need to do to make the VNC server work. You can then connect using TigerVNC or some other program. (you can even connect from your phone with certain apps) RAM A difficult question to answer is how much ram you need on your server. If you use WebWalking, that uses a lot of ram per client. Using preset paths is highly recommended. For OSBot I found that the clients average at 700MB using lowresource mode. (for my methods, this is method dependant) I have 45 bots running on 32GB ram with an Intel 7700k at stock speed. When I start the clients, they don't fully use this ram. But after a few hours the ram slowly builds up. To properly handle excess ram usage, you can use Swapping memory CPU Running a lot of clients also means that you need to properly manage your CPU usage. I found that CPULimit is really useful for this. (note that the -l x% works per core. To limit to 5% of total cpu, you need to use 5*cores. If you have 4 cores on your cpu, use -l 20 for 5% limit) Limiting them to too low makes the clients freeze or underperform. Not limiting at all means that when a client loops on an error for 100 times per second, your whole farm could suffer from it. (dont forget to use -lowcpu through the CLI/options) SWAP Memory This guide tells you how to set it up. But what is Swap memory? It is reserved space on your memory storage disk, which can be used by the system to put working memory that does not fit on your ram memory onto your disk. Your hard disk has a much slower read/write speed than your ram, so the system chooses objects that you use less often to put into the swapping memory. If you have an SSD or NVMe drive on your system, this Swapping memory is quite efficient. I recommend to double your ram with a swapping file. I recommend to add 50% of your ram as swapping memory. Using swapping memory too much can freeze bots and probably crash a few too - you'll have to test how far you can push it I did some testing; When I had full ram, I used ~60% cpu. When I added another 10% of bots, the CPU went up to ~90% Dummy sound driver Assuming you're running on a system that has no speakers, you'll get memory leaks because your runescape clients are trying to play sound, which get's stuck in a queue because there is no driver to accept the sound. You can greatly reduce ram usage by (either disabling sound on your osrs clients or) installing a dummy sound driver. Choosing the right dedicated server Another difficult question. I can only steer you a bit into the right direction. Do not use Xeon-D (comment if you have experience with this) Recommended CPU's are Xeon-E (server cpu's) They generally have a lot of cores/threads Intel Core (i7) (game/desktop cpu's) They generally have a 4 cores/8 threads Ram speed does not really matter SSD and NVMe are great for swapping memory and loading bots, but are totally optional. I personally use OVH.com for renting dedicated servers. They are not cheap, but they are extremely reliable and have acceptable setup times with no setup fees. Accessibillity These are pretty straight forward. Use Putty for connecting to the SSH. Use FTP (with FileZilla client) to easily transfer files to the server. If you use mysql for managing your bots, use MySQL Workbench to view/edit/create the database (this post is under construction)
  3. I am running 50 bots on 32GB of ram. The ram is totally the bottleneck. I was wondering how far I could push the swapping memory without any major issues. Do you have any experience with pushing SWAP memory to it's limits? Please let me know! If you know much about swapping memory or would like to leave any technical information here, please do Thanks in advance!
  4. Traded 101M to him, no money received, blocked me
  5. I have a 32GB server able to handle 45 bots easily. But they are all set to -mem 900 My question is, if I pay extra and get 64GB of ram, then allow -mem 1500 - does this mean I can run more bots, or is CPU usage not really affected if I give them 900MB of ram? Note: my server regularly goes into Swapping memory (around 10GB)
  6. got it working with selenium. Found a secret which I will keep a secret xD
  7. Hey there, My accounts are getting locked to a point where I cannot continue unless I unlock them. Do you have any tips on how to setup an automatic unlocking system? Thanks in advance PS if you have source, I am willing to pay
  8. Thanks! I was having issues
  9. Here is a quick bad fix to keep your farms running. The world hopper is broken: private static final int[] F2PWORLDS = new int[] { 335, 379, 380, 382, 383, 384, 393, 394, 397, 398, 399, 418, 430, 431, 433, 434, 435, 436, 437, 438, 439, 440, 451, 452, 453, 454, 455, 456, 457, 458, 459, 497, 498, 499, 500, 501, 502, 503, 504 }; private RS2Widget wor; public void hop(int world) { safeWhile(() -> !getLogoutTab().isOpen() && !getWorlds().isOpen(), 10, new Runnable() { public void run() { getLogoutTab().open(); s(1000, 2000); } }); safeWhile(() -> !getWorlds().isOpen(), 10, new Runnable() { public void run() { getWidgets().get(182, 4).interact("World Switcher"); s(1000, 2000); } }); Random r = new Random(); s(1000, 2000); updateWor(world); getWidgets().get(69, 8).hover(); safeWhile(() -> (wor.getAbsY() > 430 || wor.getAbsY() < 240), 40, new Runnable() { @Override public void run() { updateWor(world); getWidgets().get(69, 8).hover(); if (wor.getAbsY() > 430) { getMouse().scrollDown(); s(80 + r.nextInt(5)); getMouse().scrollDown(); s(80 + r.nextInt(5)); getMouse().scrollDown(); } else { getMouse().scrollUp(); s(80 + r.nextInt(5)); getMouse().scrollUp(); s(80 + r.nextInt(5)); getMouse().scrollUp(); } s(100 + r.nextInt(20)); } }); if (wor.hover()) { // getMouse().click(false); wor.interact("Switch"); } s(5000); } public void hopF2P() { Random r = new Random(); int world = F2PWORLDS[r.nextInt(F2PWORLDS.length)]; hop(world); } private void updateWor(int world) { wor = getWidgets().get(69, 16, world); } update: you need to click the dialogue to actually hop: something like this waitUntil(() -> getDialogues().isPendingOption(), 500, 10); safeWhile(() -> getDialogues().isPendingOption(), 10, new Runnable() { @Override public void run() { try { getDialogues().completeDialogue("Yes."); } catch (InterruptedException e) { e.printStackTrace(); } s(500); } }); And how could I forget: public void safeWhile(Condition c, int attempts, Runnable runnable) { while (getBot().getScriptExecutor().isRunning() && !getBot().getScriptExecutor().isPaused() && !getBot().getScriptExecutor().isSuspended() && c.evaluate()) { if (attempts-- == 0) return; runnable.run(); } } public boolean waitUntil(Condition c, int interval, int tries) { safeWhile(() -> !c.evaluate(), tries, new Runnable() { @Override public void run() { try { sleep(interval); } catch (InterruptedException e) { e.printStackTrace(); } } }); return true; } public interface Condition { boolean evaluate(); }
  10. I have started the quest Romeo & Juliet, but when I call getQuests().isStarted(Quest.ROMEO_JULIET); it returns false 64 bit java no errors normal injection client
  11. I am trying to use Socks5 proxies to make http post requests. The provider for the proxies has disabled http or something. I get the following error; Exception in thread "main" java.net.SocketException: SOCKS: Connection not allowed by ruleset I am using the code System.setProperty("java.net.socks.username", user); System.setProperty("java.net.socks.password", pass); Proxy prox = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(ip, 8000)); URL url = new URL("https://www.myip.com"); URLConnection con = url.openConnection(prox); con.setConnectTimeout(10000); BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String line; while ((line = in.readLine()) != null) { System.out.println(line); } in.close(); How do I tunnel(?) this http request through the proxy? PS I know this is possible because some extension in firefox allows me to use the proxy too I have also tried this code, but it results in the same error : https://pastebin.com/xt6evbm7 Solution: System properties are not used for this, need to use Authentication.java
  12. dont worry. Thursday is update day for jagex, if there is a day when bots break, its likely thursday. When the bots break, only some features are broken (so not all scripts) and sometimes none of the scripts even break at all
  13. @Chiseled what could fail with nointerface etc? My bots currently run without me having to press a key after the cli, is that enough?
  14. 50-100MB??? How does one accomplish that? -allow nointerface,lowresource,norender????
  15. @Chiseled Yeah I definitely turned off sound... It took me about 8 hours of programming and testing (mostly testing) to switch over to my own pathing system. But now my server can run 60 bots instead of 25! What I did was make 'paths' of small areas and have the mouse click on the minimap on a random position in those areas one by one. If it cannot find a path, it will try LocalPathFinder. As final attempt it will use webwalking (which has not happened to my knowledge yet)
  16. Does LocalPathFinder use as much RAM as WebWalking? Or any considerable amount?
  17. Haha I JUST finished working on the alternative xD @Patrick I notice the webwalking uses more RAM on linux? Is this the case, or do I have some linux memory leak? (bots use 1.5GB on linux, 800MB on windows,,,)
  18. I am working on an alternative to webwalking, where if the player is in the predicted area, it will walk to the destination using Walking.walkPath(); But does this reduce ram usage if the script at least once uses Walking.webWalk? Or does the web stay in the ram? If so, then what I am doing it pretty useless.
  19. When it's update thursday but your bots still work
  20. I tried that, and it resulted in wrong username. This would probably work for scripts as you say indeed.
  21. Problem was resolved by changing my username.
×
×
  • Create New...