Starts wrong character (TCP/IP)

Hello.

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?

There will be an update soon(ish) to fix tcpip issues

2 Likes

Thanks, looking forward to it :slight_smile: Can I just say that this is the most fun I’ve had in years?

I used to run D2NT about a decade ago, but only with one character when the ladder restarted: farming keys with soso, doing übers with paladin.

Setting up a team is a new experience, and Diablo II, possibly the best game ever, never gets old. You just need a 5 years break once in a while.

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.

Maybe those are a result of limedrop part. Check server.json file. Check the explanations from limedrop guide #setup 3..

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 (?)…

if (me.profile != "Annie") {restart}

(My leader’s name is “Annie”).

Did you try to set these …?

	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. 

new wiki page was added
https://github.com/blizzhackers/documentation/blob/master/kolbot/TCP-IP%20games.md#tcpip-games