• Welcome to Valhalla Legends Archive.
 

Bot Creating Guide

Started by Reaper~, February 11, 2004, 08:03 AM

Previous topic - Next topic

MyndFyre

Quote from: Reaper~ on February 12, 2004, 08:08 AM
Actually, you all missed the point... I didn't say it was gonna be this cool bot which I make a website for and everything. I just wanted a bot to be included with something I'm making. I don't care if all I did was fill in a couple check marks to make it. I want to learn to be a programmer later in life. Right now, I'm interested in web design and some programming.  All I wanted was something that would be easy to do. But, with the exception from Myndfire, you all have been arguing with each other instead of helping. At lease myndfire tried to help me.

I think iago tried to help you.  I tried to criticize your lack of reading the information that other people stated.  :p

Anyway -- I was a programmer for various other things for over four years before I got near the ability to work on a bot.  Once I got there, it took me four months just to figure out who to connect a socket to Battle.net (Granted, I wasn't using the OCX -- it was just a little lower-level).

If you want to be a programmer when you get older, and you're already familiar with making websites and (perhaps) using dynamic HTML, I would get into a Javascript tutorial at Webmonkey:

http://hotwired.lycos.com/webmonkey/programming/javascript/tutorials/tutorial1.html

which is where I got started.  Applying the principles I learned there, I managed to write a completely-client-side search engine.  Granted, it could be slow, and it required the data to be embedded within the page, but it worked, dammit.

From there, I got involved with Microsoft's server-side ASP scripting, using Javascript (er, Microsoft's ripoff of JavaScript, JScript).  I taught myself how that worked, and put together a really nice dynamic page for my clan.  You can find a good ASP tutorial at MSDN at:

http://msdn.microsoft.com/library/en-us/dnasp/html/asptutorial.asp?frame=true

Granted, a lot of the code is in VBScript.  It doesn't take much to convert.

From there, I was working on ASP just as the .NET Platform was rolling out Beta 1.  I started looking at the ASP+ specs, and found out that the new JScript would be a compiled language, and I thought, "Wow!  Using programming I already know, I can make real programs!!!"  Yes, I was a 1337 n3wb, but I jumped on the bandwagon.  As time progressed I found out that JScript really sux0rs for compiled programs, and made the transition to C#.  Now that I know C# as well as I do, I've been able to really make strides in OOP.  I've written a few articles for my Windows Interest Group at school about good object-oriented programming practices, and I had offered a C# class but was unable to fulfill it as my laptop went to crap over winter break.  I was a C# programmer for a full year and a half before I ever touched Sockets programming, which is a new aspect of .NET that I learned when I started getting involved with Battle.net botmaking.

The bot that I wrote has a specific purpose for my clan -- a slightly modified version is used to keep the channel list and our users information up-to-date on our website.  Since the website is now a .NET application, I used the quick distributed computing using SOAP that the .NET framework provides.

In the future, if you're the last poster, don't post a reply to yourself -- edit your most recent post.  :)  thanks.

Hope this gives you some direction.  You can't "just make a bot" -- you need to practice and hone your programming skills.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

iago

Quote from: Reaper~ on February 11, 2004, 08:03 AM
Hey, lets be honest. A lot of people want to create bots but don't the the right resources and don't know the first step. Like Me! If someone would put together a pack of the required materials or a program like "Trainer Maker Kit", I would be very thankful. Please e-mail me and get back to this matter.
You wanted the resources and the first step to making a bot.  That's what I gave you.

Quote from: Reaper~ on February 12, 2004, 08:08 AM
Actually, you all missed the point... I didn't say it was gonna be this cool bot which I make a website for and everything. I just wanted a bot to be included with something I'm making. I don't care if all I did was fill in a couple check marks to make it. I want to learn to be a programmer later in life. Right now, I'm interested in web design and some programming.  All I wanted was something that would be easy to do. But, with the exception from Myndfire, you all have been arguing with each other instead of helping. At lease myndfire tried to help me.
And now I'm missing the point because you just wanted a bot to be a small piece of what you're making, simply filling in a couple of check marks to make it?

You went from wanting a guide on how to make a bot to a program that does it for you.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Kp

