In older UnrealIRCd versions we used to have somewhat-static definitions of what an oper might be. There has been Network Administrators, Server Administrators, Co-Administrators and some shades of them. We already changed this a bit with Unreal3.2, which had the ability to add flags to opers o-lines. With UnrealIRCd4 we go a totally new direction. Instead of adding rights to pre-defined Oper Levels, you can now totally redefine your Oper Levels.
In the new model there are Classes, establishing the base for the new model. A Class is a grouping of a bunch of commands. Lets say you want to group Shutdown-Commands together, then you could do it like this:
class {
name "ShutdownCommands";
commands "DIE RESTART";
};
The next layer are the types. This is a grouping of some classes, together with a hostname, defining a specific Oper Type (like Network Administrator, Co-Administrator etc.). In this definiton you also define a host that an Oper using this type gets when he is using the /OPER command.
Last but not least there is a specific Oper Configuration, that makes use of a Type and defines an Oper, like it did in every UnrealIRCd in the past.