Valhalla Legends Forums Archive | Battle.net Bot Development | [Poll] A CSB .NET

AuthorMessageTime
Myndfyr
Okay.....

When I got started in my foray into bot development, part of the goal was to make a reasonable high-level design. Part of this involved separating the connection work from the display, data, and other parts of the program -- which ultimately garnered to three APIs available for my bot (the connection API, the data API, and the plugin API).

The data and extensibility APIs can only be used by my bot -- I suppose they *could* be used elsewhere, but considering that a person would have to create objects that are not publicly-creatable, if someone can, then by all means.

On the other hand, the connections API is completely encapsulated, and only requires a few bits to set up. Here's how it works:

1.) A consumer must implement the IConnectionSettings interface -- which tells the API what server(s) to connect to, using what client, what CD keys, username, password, home channel, etc.
2.) A static Connections class must have a call made to validate a key distributed by me to authenticate that client to my server (stats tracking). Only the key is sent, and the server returns my bot's BNLS username and password -- so the API can't connect until it's validated.
3.) The consumer must call Connections.GetConnectionManager(IConnectionSettings), passing in the implementation of IConnectionSettings to retrieve an appropriate connection manager. The call returns an IConnectionManager interface, which is basically defined as Connect(), Disconnect(), .ConnectionStatus, .EventHost, .CurrentUser, and .CurrentChannel.
4.) Before connecting (or after, if that's really desired), the consumer must "register events" with the IEventHost interface obtained from the connection manager. So, if I want to capture the ChatText event, I might say:
[code]
myConnMgr.EventHost.RegisterEvent(EventType.ChatText, new ChatEventHandler(this.Chat_Text));
[/code]
To prevent memory leaks, my suggested optimal design is to declare all delegates as class member fields, and call RegisterEvent before connection and UnregisterEvent after disconnect.

That's it. I put together a chat connection (binary authentication) in VB .NET in about two hours, with only the userlist with basic icons (the API supports binary friends automatically, as well as clan membership).

I'm really interested in seeing what vL members have to say about this. In any case, my bot is nearing another release, and the API is nearly complete (it's definitely usable at this point) -- so I guess I'd need to know soon, whether or not to be applying declarative code-access security.

Thanks all.

