Valhalla Legends Forums Archive | .NET Platform | Open Source Project

AuthorMessageTime
AnonProgrammer
I am an experienced .Net programmer that is interested in joining or starting an open source bot for WC3. If there is an existing project please let me know, otherwise, can you point me to some source code (in any language) that implements a simple bot?
March 19, 2004, 10:26 PM
Myndfyr
That depends on exactly what you are looking for...

I am presently writing a .NET component, a class library, that encapsulates connecting to Battle.net with a well-known event interface (that is, an interface that can return several different types based on the requirements).

It isn't exactly "open-source," but if you are interested in either using the component or contributing to its development, you must talk to me. I am willing to share my work, but I am hesitant of people who want to steal it.

As far as I know, I am the first one to write a binary bot in C#. There are bots that use the chat protocol through a binary gateway such as BG3 (www.project-xbot.com is one), but they can't connect as Warcraft III. Mine uses the vL BNLS server for authentication to Battle.net.

I'll lay the burden of getting more information on you, as you're the one interested, and I really don't care whether or not someone joins the team.

If you really don't care to do the work to actually connect to the server, then I would just wait on my component to be done. I should have a workable beta within about a month or so, ready to connect to Battle.net, Diablo II Realms, and Botnet, and I'd be able to give it to you then.
March 22, 2004, 5:40 AM
Fr0z3N
[quote author=Myndfyre link=board=37;threadid=5877;start=0#msg50817 date=1079934048]

As far as I know, I am the first one to write a binary bot in C#. There are bots that use the chat protocol through a binary gateway such as BG3 (www.project-xbot.com is one), but they can't connect as Warcraft III. Mine uses the vL BNLS server for authentication to Battle.net.
[/quote]

Binary or BNLS?

Feanor made one that uses EASN
March 23, 2004, 6:11 AM
Myndfyr
[quote author=Fr0z3N link=board=37;threadid=5877;start=0#msg51093 date=1080022295]
[quote author=Myndfyre link=board=37;threadid=5877;start=0#msg50817 date=1079934048]

As far as I know, I am the first one to write a binary bot in C#. There are bots that use the chat protocol through a binary gateway such as BG3 (www.project-xbot.com is one), but they can't connect as Warcraft III. Mine uses the vL BNLS server for authentication to Battle.net.
[/quote]

Binary or BNLS?

Feanor made one that uses EASN
[/quote]

I'm not familiar with EASN.

Mine connects via BNLS.
March 23, 2004, 1:36 PM
AnonProgrammer
The reason I mentioned Open Source is because I don't have the time to devote to writing my own bot with all the bells and whistles, but I do have some skills to contribute, and am curious as a programmer and WC3 player. If you would like me to chip in send me an email at jprog1@hotmail.com, but I understand if you don't want to share your code. Is there any published info on BNLS, BG3 or others?
March 24, 2004, 1:56 AM
Tuberload
[quote author=AnonProgrammer link=board=37;threadid=5877;start=0#msg51280 date=1080093389]
The reason I mentioned Open Source is because I don't have the time to devote to writing my own bot with all the bells and whistles, but I do have some skills to contribute, and am curious as a programmer and WC3 player. If you would like me to chip in send me an email at jprog1@hotmail.com, but I understand if you don't want to share your code. Is there any published info on BNLS, BG3 or others?
[/quote]
http://www.valhallalegends.com/yoni/BNLSProtocolSpec.txt
March 24, 2004, 2:05 AM
Kp
[quote author=Myndfyre link=board=37;threadid=5877;start=0#msg51131 date=1080049001]I'm not familiar with EASN.[/quote]

If I remember correctly, EASN is a proxy that connects you to BNLS to do the actual work. At least, that's how it worked back when I first heard about it. It didn't seem worth keeping up with its development though. :P
March 29, 2004, 12:00 AM
DaRk-FeAnOr
No. EASN is a remote hash server that writes packets for you so that you can simply relay them to battle.net. It supports all clients except for War3 and W3XP. KP, it never worked like that, although Yoni PMed me on this forum, thinking that it did. I dont have any idea why people would think that. If you are for some reason interested, you can see the protocal here: http://www.crypticflare.com/exile/forums/index.php?showtopic=2. My clan members are mostly the only people who use the server.
I finishing wroting the connection script to my bot back in mid-november. I dont know when you had your connecting to battle.net, but I always assumed that I wrote the first C# binary bot to connect to battle.net. Recently, I have tried to write a BNLS connection in C#. PMed you (Myndfyre) for a little BNLS checksum help, but you never responded.
March 29, 2004, 5:10 AM
hismajesty
[quote]I dont know when you had your connecting to battle.net, but I always assumed that I wrote the first C# binary bot to connect to battle.net.[/quote]

I told you over a month ago that MyndFyre wrote it first, you even said you used some of the code he posted here. I'd think that would kind of clue you in that he had written a bot in C#. :)
March 29, 2004, 10:16 AM
Kp
[quote author=DaRk-FeAnOr link=board=37;threadid=5877;start=0#msg52358 date=1080537018]KP, it never worked like that, although Yoni PMed me on this forum, thinking that it did. I dont have any idea why people would think that.[/quote]

It was stated in the vL homechannel from someone who sounded quite sure of himself.
March 29, 2004, 10:50 PM
DaRk-FeAnOr
His packet buffer class that I latter used, was posted long after I had finished my connection script.
March 29, 2004, 10:51 PM
Myndfyr
[quote author=DaRk-FeAnOr link=board=37;threadid=5877;start=0#msg52496 date=1080600685]
His packet buffer class that I latter used, was posted long after I had finished my connection script.
[/quote]

It was also posted at least 6 months after I finished my first connection to Battle.net via both Starcraft/etc. and Warcraft III connections.
March 30, 2004, 2:53 AM
DaRk-FeAnOr
Well, then maybe you beat me to it.
March 30, 2004, 3:12 AM
K
[quote author=Myndfyre link=board=37;threadid=5877;start=0#msg52580 date=1080615218]
[quote author=DaRk-FeAnOr link=board=37;threadid=5877;start=0#msg52496 date=1080600685]
His packet buffer class that I latter used, was posted long after I had finished my connection script.
[/quote]

It was also posted at least 6 months after I finished my first connection to Battle.net via both Starcraft/etc. and Warcraft III connections.
[/quote]

Did you use BNLS? A while ago I ported all the necessary revision checking, decoding and hashing functions to C# (not hard at all!) without using any COM Interop -- I was suprised with how fast they were.
March 30, 2004, 4:38 AM
Myndfyr
[quote author=K link=board=37;threadid=5877;start=0#msg52592 date=1080621528]
[quote author=Myndfyre link=board=37;threadid=5877;start=0#msg52580 date=1080615218]
[quote author=DaRk-FeAnOr link=board=37;threadid=5877;start=0#msg52496 date=1080600685]
His packet buffer class that I latter used, was posted long after I had finished my connection script.
[/quote]

It was also posted at least 6 months after I finished my first connection to Battle.net via both Starcraft/etc. and Warcraft III connections.
[/quote]

Did you use BNLS? A while ago I ported all the necessary revision checking, decoding and hashing functions to C# (not hard at all!) without using any COM Interop -- I was suprised with how fast they were.
[/quote]

Yes, I use BNLS complete with revisioning and all that good stuff. :)
March 30, 2004, 4:18 PM
c0ol
MyndFyre, where can I find an API listing of your library?
July 21, 2004, 1:56 AM
Myndfyr
[quote author=c0ol link=board=37;threadid=5877;start=15#msg71594 date=1090374989]
MyndFyre, where can I find an API listing of your library?
[/quote]

The release build can be downloaded here.

Note that a standalone windows help file and the .XML comments file can also be downloaded from that page.

The documentation can be found online here. It includes samples for getting started quickly with the ArmaBot API.

Note that you will need an ArmaKey for it. I suggest you just download my bot, install it, run it -- it will ask you for a key, hit Cancel, it will let you request one. Then it will put the key in:

HKEY_CURRENT_USER\Software\ArmaBot Alpha 4\ArmaKey

It should also e-mail you.

Hard-code this into your bot; it will let you (later) check out statistics on it.
July 21, 2004, 2:31 AM
c0ol
I was just wondering how the interface was designed. Im planning on making my own similar library just for the experiance in C#.
July 21, 2004, 3:19 PM
Myndfyr
[quote author=c0ol link=board=37;threadid=5877;start=15#msg71660 date=1090423175]
I was just wondering how the interface was designed. Im planning on making my own similar library just for the experiance in C#.
[/quote]

Unfortunately, I will not be able to release the GUI portion of my bot to open-source. It uses a copyrighted library for menus and the tab pages, which is licensed for single-developer.

Although, library != interface. :-P
July 21, 2004, 4:23 PM
c0ol
can win32 api not implement tab pages (notebook frames?) and what not on its own?
July 21, 2004, 8:00 PM

Search