making a chat bot

U

Unregistered

Guest
my question is intended for rapmaster but anyone else who can help, please do



i am interested in making a chat bot for battlenet in vb...let me just say that i have several years experience working with VB and i am attendending college in january, majoring in comp sci.
i am also familiar with the winsock control


in another post, rapmaster said to analyze how the server formats messages...i got telnet open and used port 6112...
my question is how do i analyze how the server formats messeages???


thanks for any help
 
You won't be doing much VB in college =)

When you are telnetting in, the server sends information to you with certain codes and flags... and there are certain commands that it recognizes from you (the rest is interpreted as talking.) This is the 'protocol'


Once you connect on port 6112, send a lowercase 'c' character and then enter a username/password (account must be created with a battle.net game like Starcraft, Diablo II etc-- but not Warcraft III.) (Everything will be blank until you send that 'c')

For example here is a battle.net session:

Connection from [xxx.xxx.xxx.xxx]

Enter your account name and password.
Use 'anonymous' if you only want to issue queries.

Username: rapmaster
Password:

2010 NAME rapmaster
1007 CHANNEL "Public Chat 2"
1001 USER xi-control 0010 [CHAT]
1001 USER full-throttle 0000 [D2XP]
1001 USER RuiSong 0000 [D2XP]
1001 USER rapmaster 0010 [CHAT]
1018 INFO "Welcome to Battle.net!"
1018 INFO "This server is hosted by AT&T."
1018 INFO "There are currently 405 users in Chat, and 145929 users playing 61633
games on Battle.net."
1019 ERROR "Chatting with this game is restricted to the channels listed in the
channel menu."
1018 INFO "Last logon: Wed Oct 30 10:45 PM"
1019 ERROR "Failed logon attempts since then: 1"
/join open tech support
1007 CHANNEL "Open Tech Support"
1001 USER tamshighlander2 0000 [D2XP]
1001 USER b18c@Lordaeron 0000 [WAR3]
1001 USER chickin_killer 0000 [D2XP]
1001 USER PhrozenBot 0010 [CHAT]
1001 USER wirey_tjk 0000 [D2XP]
1001 USER KillingRight 0000 [SEXP]
1001 USER fantasydeath2 0000 [D2XP]
1001 USER ascendingfear 0000 [D2XP]
1001 USER rapmaster 0010 [CHAT]
1018 INFO "This is an open channel where you can get help on"
1018 INFO "technical problems from other users. To talk to"
1018 INFO "Blizzard's technical support group, use the"
1018 INFO "Blizzard Tech Support channel."
1005 TALK KillingRight 0000 "[][][][]?"
hi
1005 TALK KillingRight 0000 "Hi"
1002 JOIN donnas 0000 [D2XP]

basically your program needs to read this stuff and format it as needed (for example the 1001 USER lines are used to build your list of people in the channel)



Here's a bit of info: http://www.zotteljedi.de/bnet/protocol.html (there used to be some better references but I can't find them. It's not that hard to figure out.)

I assume you know how to get your program to connect and read/send info to the server. It's really easy in VB with the winsock control.
 
thanks for the help rapmaster i'll try what u said and ask u more questions if i need to..


*i also know C++*
intermediate skills


looking forward to learn more languages at school like Java or whatever


also rapmaster i would like to know ur credentials to see what u did to accumulate so much knowledge


thanks once again



"Knowlege is POWER"
 
DAMN....Y doesnt it work with warcraft III?

Cuz thats what i got
 
Hi

If any one that wants to join my clan on diablo that can make dats or make bots ill b hapopy to accept them :p im the leader of (HM) HitMen clan for diablo my name is DarkArcher(HM)
 
I'll assume that you're all the same person -

Battle.net's CHAT protocol is what Rapmaster is talking about. This is the protocol people are using when you see the chat icon next to their name on the userlist in any of Blizzard's games. If you wanted to support logging on as games, with all the fun that entails, you'd have to write a bot which emulates the game, which is much harder but by no means impossible. Since this is technically a violation of Blizzard's EULA I can't give out details here but there is plenty of VB sample code on the internet if you look hard enough :)

I can, however, tell you that I know of only 2 people on Battle.net who have successfully reverse engineered Warcraft III's logon (they did it together) and they're keeping their findings private.
 
When I say it doesn't work with war3 I just mean you need to use a Starcraft or Diablo (1+2) or War2bne account. War3 uses its own account system that chat connections can't use. They can still talk to each other on b.net

Chat connections are very limited now-- you can only get into certain channels. It is essentially useless to make such a bot now (unless you want to hang out in tech support channels) but its a good learning experience.
-

My credentials... well I taught myself BASIC programming when I was like 11 years old and eventually did a lot of VB. I haven't really touched VB in a long time though. When going to college for computer science I realized how unstructured and ugly my old code was. I eventually dropped out of comp sci after a few years because it drove me insane. Flipped over to hardware/IT/networking stuff which I'm doing at college now and working on and off for the Canadian government. I know a lot about a few things and a little about everything else when it comes to computers :)
 
Originally posted by Arta
Since this is technically a violation of Blizzard's EULA I can't give out details here

The only thing that goes against the EULA is if you didn't buy the game you're emulating, or are using someone else's CD Key.
 
Section 3 of the War3 EULA specifcally says you can't reverse engineer the program, or connect to b.net through any type of emulated program. Not sure about other games. Of course some people question the legality of such terms in a EULA and it may even conflict with laws in some areas, but that's what it says, for what its worth.

