Page 1 of 1

IRCop without privileges

Posted: Sat Feb 24, 2018 12:47 am
by Paul DK
Hey all :)

I've looked all through this forum and haven't found my answer so I apologise if I've missed it somewhere along the way.

I hope someone can answer this for me.

In the Oper section of the manual it states the following:
By default the oper using an operclass does not have special powers (this is not entirely true, actually).
and I was wondering what differences there would be from a normal user and a logged in IRCop with the following block:

Code: Select all

oper bobsmith {
	class opers;
	mask *@*;
	password "test";
Would "bobsmith" be able to do/see anything a regular chatter could not?

Thanks in advance for any help :)


Re: IRCop without privileges

Posted: Fri Mar 02, 2018 1:50 pm
by Syrax
On new UnrealIRCd 4.0 that would not be possible to pass through test, since it would return

Code: Select all

*** error: 1 errors encountered
** error: ******************************************************************
*** error: This *seems* an UnrealIRCd 3.2.x configuration file.
*** error: To upgrade it to the new 4.0 format, run: ./unrealircd upgrade-conf
*** error: ******************************************************************
*** error: IRCd configuration failed to pass testing

Re: IRCop without privileges

Posted: Sat Apr 07, 2018 7:12 am
by Syzop
Every oper block needs the "operclass xxxxxx" where xxxxxxx is the name of an operclass { } block. Many people set this to netadmin-with-override or similar to have a lot of privileges but the system is very flexible in the sense that you can also give minimal and very specific privileges.
In any case, it is in the operclass block that you define the actual privileges. Then you add a reference from the oper::operclass to the operclass.

So.. if you want to have it very limited privileges then use an operclass block with very limited privileges :)
There's more documentation available at
Especially the last parts on that page may be of interest (Default oper classes and Customizing oper classes): ... er_classes