What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Party Plugin] SimpleFollow - Multi-Bot Party Plugin

Problems & Logs

In town, when my character enters game, walking, repairing, salvaging, stashing, just about anything in town when this happens. I check on it occasionally and everytime ive noticed it malfunctioning it is in town. Just starts filling up the log with errors. It keeps trying to reload the profile and the gold timer wont kick it either.. It just stands there filling the log up. I wasn't sure what was causing it so I posted in DB/Support forums first and tony replied saying it was simplefollow crashing. (Which makes sense since it only happens on my followers)

(Note: I attached the entire logs, but stopped/restarted a couple times when I saw it doing this again... To skip right to the trouble start at the end of the logs and go backwards)

Link To Original Post:
http://www.thebuddyforum.com/demonb...tting-stuck-during-town-runs.html#post1430919

Logs:
View attachment Town Stuck.zip
-----

Sometimes when follower enters the game it just stands there in town saying "Leader not in town... Using Banner" but never moves towards the banner.
View attachment Using Banner.zip
-----

Sometimes when leader enters a portal or zones somewhere, the followers will say "Leader not in game.. exiting" and they will leave the game although the leader is still in game. (And no, this is NOT the D/C bug that d3 has when leader zoning and players getting d/c.. My players still in game, simplefollow says exiting, exit timer comes up and they wait the 10seconds then exit)
View attachment Exit When Zone.zip
-----

Any help would be greatly appreciated!!

Thanks
 
Last edited:
If you change your profile to stayInParty=true it shouldn't disband after every run (although there is a Diablo 3 bug that will sometimes cause people in a party to disconnect).

If you're getting the message "We are Out of game, Leader is In Game - Resuming game" showing up in your log before the party disbands comment out or delete the following lines from Plugins\SimpleFollow\Composites.cs

Code:
                SimpleFollow.Log("We are Out of game, Leader is In Game - Resuming game");

                GameUI.SafeClick(GameUI.PlayGameButton, ClickDelay.NoDelay, "Play Game Button", 1000);

The bot is still pretty much unusable for me though as it crashes my followers games just about every restart and sometimes randomly during a run.


Mine is very unstable on followers as well. I get about 15 minutes into a run and D3 and DB crash. I am looking for the stayInParty=true as well to try to keep them in party. To comment out a line do you just put a semicolon ; in front of the line?
 
God just im didn``t found this option stayinparty ?
What file or where this option ?
 
Mine is very unstable on followers as well. I get about 15 minutes into a run and D3 and DB crash. I am looking for the stayInParty=true as well to try to keep them in party. To comment out a line do you just put a semicolon ; in front of the line?

The stayInParty option should be at the bottom of whatever profile you are running for the leader.
To comment out a line put // in front of it. If you're using Notepad++ the line will turn green to show that it is no longer active code.
 
I could not get the stay in party to work. The profile I was using already had a statement towards the end:

<TrinityTownPortal questId="72738" stepId="12"/>
</If>

<LeaveGame reason="The END" stayInParty="False" />

</Order>
</Profile>

so I changed the False to True and still no luck. I changed it back to False and then put a separate line below it:

stayInParty=true

and on the followers screen it still said that "the game host has left a recently created game" after the run ended

Any other suggestions? If we could figure this out then we would not need to add the timer at the beginning to wait for everyone to join, they would just stay in party.

Although the profile runs, I also get this error in DB in red letters:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Only part of a ReadProcessMemory or WriteProcessMemory request was completed, at addr: 00000198, Size: 12
at GreyMagic.ExternalProcessMemory.ReadByteBuffer(IntPtr addr, Void* buffer, Int32 count)
at GreyMagic.MemoryBase.Read[T](IntPtr addr)
at Zeta.Game.Internals.Actors.DiaObject.get_Position()
at Zeta.Bot.InactivityDetector.(Object , EventArgs )
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Delegate.DynamicInvoke(Object[] args)
at Zeta.Bot.Pulsator.(Delegate , Object[] )

but that should probably be left for another discussion.
 
So I decided to try this out and was able to get it working fairly easily - unfortunately, if i run 3 bots/d3s on my pc it takes up 7-7.5gb of memory, and I had to remove 2 of my 4 gig sticks recently due to them being faulty and blue screening me, so I only have 8 gigs atm. Its enough if this all i want to do, however I'd like to spread some of the load to my laptop so I can continue to use my PC while it runs. Dissapointingly, this doesn't seem to work or be configurable, since it only tries to connect to localhost instead of configuring it to connect to a local network ip address (My laptop).

