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?
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.
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
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.
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?
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)
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
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.
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#. :)
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.
His packet buffer class that I latter used, was posted long after I had finished my connection script.
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.
Well, then maybe you beat me to it.
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.
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. :)
MyndFyre, where can I find an API listing of your library?
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.
I was just wondering how the interface was designed. Im planning on making my own similar library just for the experiance in C#.
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
can win32 api not implement tab pages (notebook frames?) and what not on its own?