This article needs additional citations for verification. (July 2009)
An IRC operator (often abbreviated as IRCop or oper) is a user on an Internet Relay Chat network who has privileged access. IRC operators are charged with the task of enforcing the network's rules, and in many cases, improving the network in various areas. The permissions available to an IRC operator vary according to the server software in use, and the server's configuration.
IRC operators are divided into local and global operators. The former are limited to the server(s) they have specific access to; however, global operators can perform actions affecting all users on the network. In order to perform their duties, IRC operators usually have the ability to:
- Forcibly disconnect users (Kill)
- Ban (K-line or G-line) users
- Change network routing by disconnecting (squitting) or connecting servers
Traditionally, a list of operators on a particular server is available in the MOTD, or through the /stats o [servername] command. A user can become an operator by sending the command /oper to the irc server he or she currently is on using a pre-selected username and a password as parameters. The command only works for the server which has the proper O-line in its IRCd configuration file. The IP address that the user is operating from may also have to match a predefined one, as an extra layer of security to prevent unauthorized users operating if they have cracked the operator's password.
In many IRC networks, IRCops have different types of access on a network. These ranks often depend upon the IRCd software used, though a few specific access levels remain fairly constant throughout variations:
The Local Operator (LocOp) is the lowest in Operator access levels. The LocOp has a minimal control on one server out of a network, and usually has the ability to kill (disconnect) people from the server or perform local K-lines (server ban).
The Global Operator (GlobOp) is similar to the LocOp, and has control over the entire network of servers, as opposed to a single server. GlobOps may perform G-lines or AKills (network-wide bans) and Shun (forcibly mute) users over an entire network.
Commonly abbreviated as SA, This admin type has control over all functionality on an IRC network available via network service bots, including the commonly used NickServ, ChanServ, and MemoServ nicks. Usually, an SA has the ability to use the /sa* commands. The /sa* commands, like all actions performed by network services, are typically implemented using a virtual services node on the network, effectively masking the origin of the actions.
The Network Administrator (NetAdmin) has the highest level of access on a network. In most cases, the founder of the network is the netadmin. Networks may, however, have multiple netadmins - especially networks with large populations.
An IRCop with enough privileges, may give a ban to unwanted users. The ban types are listed below:
The K-line is a local server ban (specific to a single server, not the entire IRC network) that bans the unwanted user's hostname.
The G-line (Global K-line) works exactly as the K-line, but is global. G-lines can expire, but in some cases they are permanent.
On IRCds such as UnrealIRCd, the Z-line is a "powerful" ban that is performed on a user's IP address rather than the hostmask, denying access to all users from the offending IP. Z-lines may expire, but in many cases are permanent.
Some IRCds support the GZ-line (Global Z-line). It is exactly as the Z-line itself, but it's global, and network-wide. UnrealIRCd has GZ-line support. The GZ-line is an effective way of blocking static IP users, and keeping them out.
On other IRCds, such as Charybdis, a D-line replaces a Z-line. It is called a D-line because it "denies" the IP address from connecting. Charybdis does not have support for a Z-line or a GZ-line. By using its "cluster" configuration feature, D-lines can be synchronized between servers, providing a type of 'GZ-line'. This enables for very nice big network support since the administrator of one server may want to allow certain servers they trust to synchronize D-lines and K-lines, but not allow others.