Skip to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

How to fix auto login and worldhopping

Featured Replies

1) The first issue is the client will always close the world list menu after hopping thus having to open it every time you want to hop again. This should be removed. 

 

 ad3d02bb339fa2166ab4c2fd1c7f9054.png

 

 

2) The client will automatically terminate the script if it detects the "world is full message" on the login screen. I come back to accounts that look like this:

 

 fca3cf916e73c9707647e7a3c9e0d0aa.png

 

The problem is the client terminates the script after only a SINGLE login attempt. It should continue to try to log into the world OR if the client detects the "world is currently full" message, it should pick a new world on the login screen, but it would be best and easiest if it just kept trying to log in. 

 

 

3) STOP the client from terminating scripts after getting "connection issues". If you world hop a lot in X amount of time, you WILL hit the world hopping limit and the game will force you to the login screen. For example, you can be in world 10 and the script will go to world hop and choose world 11. The "Loading..." message will appear on the top left of your game screen but then all of a sudden you will end up booted to the login screen. The world icon at the bottom left will say "World 11" meaning you technically hopped but the game forced you out. 

 

When this happens, this message appears in the logger: 

 

28cc7f64b16a56284ac9920df242a1d4.png

 

[ERROR][bot #1][05/13 04:45:46 PM]: There has been a connection error! You may have too many accounts logged in under the same ip, already have an account logged in, or a general connection issue to the game server.

 

The client will then sit there for 1+ minute (which it shouldn't do at all, it should just keeping trying to log in) and then try logging in again until it successfully logs in. I think what is happening is when the client receives the error message above a certain amount of times, it will terminate the script.

 

 51dcf17a12d9d96fb041e22461c049e4.png

 

As you can see with the photo, the script terminates at the same exact time the auto-login starts. Like I said, I assume when it gets the "there has been a connection error!" a number of times, the next time the auto-login initiates it will display one of the messages in the spoiler photo and then terminate the script. (The "game is updating or has already updated" message has nothing to do with the game actually updating, the client either displays that message or the one below it)

 

 

 

 

 

The only time the client should terminate a script due to anything involving world hopping or the auto-login is when this happens:

 

 abc68165be4ed7ac75baa2f0735d2570.png

 

 

 

The client should not be interfering with the login like this. For example, if I was to have a script that literally only world hops, I should be able to do so 24/7. This is obviously impossible to do because of how the client terminates scripts from all the reasons listed above. You can't even run scripts normally that require hopping because of this.

 

I'm not sure why these measures are even in place but they need to go. Honestly, if I want to do what I need to do without having to constantly check on accounts to make sure the client didn't stop the script, I'd have to do this on other clients that don't try to have complete control on how many times you hop/login.

 

OSbot has always had constant problems with the auto login and world hopping and it is extremely frustrating. Everything that needs to be fixed I gave here so please consider it. If you need more info about anything just let me know. 

 

1. Show me the code you are using; I tested this and it's not exiting the world hop interface:

 

    @Override
    public int onLoop() {
        worlds.hopToP2PWorld();
        return 50;
    }

2.

 

A. The client does NOT terminate after a single attempt, it tries between 5-7 times, waiting for about a minute in between.

 

INFO][bot #1][05/13 10:29:26 PM]: Started random solver : Auto Login
[ERROR][bot #1][05/13 10:29:26 PM]: Either the world is full or you must wait before logging in. Attempting to reconnect in a few minutes
[iNFO][bot #1][05/13 10:31:09 PM]: Random solver exited : Auto Login
[iNFO][bot #1][05/13 10:31:17 PM]: Started random solver : Auto Login
[ERROR][bot #1][05/13 10:31:17 PM]: Either the world is full or you must wait before logging in. Attempting to reconnect in a few minutes
[iNFO][bot #1][05/13 10:32:58 PM]: Random solver exited : Auto Login
[iNFO][bot #1][05/13 10:33:06 PM]: Started random solver : Auto Login
[ERROR][bot #1][05/13 10:33:06 PM]: Either the world is full or you must wait before logging in. Attempting to reconnect in a few minutes

 

 

B. If you are hopping to a world which is full, then this is a SCRIPT error and NOT a client error. Both Worlds hopToP2PWorld() and hopToF2PWorld() will NOT hop to worlds which are close to being full, meaning that YOU are hopping to a full world.

 

Once again, please post your code.

 

The client will then sit there for 1+ minute (which it shouldn't do at all, it should just keeping trying to log in) and then try logging in again until it successfully logs in. I think what is happening is when the client receives the error message above a certain amount of times, it will terminate the script.

 

 

AutoLogin catches general connection issues, waits some time, and then re-attempts. I'm not going to base my AutoLogin logic around your specific script, this would seriously compromise botters who ARE having connection issues.

 

 

I would like code examples of Response #1 and Response #2B. Additionally, please post your log regarding Response #2A. 

  • Author

1. As you had me test the same thing you were doing, yes it does not close the hopping interface. But, this was when it was solely hopping and nothing else. If it has to perform some task after hopping, it will close it which you told me there is a work around for so I guess this isn't an issue. If you still want me to provide the code, I will do so.

 

 

2.

 

A. I tested this twice the other day. I started a script at the login screen on world 29. This is usually the only world that ever gets full and it happens during peak hours. The auto login started and tried logging in but was unable to do so because the world was full. The script was then immediately terminated after the first initial login attempt. I then tried it again and after the first login, I got the "world is currently full" message again, and the script terminated. The client may be set to attempt 5-7 times but from what I'm seeing it does not actually work. I guess the only way to test is to start a script with a starting world that is almost full (w29 during peak hours is your best bet) and keep trying it until you get the "world is currently full" message and see whether or not it terminates right away or retries. 

 

B. Yes, the script is the one hopping to a world that is close to being full. Point is is that the 5-7 login attempt may not work correctly for worlds that are full. If someone manually logged into a world that was near full, started their script and then left their computer and their account disconnected for whatever reason, there's a chance their botting session may end right there if the world is full when the client goes to login because the script terminates right away. Again, test it to see what happens, but for me, the script gets terminated right away and I tested it twice. 

 

 

 

 

3. This is the biggest issue. I will try to explain it to you as best I can. 

 

The class you had me test earlier indefinitely hopped worlds. Since you are hopping that often, you will hit Jagex's world hopping limit. When this happens, this message gets thrown in the log:

 

[ERROR][bot #1][05/13 10:22:42 PM]: There has been a connection error! You may have too many accounts logged in under the same ip, already have an account logged in, or a general connection issue to the game server.

 

 

 

When this message is thrown 7 times, regardless if it is thrown 7 times within 5 minutes or 7 times within 5 hours, after 7 times, this message is then thrown:

 

[ERROR][bot #1][05/13 10:29:03 PM]: You have tried connecting to the game server too many times, your script will be automatically stopped for your account safety.

 

 

 

The script is then terminated. I tested your hopping class two separate times, the script ran until the "There has been a connection error!" appeared 7 times and then it terminates. 

 

Now here is the issue with this. What if you wanted to run a script for 24 hours that solely world hops? You cannot do this because the client terminates the script if the "There has been a connection error!" message gets logged 7 times. Testing your hopping class the run time only lasted about 16 minutes before the script terminated when there's no actual reason it should terminate. 

 

Now obviously no one is going to run a script that solely world hops, but if you have a script that requires you to world hop, chances are you are pretty much guaranteed to get the connection message logged 7 times. Also this could happen if RS starts experiencing DC's. RS could start getting ddosed but lets say it only happens for 1 hour. You could experience the connection error 7 times within that hour and then boom, your script gets terminated even though the worlds go back to normal. 

 

If you do not see where I'm going with this on why the client only giving you a total of 7 tries is an issue, then I don't know. And there isn't a way around this from what I'm aware of since this is the client doing it. 

 

TL;DR for 3: The client terminates your script if a message gets logged a total of 7 times, when in reality there isn't an actual reason to terminate. 

 

 

 

 

I apologize for titling this "How to fix auto login and world hopping". There is more of a suggestion I guess since the way it currently works is intended. I had not used anything that required world hopping for quite some time which is why I'm bringing this up now. If I did use hopping 6 months ago, I would have brought this up then.

 

The point is, the current auto login is NOT friendly to anything that requires world hopping. 

 

 

 

  • Developer

1)

 @Override
    public int onLoop() throws InterruptedException {
	if (prevWorld != worlds.getCurrentWorld())
	    hop = false;

	if (hop) 
	    worlds.hopToP2PWorld();
	else {
	    if (!myPlayer().isMoving() && !myPlayer().isAnimating()) {
		RS2Object tree = getObjects().closest("Willow");
		if (tree != null && tree.interact("Chop down"))
		    new ConditionalSleep(3500, 5000) {

			@Override
			public boolean condition() throws InterruptedException {
			    return myPlayer().isAnimating();
			}
		    }.sleep();
	    }

	}
	return random(47, 119);
    }

public void onMessage(Message message) {
   if (message == null || message.getMessage() == null)
      return;

   if (message.getMessage().contains("get some willow"))
      hop = true;
}

As soon as you interact with something in the game it will close the interface, for example a willow tree.

 

2A)

The script will be terminated after 5-7 attempts, regardless if it was in 5 minutes or if it was in 24 hours.

So if you get kicked out of the game due hopping too much 8 times in 6 hours, it will terminate the script.

 

I guess the login attempt count doesn't get reset after succesfully logging in.

 

2B)

I didn't test this case, but..

hopping to a world which is full should not happen and is a script issue, but if a user takes a break with the breakmanager and tries to login again and the world seems to be full, it will still terminate the script.

 

If you need anything else let me know

Khaleesi

@Khaleesi - Thank you for answering my specific questions; just as a warning this is the second time recently where someone has posted on your behalf, wasting a lot of time development time. 

 

1. It's coming from default InteractionEvent, which is closing open Widgets before interacting with an entity. I can make a fix for this.

 

2A. I can reset the attempts; don't hold your breathe on me modifying the time between each attempt for this type of response code.

 

2B. I'll lower the world filter from ~1900 to ~1700.

 

 

Guest
This topic is now closed to further replies.

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.