Page 1 of 1
IRCD vs Services
Posted: Thu Feb 10, 2005 6:48 pm
by White_Magic
how come if a raw command is used either thru services or the server it doesnt send the message to services?
for example: i force a user to join a room, services doesnt akick them althou they are on akick. is it the ircd not sending the join or something else?
Posted: Fri Feb 11, 2005 3:15 am
by w00t
Think about it. If services send a command to a server, it is expected that the sending server already KNOWS about the change, and doesn't need to be informed about it.
(As an analogy, it'd be like a client server sending a JOIN to the rest of the servers, and recieving a confirmation JOIN back.)
Posted: Fri Feb 11, 2005 4:27 am
by White_Magic
and if the server recieves the raw command?
Posted: Fri Feb 11, 2005 11:50 am
by w00t
The server recieving the command sends it to all servers downstream, but not back to the server that sent it (hence the tree heirachy of a network).
Posted: Sat Feb 12, 2005 5:23 pm
by aquanight
I remember there being a simple rule of thumb here...
If you don't know how RAW works, don't use it!
Posted: Sun Feb 13, 2005 2:23 am
by w00t
Add to that knowing how the IRC protocol works

Posted: Thu Feb 17, 2005 1:38 pm
by The_deViL
Sidenote: If you intend to be using RAW commands for what ever reson that would be (out of curiosity, what are the reasons?) I would suggest setting up a parallel test-network consisting of 1 IRCd and 1 service.
Simply use your regular confs but change port and set a password on it.
RAW is bad for you, and with a simple typo you can and will crash your server. And yes, I am speaking from experience :P
Second sidenot, never log in as an oper late friday night and do things that require correct grammar and state of mind for that reason. But that's another story =)
Posted: Thu Feb 17, 2005 2:25 pm
by White_Magic
well i started this post becuz out of curosity really,
when you send a raw thru services, (say join) services wont process it against tiself (check for bans, for akicks, forbidden rooms ) etc etc, and my question is, why? the raw exists but why.
it is also believed that anyone who uses raw, instantly desyncs servers <-> services. which in turn cuases problems which can only be fixed by restart, again why is there if it causes problems - and doesnt do much good use.
Posted: Thu Feb 17, 2005 2:34 pm
by The_deViL
I can't say I'm an expert on the question, but I can give some hints to the answer.
Raw is a command used to communicate directly and uncensored as well as unproccessed commands to the server, a experts-only command so to speak. This might be useful if you are doing rather complicated things or in other ways is interested in a direct communication with the server. Since the services is ulined it is allowed to do pretty much anything. The command you send is the exact command the server will try to execute, no error checking, no alteration. Just the plain command.
I assume this is the reason for services not doing the command itself, it is mearly a door straight into the IRCd.
I personally only used it to do SVSNICK, wich now days is a wrong way of doing it (operserv svsnick is better).
I am not an expert on the subject so I can't promise that my answer is correct though. Might be other reasons as well.
Posted: Thu Feb 17, 2005 2:40 pm
by White_Magic
yup, but even then, you say u used it for svsnick - and it doesnt get processed, that more or less alters everything within the network, becuz the server doesnt know this person existed but now all of a sudden is here! - theres a desync.
i just think the server / services should do basic processing, like sending out nickname was forced to change newnickname - but how much " processing " are they will todo since raw is ment to totally unprocessed.
Posted: Thu Feb 17, 2005 2:47 pm
by The_deViL
As stated, RAW is not meant to be used for regular commands such as JOIN or GLINE or similar. Often not even activated. But I can see a use for the command, more out of testing and more complicated things. Sometimes it's nice to have a straight way.
Anyone with more experience of RAW are more then welcome to answer though =) it's an interesting topic.
Posted: Fri Feb 18, 2005 5:34 am
by w00t
It's used to test things, to learn about protocol features, and for those who know what they're doing, to manipulate things.
(For example, I can get operserv to join a channel and reprimand someone ;P)
But as said, it's very easy to screw things up.
Posted: Wed Feb 23, 2005 9:59 pm
by McTerry
w00t wrote:I can get operserv to join a channel.
Haha. Thats the only thing I'm using the RAW command for.
Letting those services to join a channel.
But it's just more for fun.
