IRCop without privileges

If your UnrealIRCd is up and running but you have a question about it, then use this forum.
(NOT for installation or connecting issues! Use the other forum instead.)

Moderator: Supporters

Paul DK
Posts: 12
Joined: Sat Feb 24, 2018 12:33 am

IRCop without privileges

Post by Paul DK » Sat Feb 24, 2018 12:47 am

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 :)


Posts: 5
Joined: Fri Feb 16, 2018 1:52 pm

Re: IRCop without privileges

Post by Syrax » Fri Mar 02, 2018 1:50 pm

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

UnrealIRCd head coder
Posts: 1935
Joined: Sat Mar 06, 2004 8:57 pm
Location: .nl

Re: IRCop without privileges

Post by Syzop » Sat Apr 07, 2018 7:12 am

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