Valhalla Legends Archive

Programming => Battle.net Bot Development => Topic started by: MyndFyre on May 24, 2004, 12:36 PM

Poll
Question: Should I release a CSB equivalent for .NET?
Option 1: Yes votes: 17
Option 2: No votes: 21
Title: [Poll] A CSB .NET
Post by: MyndFyre on May 24, 2004, 12:36 PM
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:

myConnMgr.EventHost.RegisterEvent(EventType.ChatText, new ChatEventHandler(this.Chat_Text));

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]
Title: Re:[Poll] A CSB .NET
Post by: Eric on May 24, 2004, 01:37 PM
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.
Title: Re:[Poll] A CSB .NET
Post by: drivehappy on May 24, 2004, 02:20 PM
It really depends upon if you want to support it, e.g. answering people's questions on how to do such-and-such.
Title: Re:[Poll] A CSB .NET
Post by: Eli_1 on May 24, 2004, 02:25 PM
This sounds like a decent personal project... but don't you dare release it.
/me glares
Title: Re:[Poll] A CSB .NET
Post by: Zeller on May 24, 2004, 02:34 PM
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.
Title: Re:[Poll] A CSB .NET
Post by: UserLoser. on May 24, 2004, 02:35 PM
Yes, but don't offer support/help for it since they should already know how to use the language and such a simple control
Title: Re:[Poll] A CSB .NET
Post by: Fr0z3N on May 24, 2004, 04:21 PM
Quote from: UserLoser. on May 24, 2004, 02:35 PM
Yes, but don't offer support/help for it since they should already know how to use the language and such a simple control

I agree with UserLoser.
Title: Re:[Poll] A CSB .NET
Post by: hismajesty on May 24, 2004, 04:34 PM
Quote from: Zeller on May 24, 2004, 02:34 PM
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.

Connecting isn't a feature?
Title: Re:[Poll] A CSB .NET
Post by: iago on May 24, 2004, 04:37 PM
I said no because I'm racist against CSB :)
Title: Re:[Poll] A CSB .NET
Post by: BaDDBLooD on May 24, 2004, 06:50 PM
Quote from: iago[yL] on May 24, 2004, 04:37 PM
I said no because I'm racist against CSB :)

Same Here
Title: Re:[Poll] A CSB .NET
Post by: Newby on May 24, 2004, 06:54 PM
CSB is gay. =[
Title: Re:[Poll] A CSB .NET
Post by: Falcon[anti-yL] on May 24, 2004, 07:51 PM
CSB is nub. >:(
Title: Re:[Poll] A CSB .NET
Post by: MyndFyre on May 24, 2004, 07:53 PM
Quote from: LW-Falcon on May 24, 2004, 07:51 PM
CSB is nub. >:(

I disagree.  Newbs USE CSB.  CSB itself is pretty slick.
Title: Re:[Poll] A CSB .NET
Post by: Banana fanna fo fanna on May 24, 2004, 08:10 PM
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.
Title: Re:[Poll] A CSB .NET
Post by: CrAz3D on May 24, 2004, 09:15 PM
But eventually that will be released to the public by some one some way or another, then it will be easy again.
Title: Re:[Poll] A CSB .NET
Post by: SNiFFeR on May 24, 2004, 09:36 PM
Quote from: iago[yL] on May 24, 2004, 04:37 PM
I said no because I'm racist against CSB :)

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.
Title: Re:[Poll] A CSB .NET
Post by: Grok on May 25, 2004, 01:43 AM
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
Title: Re:[Poll] A CSB .NET
Post by: tA-Kane on May 25, 2004, 02:28 AM
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 from: Grok on May 25, 2004, 01:43 AM
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
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.
Title: Re:[Poll] A CSB .NET
Post by: Tuberload on May 25, 2004, 02:31 AM
Quote from: tA-Kane on May 25, 2004, 02:28 AMMaybe 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.

I voted yes without any real opinion on the matter so I didn't post. :-*
Title: Re:[Poll] A CSB .NET
Post by: MyndFyre on May 25, 2004, 02:55 AM
Quote from: tA-Kane on May 25, 2004, 02:28 AM
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 from: Grok on May 25, 2004, 01:43 AM
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
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.

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.  :)
Title: Re:[Poll] A CSB .NET
Post by: iago on May 25, 2004, 07:21 AM
Quote from: Grok on May 25, 2004, 01:43 AM
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)

Clearly the yes people have no reason.

Title: Re:[Poll] A CSB .NET
Post by: LordNevar on May 25, 2004, 09:55 AM
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.
Title: Re:[Poll] A CSB .NET
Post by: Newby on May 25, 2004, 10:09 AM
Quote from: tA-Kane on May 25, 2004, 02:28 AM
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 from: Grok on May 25, 2004, 01:43 AM
It's funny that most of the comments are "no", yet almost half the votes are "yes" :)
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.
Rofl! That made my day.
Title: Re:[Poll] A CSB .NET
Post by: BinaryzL on May 25, 2004, 11:02 AM
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.
Title: Re:[Poll] A CSB .NET
Post by: Yoni on May 25, 2004, 11:27 AM
I voted: Yes.
Title: Re:[Poll] A CSB .NET
Post by: Stealth on May 25, 2004, 02:02 PM
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 (http://cuphead.valhallalegends.com/ocx_me.txt) pages (http://cuphead.valhallalegends.com/ocx.htm) 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.
Title: Re:[Poll] A CSB .NET
Post by: hismajesty on May 25, 2004, 02:11 PM
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.
Title: Re:[Poll] A CSB .NET
Post by: MyndFyre on May 25, 2004, 02:24 PM
Quote from: LordNevar on May 25, 2004, 09:55 AM
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 :)

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 from: Grok on May 23, 2004, 08:16 PM
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 ;)

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.  ;)
Title: Re:[Poll] A CSB .NET
Post by: hismajesty on May 25, 2004, 02:28 PM
Quote from: Myndfyre on May 25, 2004, 02:24 PM
I don't want them "no"-ing me

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
Title: Re:[Poll] A CSB .NET
Post by: LordNevar on May 25, 2004, 03:45 PM
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.
Title: Re:[Poll] A CSB .NET
Post by: MyndFyre on May 25, 2004, 04:01 PM
Quote from: LordNevar on May 25, 2004, 03:45 PM
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.

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

Don't enter politics.
Title: Re:[Poll] A CSB .NET
Post by: Dyndrilliac on May 25, 2004, 04:51 PM
Quote from: LordNevar on May 25, 2004, 03:45 PM
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.

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
Title: Re:[Poll] A CSB .NET
Post by: MyndFyre on May 25, 2004, 07:27 PM
Quote from: Dyndrilliac on May 25, 2004, 04:51 PM
Quote from: LordNevar on May 25, 2004, 03:45 PM
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.

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.

Essentially, the more important goal would be to get into vL than release a bot control to the public.
Title: Re:[Poll] A CSB .NET
Post by: Banana fanna fo fanna on May 27, 2004, 03:49 PM
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.
Title: Re:[Poll] A CSB .NET
Post by: Zeller on May 27, 2004, 05:24 PM
Quote from: Myndfyre on May 25, 2004, 07:27 PM
Quote from: Dyndrilliac on May 25, 2004, 04:51 PM
Quote from: LordNevar on May 25, 2004, 03:45 PM
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.

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.

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

and after he gets into vL he can release it with out worry and screw every one over  ;D