Page 1 of 1

Command blocker module

Posted: Thu Sep 23, 2004 5:46 am
by Stealth
It seems that many people would like to make commands oper-only these days. I think it would be nice to have a module that does this. AngryWolf's cmdshun module can be used for this, but that is not what the module is for.

I would send this request to AngryWolf, but he has stopped his custom coding because of school.

Posted: Thu Sep 23, 2004 6:55 pm
by AngryWolf
Whoever decides to code such a module, keep in mind that making certain commands oper-only is a very, very bad idea. For instance, /module.

Posted: Thu Sep 23, 2004 7:05 pm
by Stealth
AngryWolf wrote:certain commands oper-only is a very, very bad idea. For instance, /module.
They can always keep certain commands from being blocked (like module). Most people wanting a module like this want to disable such commands like: list map links lusers whois.

Posted: Fri Sep 24, 2004 2:44 am
by aquanight
module and version need to be protected, definately, as well as:

/nick, /user, /pass - I doubt you can override these anyway...
/mode, /topic, /kick - Uh... and basically make chanops meaningful only for ircops? I think not (unless you run a closed network, but then you can't have tempops, etc).
/kill, /kline, /gline, /[g]zline - You already need to be an oper for these.
/oper - Uhhhhhh... unless you intend to replace it with a different method of opering...
/svs* - Module needs to obey the U:Line rule - meaning a U:Line is enough to pass any and all security checks, which means a U:Line should be considered an ircop for all intents and purposes.
Probably others

Checks really should only be enforced locally (if (!MyConnect(sptr)) /* edit: do whatever it is to run the next override or normal command, can't remember what it was now :/ */; I think).

Also, it should at least be able to disable third-party commands and aliases for non-opers. For example, typically OperServ access requires IRCop privileges, so disabling the /operserv and /os aliases to non-opers would be useful...

Posted: Fri Sep 24, 2004 3:02 am
by codemastr
/nick, /user, /pass - I doubt you can override these anyway...
Unreal will allow you to override any command. In fact, there are very good reasons for overriding all of those! I know of a few nick registration modules that check the value of the NICK command to see whether the nickname you are requesting is registered and if it is it prompts you to enter a password with /pass. So you'd need to be able to override both of those. Really, we saw no reason to place restrictions like this because we figured it should be up to the module coder to decide what he/she needs to do.

Posted: Fri Sep 24, 2004 3:06 pm
by Jason
Use angrywolf's cmdflood module, and set the floodrates to 1:60 or something similar to floodcheck even the first use of the command. Opers are not affected by this module

Posted: Fri Sep 24, 2004 4:24 pm
by Stealth
I already know about the modules AngryWolf has, but they are not designed to do such a thing. There is no use in wasting processor/memory useage by using a module that was diesigned for much more than blocking a command.

Posted: Fri Sep 24, 2004 7:17 pm
by AngryWolf
I agree with Stealth.
aquanight wrote:/* edit: do whatever it is to run the next override or normal command, can't remember what it was now :/ */
Just for the record: CallCmdoverride.