(again, this doesn't apply to chat bots)
 
I didn't read the war3 EULA, assumed it was the same as D1/War2/SC.
 
Of course, as Arta mentioned-- there aren't any (or at least many) bots that emulate War3. Obviously Blizzard updated it to be more clear in War3.

But reverse-engineering (kind of a broad term) has always been prohibited.
 
Any chance you want to make the bot open source and have it hosted here? I know how to program in VB and can probably help.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    Mayo also has vinegar. Vinegar is a very important part of it, it's effectively a delivery method FOR vinegar but hidden
    +1
  • Varine Varine:
    It's a neat ingredient. But yeah it's eggs. But a LOT of people think eggs count as dairy because of the fucking food pyramid the US keeps trying to make a thing
  • Varine Varine:
    I think on the new one they did change it, but idk. I don't really care whatever the government is doing right now because it's consistently absurd. Like what is RFK doing in charge of health anything? I love the bear story because WTF was that, but also, pretty much every time he talks it's WTF. Like even his voice sounds microwaved
    +1
  • Varine Varine:
    The pyramid is fucking dumb as shit, no matter how you arrange it.
  • Varine Varine:
    It's actually remarkably easy to make mayonnaise though. Fun fact, it USED to kind of be a French mother sauce. I believe that Careme considered it one, it may have been aioli but that has also built a different meaning than it used to. An aioli is just mayonnaise I mixed with other shit typically, I didn't start it don't come at me
  • Varine Varine:
    It's very hard to do it on a large scale though
  • Varine Varine:
    Depending on how you pour the oil the consistency can vary wildly, but that's true for most emulsions. I can only make about two quarts at a time with my robo coup, and if I have to make several in series because I forgot to order it becomes really obvious even when I do it. We have to wait and mix them all together to make sure we have the same thing.
  • Varine Varine:
    Hollandaise is also kind of like that, emulsions require a very steady hand to do exactly the same every time.
  • Varine Varine:
    Luckily I live in an age with electricity so it's way fucking faster, but when I was just a boy trying to find my place I had some hardcore chefs that made use do things like that by hand. It is WAY easier to get right by hand because you control it and can feel it, but it takes soooooo much longer. And on the scale a modern kitchen requires... I serve 400-500 guests on average per day right now, if I had 100 then we could do things way better
  • Varine Varine:
    But we can't do that. In the winter yeah, but I HAVE to get people through here right now so I can afford the staff that we CAN do that. We have about 100 days of summer, and if that summer doesn't make us what it will, then I can't operate the other most of the year with my staff. The owner is talking about closing two days a week to cut down on labor, I told him he should cut down on vacations and it did not go great. I do think I won though, I have to keep my fucking core staff and they have to be gainfully employed
  • Varine Varine:
    Sure some of them might take a second job, but I can't just cut my entire staff to unlivable hours, nor can I can cut them off all winter if I want them to come back.
  • Varine Varine:
    And also, there is no fucking way I'm pulling these hours come september. I only do this right now because I have to, the second I don't have to be the one doing it I won't be
  • Varine Varine:
    I have a 5 person core staff in the kitchen, not including me or Chef Ben
  • Varine Varine:
    Though two of those people are likely not making it this year. One of them has been replaced, the other I am kind of trying to. He's being a giant bitch, today I had to get onto him because in the three hours before I left he had taken like thirty minutes for cigarette breaks
  • Varine Varine:
    And he was also complaining to me the other day that he was out of weed so couldn't smoke any before work that day, and was confused about why I was annoyed he was telling me, his boss, that he is smoking weed everyday before work.
    +1
  • Varine Varine:
    Like yeah I can tell. I don't need to fucking know.
  • Varine Varine:
    So now he's getting scrutinized and will not be top of the list. I know I don't have the smartest people but I do expect them to have some common fucking sense
  • Varine Varine:
    I did do a rare thing for me and hire a girl last month without warning. Everyone was made at me because I started her at like 21, but she worked with me before and I was like don't care. She made 19 at her old job and I wanted her to come work with me, she is the best
    +1
  • Varine Varine:
    I'm going to get her a raise at the end of the summer. She wants to go to school again, but I want her to still work with me so.... she kind of can just tell me what the price is. I can go to 25 if she keeps up. I need to get her onto line more, that's what she wants, but I need her where she is and it's not fair that she doesn't get the little bit of raise that comes with it. She can do it no problem, I've worked with her there.
  • Varine Varine:
    It's just hard to move and train people unnecessarily right now. And also the line fucking sucks, it's not any more fun. This is turn and burn so I have the bankroll, and everyone suffers for it
  • Varine Varine:
    Eventually we'll get it balanced, we'
  • Varine Varine:
    we're starting online orders and stuff, but I also turn that off all the time because I barely keep up trying to be the best at Sysco shit
  • Varine Varine:
    I think it's gonna be a good fall and winter though. We're going to have a good staff, they will get along, they will be able to manage the workload and the complications, they know how to really cook this year, like every person on line knows their steak temps. Some of them use thermometers a lot and they don't always use them right, but they do know how to do it. Failure, especially in this field, is the only way to get better. They'll get it
  • Varine Varine:
    They won't get feel down while they do the thermometer, but we didn't have an instant read probe when I was learning. Like they did but god knows how off it is, you HAD to do it by feel. Even if the chef was fine with me bringing my own, it takes too long. Poke and know
  • The Helper The Helper:
    420 threads in the Artificial Intelligence forum :)

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials
      Top