• Welcome to Valhalla Legends Archive.
 

Remote Bot Linking

Started by Smarter, December 04, 2007, 03:18 PM

Previous topic - Next topic

Kp

Quote from: Joex86] link=topic=17206.msg175485#msg175485 date=1198399893]
I don't think you realize, but you just gave Cuphead your seal of approval for making CleanSlateBot. :P

The idea behind CleanSlateBot is not inherently a bad one.  However, good ideas are not always implemented well.  The main problem with CSB was that it made the task of creating a bot seem much easier than it really was, so we had people who had no business writing any sort of bot picking up CSB and then whining for help when it turned out to be harder than they expected.

It did not help that CleanSlateBot had some nasty bugs that were not caught before release.  To this day, BNLS reserves a flag because CSB randomly set or cleared that flag without otherwise changing the message.  If BNLS defined a purpose for that flag, CSB users would sometimes advertise support/use of the associated feature even though they did not support it.

Quote from: brew on December 23, 2007, 07:34 AM
But think of all the time a CSB user is saving when he uses that instead of reinventing the wheel! *We can use these hours to work on a new feature or socialize with friends.*

We also had a lot of copycat bots where people would stick a thin layer on CSB and release it without any original or interesting functionality.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Banana fanna fo fanna

Quote from: brew on December 23, 2007, 07:34 AM
But think of all the time a CSB user is saving when he uses that instead of reinventing the wheel! *We can use these hours to work on a new feature or socialize with friends.*
Joe is right. This is what's happening to the quality of our propetiary software.

...this is bad?

Smarter

What I don't understand is how a topic about how best to remotely link bot's turned into an argument about how innovative everyones ideas, if someone wishes to as you say "re-invent the wheel" then why not? To each their own?

On another note, i'd like to get back on topic, so far the other suggestions i've picked up on, besides my original idea of a custom server, are:
Coding my own BotNet-like Protocol.
Using the existing BotNet.

Neither of them sound promising, and seem overly complex for a simple problem. I believe having a remote server that each bot sends updates too, while still acting as an independent entitiy, but still acting out any commands sent from the server will be best, as to how I could have the bots be partially independant but still work together is the delima i'm facing currently. I want each bot to use the server to stop double banning, and improve the overall banning efficieny, but I don't want the bots to rely solely on the server for ban commands, espically considering if for some reason the connection between the server and client is degraded messages may take too long to recieve, as well as the possibility of a break in connection and the server believeing that certain users are banned when the client never recieved the command to ban... Help?
Since '99

BrutalNet.Net

l2k-Shadow

#48
i wonder how using a server for double banning is gonna be efficient. say you're banning a load, and bot A bans loadbot X, if bot B bans at the same interval as bot A, bot B will not get the message from the server telling i that loadbot X has been banned. Using a server to relay these messages in between bots will generate even more inaccuracy.  You should consider some techniques client-side to stop double banning even if not all bots are loaded from 1 executable. My bot uses such a technique and it works quite well.  Now if you wish to implement such features as a global shitlist, safelist and etc... then using a mysql database would probably be your best bet, or you could implement a protocol for your bot which could relay the shitlist, safelist, and so on through whispers or even a peer-to-peer connection between the bots, you have countless options.

With that said, if you put ALL your ideas down on paper, you could then decide what would be the best way to handle them. Don't just guess and start coding random things which won't guarantee any efficiency.
Quote from: replaced on November 04, 2006, 11:54 AM
I dunno wat it means, someone tell me whats ix86 and pmac?
Can someone send me a working bot source (with bnls support) to my email?  Then help me copy and paste it to my bot? ;D
Já jsem byl určenej abych tady žil,
Dával si ovar, křen a k tomu pivo pil.
Tam by ses povídaj jak prase v žitě měl,
Já nechci před nikym sednout si na prdel.

Já nejsem z USA, já nejsem z USA, já vážně nejsem z USA... a snad se proto na mě nezloběj.

Smarter

That's not how I planned the server to work, what I planned was for each bot to send constant updates to the server, telling it bots that must be banned, the server would then decree the ban commands to each bot, in a balanced manner, ordering each bot to ban a specific list of users.
Since '99

BrutalNet.Net

l2k-Shadow

Quote from: Smarter on January 06, 2008, 01:05 AM
That's not how I planned the server to work, what I planned was for each bot to send constant updates to the server, telling it bots that must be banned, the server would then decree the ban commands to each bot, in a balanced manner, ordering each bot to ban a specific list of users.

And why do you need a server for this? If I assume that you are banning a load in this manner and that load is restricted to 1 channel, bots can make their own lists of users to be banned, also you should take into account that some load bots will drop before being banned. imho waste of time
Quote from: replaced on November 04, 2006, 11:54 AM
I dunno wat it means, someone tell me whats ix86 and pmac?
Can someone send me a working bot source (with bnls support) to my email?  Then help me copy and paste it to my bot? ;D
Já jsem byl určenej abych tady žil,
Dával si ovar, křen a k tomu pivo pil.
Tam by ses povídaj jak prase v žitě měl,
Já nechci před nikym sednout si na prdel.

Já nejsem z USA, já nejsem z USA, já vážně nejsem z USA... a snad se proto na mě nezloběj.

Mystical

