Valhalla Legends Archive

Programming => General Programming => .NET Platform => Topic started by: AnonProgrammer on March 19, 2004, 04:26 PM

Title: Open Source Project
Post by: AnonProgrammer on March 19, 2004, 04:26 PM
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?
Title: Re:Open Source Project
Post by: MyndFyre on March 21, 2004, 11:40 PM
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.
Title: Re:Open Source Project
Post by: Fr0z3N on March 23, 2004, 12:11 AM
Quote from: Myndfyre on March 21, 2004, 11:40 PM

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.

Binary or BNLS?

Feanor made one that uses EASN
Title: Re:Open Source Project
Post by: MyndFyre on March 23, 2004, 07:36 AM
Quote from: Fr0z3N on March 23, 2004, 12:11 AM
Quote from: Myndfyre on March 21, 2004, 11:40 PM

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.

Binary or BNLS?

Feanor made one that uses EASN

I'm not familiar with EASN.

Mine connects via BNLS.
Title: Re:Open Source Project
Post by: AnonProgrammer on March 23, 2004, 07:56 PM
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 [email protected], but I understand if you don't want to share your code.  Is there any published info on BNLS, BG3 or others?
Title: Re:Open Source Project
Post by: Tuberload on March 23, 2004, 08:05 PM
Quote from: AnonProgrammer on March 23, 2004, 07:56 PM
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 [email protected], but I understand if you don't want to share your code.  Is there any published info on BNLS, BG3 or others?
http://www.valhallalegends.com/yoni/BNLSProtocolSpec.txt (http://www.valhallalegends.com/yoni/BNLSProtocolSpec.txt)
Title: Re:Open Source Project
Post by: Kp on March 28, 2004, 06:00 PM
Quote from: Myndfyre on March 23, 2004, 07:36 AMI'm not familiar with EASN.

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
Title: Re:Open Source Project
Post by: Dark-Feanor on March 28, 2004, 11:10 PM
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 (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.
Title: Re:Open Source Project
Post by: hismajesty on March 29, 2004, 04:16 AM
QuoteI 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.

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#.  :)
Title: Re:Open Source Project
Post by: Kp on March 29, 2004, 04:50 PM
Quote from: DaRk-FeAnOr on March 28, 2004, 11:10 PMKP, 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.

It was stated in the vL homechannel from someone who sounded quite sure of himself.
Title: Re:Open Source Project
Post by: Dark-Feanor on March 29, 2004, 04:51 PM
His packet buffer class that I latter used, was posted long after I had finished my connection script.
Title: Re:Open Source Project
Post by: MyndFyre on March 29, 2004, 08:53 PM
Quote from: DaRk-FeAnOr on March 29, 2004, 04:51 PM
His packet buffer class that I latter used, was posted long after I had finished my connection script.

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.
Title: Re:Open Source Project
Post by: Dark-Feanor on March 29, 2004, 09:12 PM
Well, then maybe you beat me to it.
Title: Re:Open Source Project
Post by: K on March 29, 2004, 10:38 PM
Quote from: Myndfyre on March 29, 2004, 08:53 PM
Quote from: DaRk-FeAnOr on March 29, 2004, 04:51 PM
His packet buffer class that I latter used, was posted long after I had finished my connection script.

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.

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.
Title: Re:Open Source Project
Post by: MyndFyre on March 30, 2004, 10:18 AM
Quote from: K on March 29, 2004, 10:38 PM
Quote from: Myndfyre on March 29, 2004, 08:53 PM
Quote from: DaRk-FeAnOr on March 29, 2004, 04:51 PM
His packet buffer class that I latter used, was posted long after I had finished my connection script.

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.

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.

Yes, I use BNLS complete with revisioning and all that good stuff. :)
Title: Re:Open Source Project
Post by: c0ol on July 20, 2004, 08:56 PM
MyndFyre, where can I find an API listing of your library?
Title: Re:Open Source Project
Post by: MyndFyre on July 20, 2004, 09:31 PM
Quote from: c0ol on July 20, 2004, 08:56 PM
MyndFyre, where can I find an API listing of your library?

The release build can be downloaded here (http://www.armabot.net/downloads.aspx).

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 (http://www.armabot.net/api/ArmaBot.Connections/index.html).  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.
Title: Re:Open Source Project
Post by: c0ol on July 21, 2004, 10:19 AM
I was just wondering how the interface was designed.  Im planning on making my own similar library just for the experiance in C#.
Title: Re:Open Source Project
Post by: MyndFyre on July 21, 2004, 11:23 AM
Quote from: c0ol on July 21, 2004, 10:19 AM
I was just wondering how the interface was designed.  Im planning on making my own similar library just for the experiance in C#.

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
Title: Re:Open Source Project
Post by: c0ol on July 21, 2004, 03:00 PM
can win32 api not implement tab pages (notebook frames?) and what not on its own?