Josko / aura-bot

Warcraft III high-performance hosting bot written in C++14.
76 stars 42 forks source link

Connecting bot to multiple realms #60

Closed Fieryfoxz closed 6 years ago

Fieryfoxz commented 6 years ago

Hey, First of all, I gotta say this bot is amazing! Props to that! Second, my issue: I cannot connect my bot to multiple realms. I can connect to my first realm: europe.battle.net, but not my second realm: useast.battle.net. I talked with Frotty about this, and he says he can host on multiple realms. He is using Linux tho, while i'm using windows 7 64 bit. My configuration is fine, which wasn't that hard to make with all the explanations and stuff :), so I think the problem is that I'm using windows. I downloaded the Rolling-release source code, and the aura bot from it. Perhaps you know of the problem, if so, maybe you can help me! Looking forward to hear from you!

Argon- commented 6 years ago

Unless you expect us to guess, a log would be appreciated.

Fieryfoxz commented 6 years ago

uh yeh lol sorry i forgot xd Basically when I start the bot I get this: [BNET: USEast] connected [BNET: Europe] attempting to auth as Warcraft III: The Frozen Throne [BNCSUI] unable to open War3EXE [] [BNET: USEast] logon failed - bncsutil key hash failed (check your Warcraft 3 pa th and cd keys), disconnecting [BNET: Europe] cd keys accepted [BNET: USEast] disconnected from battle.net

My config looks like this: bnet2_server = useast.battle.net bnet2_serveralias = USEast bnet2_cdkeyroc = bnet2_cdkeytft = bnet2_locale = system bnet2_username = AU-Fox bnet2_password = bnet2_firstchannel = The Void bnet2_rootadmins = bnet2_commandtrigger = ? The keys are the same as I use for the first realm the bot connects to, Europe. I alrdy created a new account on US East with the same username and password as on europe (dont think this poses a problem?)

edit: I have my game.dll, storm.dll, war3patch.mpq and warcraft III.exe in the same folder as all the bot files.

Kithio commented 6 years ago

I seem to have found a solution to my problem at least.

It appears adding the "custom" bnet lines to each bnet connection fixes the war3path problem for me. It seems that Aura depends on looking at custom_war3version to figure out wether to read war3.exe or Warcraft III.exe

# Bot Server 1
bnet_custom_war3version = 28
bnet_custom_exeversion =
bnet_custom_exeversionhash =
bnet_custom_passwordhashtype =
bnet_custom_pvpgnrealmname = PvPGN Realm

# Bot Server 2
bnet2_custom_war3version = 28
bnet2_custom_exeversion =
bnet2_custom_exeversionhash =
bnet2_custom_passwordhashtype =
bnet2_custom_pvpgnrealmname = PvPGN Realm

etc...
GriefCode commented 6 years ago

Your issue is basically this:

[BNCSUI] unable to open War3EXE [] [BNET: USEast] logon failed - bncsutil key hash failed (check your Warcraft 3 path)

You need to provide the War3.exe or Warcraft III.exe

Fieryfoxz commented 6 years ago

@Kithio Hey man! thanks for posting your solution here. I tried the same as you did, adding the custom lines and it also fixed the problem for me :D! I can host on US East too now, problem solved. Thanks for helping me guys! @Argon- @Kithio @GriefCode

Kithio commented 6 years ago

@GriefCode The problem with the system is found here -- https://github.com/Josko/aura-bot/blob/master/src/bncsutilinterface.cpp#L80

That line checks the war3version provided, which is gotten from bnet_custom_war3version string in the config file. While that should be something grabbed from elsewhere in the config if you wanted to avoid using the custom settings for anything that isn't pvpgn or similar.

Adding the config line to each server connection fixes the problem because it'll know what exe file to look for in the war3path you already provided at the start of the config file.

--

@Fieryfoxz Glad it all worked out

GriefCode commented 6 years ago

@Kithio i saw that, but without the exe file it won't work out anyway :-D

Kithio commented 6 years ago

@GriefCode and the exe file is fetched through the variable bot_war3path so that point isn't relevant to the issue at hand. But anyway, it's been resolved now and there's plenty of information of it already in this topic.

@Fieryfoxz you should probably close this as it's been resolved.