well since you don't like any of the right ideas why don't you just go have the bots add usersnames to a webserver XML and let them gather names off of there n delete as they ban sounds newb but simple, other wise i'd stick to what i said before botnet.

Smarter

Well, to be honest, I don't really like the idea of a server either, but I was arguing with everyone in hR about using a simple direct connection between the bots, each bot having a list of IP's/Passwords that it would connect to on start (would be even easier to use a No-Ip.org), but everyone insisted that was insecure and a server is the best bet, so what is your guys opinion on a direct connection?
Since '99

BrutalNet.Net

l2k-Shadow

once the bot connects, i would exchange encrypted whispered handshakes with the operators in the channel to check that they are bots which support the feature, then initiate a direct connection in between them to exchange extensive lists and such.. if you want to get technical, of course this could be insecure as you are exposing your I.P. address and your bot could be exploited through the direct connection by a clever hacker through means of buffer overflows and such.. but cmon it's battle.net.
Quote from: replaced on November 04, 2006, 11:54 AM
I dunno wat it means, someone tell me whats ix86 and pmac?
Can someone send me a working bot source (with bnls support) to my email?  Then help me copy and paste it to my bot? ;D
Já jsem byl určenej abych tady žil,
Dával si ovar, křen a k tomu pivo pil.
Tam by ses povídaj jak prase v žitě měl,
Já nechci před nikym sednout si na prdel.

Já nejsem z USA, já nejsem z USA, já vážně nejsem z USA... a snad se proto na mě nezloběj.

Kp

Establishing direct connections requires that at least one member of every pair be able to accept connections coming from the Internet.  This does not play well with NAT devices, and may cause problems with on-board firewalls blocking the connections as well.  If you have a centralized server, then only the server needs the ability to accept connections from the Internet.  All the bots will only be clients to external servers, which should avoid most firewall problems.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Smarter

Hmmm, that was my orignal idea shadow, to have the bot's reconize usernames as a list, then get the required information through encrypted whispers, but everyone in hR said that I would be using your idea and that it was even more insecure to do it that way, and that the connection would be opening a port, and if I didn't make it correctly, people would enjoy exploiting anyone who uses it, I'm just brainstorming to figure out how to make it both secure and efficient, and Direct Connection seems to be the best manner, I could even go as far as to have the bot authenticate to one another before direct connection information is passed, but that still leaves the problem of the vulnrability with the open port...
Since '99

BrutalNet.Net

l2k-Shadow

both direct connection and server have their advantages and disadvantages. Like Kp said, direct connection will be hard to implement efficiently due to routers and firewalls... then again server will be slower, you'll have to upkeep a running computer and a running program, and knowing battle.net someone will probably try to ddos it... also again the open port thing wouldn't be insecure if you have an authentication to make sure that the person connecting is the person you want to connect. lol.
Quote from: replaced on November 04, 2006, 11:54 AM
I dunno wat it means, someone tell me whats ix86 and pmac?
Can someone send me a working bot source (with bnls support) to my email?  Then help me copy and paste it to my bot? ;D
Já jsem byl určenej abych tady žil,
Dával si ovar, křen a k tomu pivo pil.
Tam by ses povídaj jak prase v žitě měl,
Já nechci před nikym sednout si na prdel.

Já nejsem z USA, já nejsem z USA, já vážně nejsem z USA... a snad se proto na mě nezloběj.

Smarter

Well that's my plan, but what about things like Buffer overflow like you said, people could easily use my bot against other copies of it, by massing requests to a known copy of my bot, and dropping it...
Since '99

BrutalNet.Net

l2k-Shadow

Quote from: Smarter on January 07, 2008, 08:55 AM
Well that's my plan, but what about things like Buffer overflow like you said, people could easily use my bot against other copies of it, by massing requests to a known copy of my bot, and dropping it...

well if you're not a shitty programmer you'll implement ways to guard against that.
Quote from: replaced on November 04, 2006, 11:54 AM
I dunno wat it means, someone tell me whats ix86 and pmac?
Can someone send me a working bot source (with bnls support) to my email?  Then help me copy and paste it to my bot? ;D
Já jsem byl určenej abych tady žil,
Dával si ovar, křen a k tomu pivo pil.
Tam by ses povídaj jak prase v žitě měl,
Já nechci před nikym sednout si na prdel.

Já nejsem z USA, já nejsem z USA, já vážně nejsem z USA... a snad se proto na mě nezloběj.

brew

Quote from: l2k-Shadow on January 07, 2008, 04:46 PM
Quote from: Smarter on January 07, 2008, 08:55 AM
Well that's my plan, but what about things like Buffer overflow like you said, people could easily use my bot against other copies of it, by massing requests to a known copy of my bot, and dropping it...

well if you're not a shitty programmer you'll implement ways to guard against that.

My method: Make the first parameter the hInstance or something on that order, then right before the return, show an error message and terminate the process immediately if the parameter doesn't equal GetModuleHandle(NULL) (the value could be anything, really, just try to make it a random on a per-instance basis).

EDIT** Oh wait, doesn't C# have built in buffer overflow protection?
<3 Zorm
Quote[01:08:05 AM] <@Zorm> haha, me get pussy? don't kid yourself quik
Scio te esse, sed quid sumne? :P

|