[edit] Changed the subject to include "[Poll]". [/edit]
May 24, 2004, 5:36 PM
LoRd
CSB was the stupidest thing ever made.
People that don't understand what takes place in a connection to Battle.net shouldn't be allowed to program bots for Battle.net.
May 24, 2004, 6:37 PM
drivehappy
It really depends upon if you want to support it, e.g. answering people's questions on how to do such-and-such.
May 24, 2004, 7:20 PM
Eli_1
This sounds like a decent personal project... but don't you dare release it.
[me=Eli_1]glares[/me]
May 24, 2004, 7:25 PM
Zeller
I voted yes. Although I never used csb for vb 6, it seems like a great idea. It gives programmers more time to focus on developing there bots features.
May 24, 2004, 7:34 PM
UserLoser.
Yes, but don't offer support/help for it since they should already know how to use the language and such a simple control
May 24, 2004, 7:35 PM
Fr0z3N
[quote author=UserLoser. link=board=17;threadid=6940;start=0#msg61586 date=1085427347]
Yes, but don't offer support/help for it since they should already know how to use the language and such a simple control
[/quote]

I agree with UserLoser.
May 24, 2004, 9:21 PM
hismajesty
[quote author=Zeller link=board=17;threadid=6940;start=0#msg61584 date=1085427252]
I voted yes. Although I never used csb for vb 6, it seems like a great idea. It gives programmers more time to focus on developing there bots features.
[/quote]

Connecting isn't a feature?
May 24, 2004, 9:34 PM
iago
I said no because I'm racist against CSB :)
May 24, 2004, 9:37 PM
BaDDBLooD
[quote author=iago[yL] link=board=17;threadid=6940;start=0#msg61609 date=1085434655]
I said no because I'm racist against CSB :)
[/quote]

Same Here
May 24, 2004, 11:50 PM
Newby
CSB is gay. =[
May 24, 2004, 11:54 PM
LW-Falcon
CSB is nub. >:(
May 25, 2004, 12:51 AM
Myndfyr
[quote author=LW-Falcon link=board=17;threadid=6940;start=0#msg61660 date=1085446278]
CSB is nub. >:(
[/quote]

I disagree. Newbs USE CSB. CSB itself is pretty slick.
May 25, 2004, 12:53 AM
St0rm.iD
You should have it require a test.

When you call connect(), pass in a callback function which is the implementation of some algorithm they must be smart enough to write. CSB.NET will require it to pass in order for them to connect.
May 25, 2004, 1:10 AM
CrAz3D
But eventually that will be released to the public by some one some way or another, then it will be easy again.
May 25, 2004, 2:15 AM
SNiFFeR
[quote author=iago[yL] link=board=17;threadid=6940;start=0#msg61609 date=1085434655]
I said no because I'm racist against CSB :)
[/quote]

I feel a hate crime coming.

I voted no, because, it's just too easy. People will take advantage of it, like they do with the CSB for Visual Basic 6.
May 25, 2004, 2:36 AM
Grok
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
May 25, 2004, 6:43 AM
tA-Kane
If it wasn't for the fact that all the "CSB.NET" users would come here crying that they can't get it to work, I would say "by all means, make a CSB.NET". But, those idiots always manage to find a way to these forums..., so my vote's no. Of course, if you really wanted to do this, a simple overwhelming "no" vote wouldn't stop you, would it? It wouldn't stop me.

[quote author=Grok link=board=17;threadid=6940;start=15#msg61742 date=1085467434]
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
[/quote]Maybe CSB users are so stupid that, just like they can't figure out how to write a VB program, they can't figure out how to send a reply to the thread?

I hope that's the case.
May 25, 2004, 7:28 AM
Tuberload
[quote author=tA-Kane link=board=17;threadid=6940;start=15#msg61743 date=1085470095]Maybe CSB users are so stupid that, just like they can't figure out how to write a VB program, they can't figure out how to send a reply to the thread?

I hope that's the case.
[/quote]

I voted yes without any real opinion on the matter so I didn't post. :-*
May 25, 2004, 7:31 AM
Myndfyr
[quote author=tA-Kane link=board=17;threadid=6940;start=15#msg61743 date=1085470095]
If it wasn't for the fact that all the "CSB.NET" users would come here crying that they can't get it to work, I would say "by all means, make a CSB.NET". But, those idiots always manage to find a way to these forums..., so my vote's no. Of course, if you really wanted to do this, a simple overwhelming "no" vote wouldn't stop you, would it? It wouldn't stop me.

[quote author=Grok link=board=17;threadid=6940;start=15#msg61742 date=1085467434]
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
[/quote]Maybe CSB users are so stupid that, just like they can't figure out how to write a VB program, they can't figure out how to send a reply to the thread?

I hope that's the case.
[/quote]

I've been contemplating the idea of making users either use the forum I provide or -- if they come crying here, I'll just deactivate their key. I post here pretty regularly, so I'm typically available to direct lusers to the right spot -- or if I'm mean-spirited that day, turn their bot off. :)
May 25, 2004, 7:55 AM
iago
[quote author=Grok link=board=17;threadid=6940;start=15#msg61742 date=1085467434]
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
[/quote]

Clearly the yes people have no reason.

May 25, 2004, 12:21 PM
LordNevar
Isn't it more the creators call to do with what he pleases? Why ask other peoples opinions and base what you do off of what other people say. Be your own person and do what you want :)

Rescinded: "I voted "NO" just cause it shouldn't be our place to really say what you should do." I was going to vote after post and decided not to do it, I would of contradicted everything I just said regardless of what I voted.
May 25, 2004, 2:55 PM
Newby
[quote author=tA-Kane link=board=17;threadid=6940;start=15#msg61743 date=1085470095]
If it wasn't for the fact that all the "CSB.NET" users would come here crying that they can't get it to work, I would say "by all means, make a CSB.NET". But, those idiots always manage to find a way to these forums..., so my vote's no. Of course, if you really wanted to do this, a simple overwhelming "no" vote wouldn't stop you, would it? It wouldn't stop me.

[quote author=Grok link=board=17;threadid=6940;start=15#msg61742 date=1085467434]
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
[/quote]Maybe CSB users are so stupid that, just like they can't figure out how to write a VB program, they can't figure out how to send a reply to the thread?

I hope that's the case.
[/quote]
Rofl! That made my day.
May 25, 2004, 3:09 PM
BinaryzL
I guess it would be fine for people that are familar with battle.net with past programming experience that just want to use .NET. But I still voted No.
May 25, 2004, 4:02 PM
Yoni
I voted: Yes.
May 25, 2004, 4:27 PM
Stealth
CSB has served its purpose in at least my case. CSB served as a launchpad for me -- my VB classes at school and my own Google research at home provided me with a foundation in the language that your basic "CSB newbie" lacks, and CSB acted as a springboard for me, allowing me to focus on the other aspects of program design before beginning to deal with Battle.net and Winsock communication.

The greatest issue I have with the stereotypical CSB programming newbie is that they have no interest in actually problem-solving. If I have a problem in code, I figure out what steps I can take to resolve it, then perhaps enlist the aid of Google or these forums as well as my own knowledge of the language and program flow.

Additionally, CupHead and Zorm wrote several pages of documentation for their control, which none of the stereotypical people seem to be able to comprehend. The vast majority of my questions regarding the operation of CSB were very quickly resolved by actually reading these two documents.

In the end, it comes down to this: If you create a .NET version of CSB, some people will benefit from it. At the same time, the same stereotypical bunch of people who have no wish to expand their knowledge and only want to slap their name on a program for public release will invade your .NET forum with stupid questions.

Edit: Fixed URL tags.
May 25, 2004, 7:02 PM
hismajesty
People who use CSB are usually flamed/looked down on here and elsewhere. This would just probably just reiterate that. However, if it does have a strong auth and require some sort of test I'd guess it wouldn't be that bad.
May 25, 2004, 7:11 PM
Myndfyr
[quote author=LordNevar link=board=17;threadid=6940;start=15#msg61762 date=1085496915]
Isn't it more the creators call to do with what he pleases? Why ask other peoples opinions and base what you do off of what other people say. Be your own person and do what you want :)
[/quote]

The real secret reason for me polling is because I'm working on a project for Grok and Adron, in an attempt to score candidacy for vL. I don't want half the vL members voting "no" on a potential candidacy because I released something that the majority of vL members dislike (that is, another newblet-helper that inundates them with help questions).

This post on the .NET forum got me thinking about it:
[quote author=Grok link=board=37;threadid=6860;start=0#msg61455 date=1085361363]
But -- you could write the new CSB.NET for everyone! Then everyone could be a L33T.NET bot developer by including your assembly in their solution.
</sarcasm> please dont ;)
[/quote]

I realize that some people in vL respect CSB, and others really disdain it. I don't want them "no"-ing me just because I've made a souped-up version of something they hate already. ;)
May 25, 2004, 7:24 PM
hismajesty
[quote author=Myndfyre link=board=17;threadid=6940;start=15#msg61796 date=1085513078]
I don't want them "no"-ing me[/quote]

eww, it took me ~6.4 seconds to realize you were talking about the vL test and not replacing 'know' with 'no' for some odd reason. :P
May 25, 2004, 7:28 PM
LordNevar
I think that if you want to make something like a "CSB.Net" than by all means go for it, Like I stated before it's should be the creators decision on what he want's to do with it. People will alway's "Flame" what you do or what you say, It's how the world works. Noone is perfect and noone ever will be. It should be more for how much satisfaction you get out of your work when your done, and not how much trouble you think it is going to cause for other people. If people alway's worried about what other people thought, Than the world wouldn't be were it is today.
May 25, 2004, 8:45 PM
Myndfyr
[quote author=LordNevar link=board=17;threadid=6940;start=15#msg61827 date=1085517940]
I think that if you want to make something like a "CSB.Net" than by all means go for it, Like I stated before it's should be the creators decision on what he want's to do with it. People will alway's "Flame" what you do or what you say, It's how the world works. Noone is perfect and noone ever will be. It should be more for how much satisfaction you get out of your work when your done, and not how much trouble you think it is going to cause for other people. If people alway's worried about what other people thought, Than the world wouldn't be were it is today.
[/quote]

I'm going to give you some advice. Take it as you will.

Don't enter politics.
May 25, 2004, 9:01 PM
Dyndrilliac
[quote author=LordNevar link=board=17;threadid=6940;start=15#msg61827 date=1085517940]
I think that if you want to make something like a "CSB.Net" than by all means go for it, Like I stated before it's should be the creators decision on what he want's to do with it. People will alway's "Flame" what you do or what you say, It's how the world works. Noone is perfect and noone ever will be. It should be more for how much satisfaction you get out of your work when your done, and not how much trouble you think it is going to cause for other people. If people alway's worried about what other people thought, Than the world wouldn't be were it is today.
[/quote]

You obviously failed to either 1) read, or 2) comprehend his post on his reasoning. Why would he go through the trouble of creating something when his goal would not be achieved. He has assured us that his main goal of working in this project is the satisfactory vote of a group of people. It is obviously a more logical move to work toward a project that group approves of, hence the poll.

Personally Mynd, I think everyone would be much more happy with a program that can selectively infect certain people with SARS or something ;) :D :P
May 25, 2004, 9:51 PM
Myndfyr
[quote author=Dyndrilliac link=board=17;threadid=6940;start=30#msg61849 date=1085521912]
[quote author=LordNevar link=board=17;threadid=6940;start=15#msg61827 date=1085517940]
I think that if you want to make something like a "CSB.Net" than by all means go for it, Like I stated before it's should be the creators decision on what he want's to do with it. People will alway's "Flame" what you do or what you say, It's how the world works. Noone is perfect and noone ever will be. It should be more for how much satisfaction you get out of your work when your done, and not how much trouble you think it is going to cause for other people. If people alway's worried about what other people thought, Than the world wouldn't be were it is today.
[/quote]

You obviously failed to either 1) read, or 2) comprehend his post on his reasoning. Why would he go through the trouble of creating something when his goal would not be achieved.
[/quote]

Essentially, the more important goal would be to get into vL than release a bot control to the public.
May 26, 2004, 12:27 AM
St0rm.iD
Honestly, if I were in your situation I'd put a trojan in it and tell everyone who's smart enough to find it about it. Then start a massive email spambot network and sell it to advertising agencies, and buy a third world country.
May 27, 2004, 8:49 PM
Zeller
[quote author=Myndfyre link=board=17;threadid=6940;start=30#msg61873 date=1085531245]
[quote author=Dyndrilliac link=board=17;threadid=6940;start=30#msg61849 date=1085521912]
[quote author=LordNevar link=board=17;threadid=6940;start=15#msg61827 date=1085517940]
I think that if you want to make something like a "CSB.Net" than by all means go for it, Like I stated before it's should be the creators decision on what he want's to do with it. People will alway's "Flame" what you do or what you say, It's how the world works. Noone is perfect and noone ever will be. It should be more for how much satisfaction you get out of your work when your done, and not how much trouble you think it is going to cause for other people. If people alway's worried about what other people thought, Than the world wouldn't be were it is today.
[/quote]

You obviously failed to either 1) read, or 2) comprehend his post on his reasoning. Why would he go through the trouble of creating something when his goal would not be achieved.
[/quote]

Essentially, the more important goal would be to get into vL than release a bot control to the public.
[/quote]

and after he gets into vL he can release it with out worry and screw every one over ;D
May 27, 2004, 10:24 PM

Search