I looked through the plugin files a bit but I'm unfamiliar with it at best and couldn't identify where I might be able to make any changes - Is this possible to do? I'd like to have my leader on the laptop and my 2 followers on my PC.


Also another issue I noted - If your leader takes a waypoint to town, the other two will try to follow and will get instantly DC'd. Anyway we can just get them to use the teleport to player option provided in-game to follow, as opposed to the waypoints?
 
I could not get the stay in party to work. The profile I was using already had a statement towards the end:

<TrinityTownPortal questId="72738" stepId="12"/>
</If>

<LeaveGame reason="The END" stayInParty="False" />

</Order>
</Profile>

so I changed the False to True and still no luck. I changed it back to False and then put a separate line below it:

stayInParty=true

and on the followers screen it still said that "the game host has left a recently created game" after the run ended


<LeaveGame reason="The END" stayInParty="False" /> Should be changed to <LeaveGame reason="The END" stayInParty="True" />

That's all you would need to do to keep the party from automatically disbanding on the leader's side.
You can test this by disabling SimpleFollow and manually inviting your followers to the leader's party then just let the leader complete a run, the followers should stay in the group. However, as I have already mentioned there is a bug with Diablo 3 that will randomly kick group members, this has nothing to do with Demon Buddy, your profile, or the SimpleFollow plugin.

There is a section of the SimpleFollow plugin that checks to see if the leader is still in a game, it seems to trigger too fast so sometimes when the leader ends the game to create a new one the followers will show the message, "We are Out of game, Leader is In Game - Resuming game" in their DB windows. If this happens after the leader has left the game it will cause the followers to leave the party. In one of my previous posts I give instructions on how to disable this check to keep this from happening.
 
I looked through the plugin files a bit but I'm unfamiliar with it at best and couldn't identify where I might be able to make any changes - Is this possible to do? I'd like to have my leader on the laptop and my 2 followers on my PC.
Here are the instructions on how to get SimpleFollow working over your LAN. http://www.thebuddyforum.com/demonb...ow-multi-bot-party-plugin-55.html#post1383851

Also another issue I noted - If your leader takes a waypoint to town, the other two will try to follow and will get instantly DC'd. Anyway we can just get them to use the teleport to player option provided in-game to follow, as opposed to the waypoints?
Not at the moment, I believe it's something rrrix wants to put into the plugin though.
 
Was there ever a way to get around only having 3 friends to get this profile to work?
I'd like to make a recommendation, please let me know if this is possible..

Now when you go to play a game Diablo will alert you of "Players in your area" and if you don't have your bots friended, They will appear at the top of your friends list in a group by themselves. Could this method be used to invite? (I'm trying to avoid having to delete my entire friends list to use the plugin)
 
Last edited:
Was there ever a way to get around only having 3 friends to get this profile to work?
I'd like to make a recommendation, please let me know if this is possible..

Now when you go to play a game Diablo will alert you of "Players in your area" and if you don't have your bots friended, They will appear at the top of your friends list in a group by themselves. Could this method be used to invite? (I'm trying to avoid having to delete my entire friends list to use the plugin)

Just use another account as leader, only the leader requires the friend list like this. As for the other stuff it is probably possible but had to be coded differently (using different button hashes)
 
Well, I tried putting the // in front of both lines like this:

// SimpleFollow.Log("We are Out of game, Leader is In Game - Resuming game");

// GameUI.SafeClick(GameUI.PlayGameButton, ClickDelay.NoDelay, "Play Game Button", 1000);

I did it for the follower first, and then the leader and still no change. I also left the statement for stayinparty=true on the leader profile. Still no luck. Another issue is still going on like it used to. If the leader runs the profile by himself it works great and he makes an efficient fast run, but if he invites anyone else to the party, then he does a dance jig while moving around. He will run 5 or ten yards in one direction and then double back. He will repeat this 8 to 10 times or more before going to the next area. Meanwhile the follower will follow him back and forth like a good follower should so it looks like they are dancing. So for instance doing a cota run should take about 1 to 2 minutes for me but because of all the leaders back tracking, it takes 4 or 5 minutes. Not very efficient.
 
I also noticed, Arden, that in a regular game not using DB, if everyone leaves before the host and then he leaves, the party remains intact. If the host leaves before some of the other party members then it sometimes breaks up the party. How would we be able to force all the followers to leave first and then allow the leader to leave last. This might be a solution to the problem.
 