Quote from: Gangz on February 12, 2004, 12:08 AMI agree :D ... Why would you want to make a bot with software someone else made?

So you write your own compilers in machine code, and use those to create your bot(s)?  I find it very convenient to use premade compilers such as VC or gcc -- saves me much work.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Gangz

Quote from: Kp on February 12, 2004, 12:17 PM
Quote from: Gangz on February 12, 2004, 12:08 AMI agree :D ... Why would you want to make a bot with software someone else made?

So you write your own compilers in machine code, and use those to create your bot(s)?  I find it very convenient to use premade compilers such as VC or gcc -- saves me much work.

a bit technical aren't we?

Hamtaro

i just want to know what the processes are that get you connected to battle.net and kind of try to use what i learn as i learn to try and get it to work.  i heard someone mention they made their own server?.. how do u do that?  id like to do that and be safer bcuz i dont know battle.net's rules or what theyd do if i did something wrong and sent a bad packet.. dont want my cd key banned :P

and im confused on packets.. even after looking thru bnetdocs i dont really understand what packets *are*.. i see that they are what looks like hex that both client and server send and read.. but i dont get why they are what looks like hex.. bah u can just ignore this whole paragraph if its something ill learn by learning a language.  <-- that sentence there.. i can see that either being logical or make me look even stupider to ppl who know what they are talking about ^^; oh well..

UserLoser.

Quote from: Hamtaro on February 12, 2004, 03:58 PM
i just want to know what the processes are that get you connected to battle.net and kind of try to use what i learn as i learn to try and get it to work.  i heard someone mention they made their own server?.. how do u do that?  id like to do that and be safer bcuz i dont know battle.net's rules or what theyd do if i did something wrong and sent a bad packet.. dont want my cd key banned :P

and im confused on packets.. even after looking thru bnetdocs i dont really understand what packets *are*.. i see that they are what looks like hex that both client and server send and read.. but i dont get why they are what looks like hex.. bah u can just ignore this whole paragraph if its something ill learn by learning a language.  <-- that sentence there.. i can see that either being logical or make me look even stupider to ppl who know what they are talking about ^^; oh well..

Some info:

Yes Blizzard made their own servers, you just need some Winsock and Windows programming knowledge along with much more.

If you send a bad packet, the worst that can happen is a ~30 minute IP ban from the servers.

A packet is data, data that you (the client), send to the destination (in this case, the Battle.net server).  Packets aren't necessarly read in hex (just in packet loggers they have hex dumps)

Hamtaro

#36
Quote from: iago on February 12, 2004, 08:02 AM
First of all, I said get a GAME, not another bot :P

Second, start with wc2 or sc or bw or d2 open.  Realms just complicate things, and aren't really important for now.

It should be fairly logical what does what, and reading BNetDocs will help.  Reread my first reply, I tell you pretty much how to figure out what is your cdkey, what is your password, etc.  Just log on twice, using the same cdkey/username/a different password.

Another thing I did, which helped, was create a fake server.  I basically just echoed to the client EXACTLY what the server was sending me.[/i]  Then I would make small changes to the server's responses and see how the client responded.  That will help a lot, and, although it's not hard, it's a little tiresome :)

that is what i want to know how to do

-thx for the info btw, userloser.

MyndFyre

Quote from: Hamtaro on February 12, 2004, 04:12 PM
Quote from: iago on February 12, 2004, 08:02 AM
First of all, I said get a GAME, not another bot :P

Second, start with wc2 or sc or bw or d2 open.  Realms just complicate things, and aren't really important for now.

It should be fairly logical what does what, and reading BNetDocs will help.  Reread my first reply, I tell you pretty much how to figure out what is your cdkey, what is your password, etc.  Just log on twice, using the same cdkey/username/a different password.

Another thing I did, which helped, was create a fake server.  I basically just echoed to the client EXACTLY what the server was sending me.[/i]  Then I would make small changes to the server's responses and see how the client responded.  That will help a lot, and, although it's not hard, it's a little tiresome :)

that is what i want to know how to do

-thx for the info btw, userloser.

Hamtaro, this is getting to be excessively trite.

