I’ve set up a “host TCP/IP game” leader and three “join TCP/IP game” followers. Everything works great, except about half of the time the program chooses/doubleclicks the wrong character to start: my paladin leecher instead of (as) my sorceress leader.
Possibly the three follower characters get mixed up as well, I haven’t checked. I suspect that the problem has to do with the fact that the last played character in a local game, gets moved to the first slot?
This is what happens (I think): when my leader quits, everybody else quits too. They all wait 10 seonds, or whatever the time before starting a new game is, and restarts simultaniously.
Then all the followers quit because there’s no TCP/IP game to join yet, and they do that while my leader is occupied with starting a new game, therefore messing up the character slot order for her.
So what’s the best way to delay restarting, for the followers?
Another option is to use VMs, with 1 single SP character/VM.
And you can have the main PC d2bs folder shared to every virtual machine, so there you can start the same D2Bot.exe ( add the D2Bot.exe shortcut on VM’s desktop).
I’ve set that up, but connecting to “localhost” seem to be hardcoded in one of D2BS.bin, D2BS.dll or D2BS.pdb? It changes my “192.168.100.100” (the other virtual box) to “localhost” everytime it joins a TCP/IP game. Would it be possible to hexedit one of those files without changing the string length, maybe to “otherhost”?
I’ve tried a few redirecting commands, like netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=4000 connectaddress=192.168.100.100 connectport=4000, and changing localhost in C:\Windows\System32\drivers\etc\hosts. Unfortunately I’m no network expert.
Running PvPGN slows my computer down somewhat, and I want my D2 sessions running at least at decent speed.
Anyway, about the original problem, I discovered that it only happens when my follower quits before my leader. So I put autobaal == true for him, to make him wait in Harrogath while my leader checks the loot, and get disconnected by “host has left the game” instead of quitting directly when Diablo gets killed.
It seems to work fine every time, but a check in the char config file that the profile name matches the character name would have been nice. Something like (?)…
Config.Leader = "Annie"; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
Config.QuitList = ["Annie"]; // List of character names to quit with.