Is there a way to set up the leader bot for selfplay?
I mean that i can play the leader by myself and let the other 3 follow me and fighting with me.
 
It runs great for a few games.. Then battlenet keeps returning errors when trying to create a new game. DB won't successfully create the game until I manually reload my profile (This issue doesn't happen when botting solo, only with simplefollow leader)

Sometimes when manually reloading profile the bot just crashes and I need to restart..
I haven't been able to get this to run for more than 30 minutes or so without this happening


View attachment Logs.zip
 
Last edited:
If you change your profile to stayInParty=true it shouldn't disband after every run (although there is a Diablo 3 bug that will sometimes cause people in a party to disconnect).

If you're getting the message "We are Out of game, Leader is In Game - Resuming game" showing up in your log before the party disbands comment out or delete the following lines from Plugins\SimpleFollow\Composites.cs

Code:
                SimpleFollow.Log("We are Out of game, Leader is In Game - Resuming game");

                GameUI.SafeClick(GameUI.PlayGameButton, ClickDelay.NoDelay, "Play Game Button", 1000);

The bot is still pretty much unusable for me though as it crashes my followers games just about every restart and sometimes randomly during a run.

If the follower leave before the leader does, the rest of the party members doesnt get kick out and it works.

Is there a way to send a cmd that the run is done to the client/follower and triggers leave party before the leader and give the leader a waittimer?
 
In its current form, without modification - what Gniller did, yes they have to run on the same P.C.

I feel that opening yet another port on a local computer may not be the wisest of ideas, as I have done absolutely no security testing or research relating to the WCF based HTTP service used here, and have no clue what vulnerabilities, if any, exist against a WCF based HTTP server. However, I do know that not everyone runs with their machine behind a firewall.

But for those two do, or even have multiple machines running on a private network with NAT, etc, having the leader/follower service bound to a particular IP/port would be beneficial.

Regardless, if you want to change this:

Open SimpleFollow.cs

Find this:
Code:
private static Uri serverUri = new Uri("http://localhost:10920");

and change "localhost" to the internal IP of the leader bot; for example:

Code:
private static Uri serverUri = new Uri("http://192.168.0.1:10920");

Of course, this might become a pain in the ass if you're using DHCP, but if you're not running on a school network or anything it should be simple enough to get a static private IP for your local network.

P.S. If you are NOT running behind some sort of firewall/router, and you don't trust every other machine on your network, I wouldn't do this.

cheers,

rrrix

Hey mate, I'm having an issue with this. I swapped to 192.168.1.105:10920 (The Local IP/Port for my leader bot) in the file. It works fine on the leader + follow bot that I run on my pc, but my follower bot on my laptop doesn't work.

I get the error:

Initializing client service connection to http://192.168.1.105:10920/Follow
ERROR: Could not get an update from leader
System.TimeoutException The request chanell timed out attempting to send after 5 seconds. Increase the timeout value passed to the call to request or increase the sendtimeout value on the binding. Ect ect.

Its clearly making some sort of connection, cause its not just spamming "Could not find leader, is leader running?

Any idea what the problem is? I even went as far as to port forward that port, even though that should have nothing to do with it considering I'm trying to connect through my LAN.
 
Hey mate, I'm having an issue with this. I swapped to 192.168.1.105:10920 (The Local IP/Port for my leader bot) in the file. It works fine on the leader + follow bot that I run on my pc, but my follower bot on my laptop doesn't work.

I get the error:

Initializing client service connection to http://192.168.1.105:10920/Follow
ERROR: Could not get an update from leader
System.TimeoutException The request chanell timed out attempting to send after 5 seconds. Increase the timeout value passed to the call to request or increase the sendtimeout value on the binding. Ect ect.

Its clearly making some sort of connection, cause its not just spamming "Could not find leader, is leader running?

Any idea what the problem is? I even went as far as to port forward that port, even though that should have nothing to do with it considering I'm trying to connect through my LAN.

Leader has to be running first, if it is then it sounds like something blocking access to that port on your leader machine maybe? You checkout my simple lan guide?

http://www.thebuddyforum.com/demonb...ow-multi-bot-party-plugin-55.html#post1383851

If you have any firewalls/virus scanners/etc running, disable them on both machines to do some troubleshooting then try to run it, that will tell you if something is blocking the connection to the leader server.
 
Last edited:
Back
Top