First, do you know anything about networking?  If I said that the Battle.net protocol is an Application-Layer Protocol, would you understand what that means?  Do you know what a Socket is, or what Winsock is?  Do you know how data is encoded inside of a computer, what a "data type" is, or the slightest idea how to program?

Do you understand that there aren't actually little letters hidden inside your hard drive and your RAM sticks?  Do you know that letters are actually encoded into (i.e. represented by) numbers within a computer, which are really encoded in little tiny switches called transistors?

THAT is what you see in a hex dump of a packet log.  You see numbers and letters encoded in their own respective, standardized ways.

If you don't understand what these things are, you are very, very far away from being able to make a mock server and a bot.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

iago

Quote from: Myndfyre on February 12, 2004, 05:39 PM
If I said that the Battle.net protocol is an Application-Layer Protocol, would you understand what that means?
No :)



And about the mock-server: it doesn't do anything special, it just echos what battle.net did on one particular time.  It doesn't react to things like invalid keys, it doesn't let you chat, it doesn't let you do anything except log in.  The only reason I did it was to test how the client responds to different things sent to it.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Hamtaro

#39
Quote from: Myndfyre on February 12, 2004, 05:39 PM
Quote from: Hamtaro on February 12, 2004, 04:12 PM
Quote from: iago on February 12, 2004, 08:02 AM
First of all, I said get a GAME, not another bot :P

Second, start with wc2 or sc or bw or d2 open.  Realms just complicate things, and aren't really important for now.

It should be fairly logical what does what, and reading BNetDocs will help.  Reread my first reply, I tell you pretty much how to figure out what is your cdkey, what is your password, etc.  Just log on twice, using the same cdkey/username/a different password.

Another thing I did, which helped, was create a fake server.  I basically just echoed to the client EXACTLY what the server was sending me.[/i]  Then I would make small changes to the server's responses and see how the client responded.  That will help a lot, and, although it's not hard, it's a little tiresome :)

that is what i want to know how to do

-thx for the info btw, userloser.

Hamtaro, this is getting to be excessively trite.

First, do you know anything about networking?  *1*If I said that the Battle.net protocol is an Application-Layer Protocol, would you understand what that means?  *2*Do you know what a Socket is, or what Winsock is?  *3*Do you know how data is encoded inside of a computer, what a "data type" is, or the slightest idea how to program?

*4*Do you understand that there aren't actually little letters hidden inside your hard drive and your RAM sticks?  *5*Do you know that letters are actually encoded into (i.e. represented by) numbers within a computer, which are really encoded in little tiny switches called transistors?

THAT is what you see in a hex dump of a packet log.  You see numbers and letters encoded in their own respective, standardized ways.

If you don't understand what these things are, you are very, very far away from being able to make a mock server and a bot.

1: no
2: no
3: yes and no.. im learning how to program and i understand data types
4:  :o no way! ;) j/k but seriously.. stupid question even for me =P
5: well i dont know what transistors are.. but i understand what binary is if thats what ur asking =X

was that a test?
5 questions i scored a 2 and a half!  so round it up to a 3/5 and i pass ^^;

-edit-
but i think u think im planning to program it right now and im not.. i just want to find out what exactly happens when ur connecting to battle.net and to understand what the code is *supposed* to do.. i dont already have to know a programming language to find that out do i?

Hamtaro

Quote from: iago on February 12, 2004, 07:12 PM
Quote from: Myndfyre on February 12, 2004, 05:39 PM
If I said that the Battle.net protocol is an Application-Layer Protocol, would you understand what that means?
No :)



And about the mock-server: it doesn't do anything special, it just echos what battle.net did on one particular time.  It doesn't react to things like invalid keys, it doesn't let you chat, it doesn't let you do anything except log in.  The only reason I did it was to test how the client responds to different things sent to it.
if thats all it is, how is it going to respond differently to different things?

Mesiah / haiseM

#41
The MFC bot creator screen shot is on Maddox's website, which is usually down 80% of the time, but this is the link my history shows me:

http://24.6.129.213/images/BotWiz.gif
]HighBrow Innovations
Coming soon...

AIM Online Status: 

|