Skip to content

Operators

An IRC operator (IRC op or IRCop) is a user with elevated server-level privileges. Operators can manage the entire server, not just a single channel.

Operators are not the same as channel operators. Channel operators (+o in a channel) only have privileges within that channel.

To become an IRC operator, you need:

  1. A configured operator credential in elixircd.exs (see Operators Configuration)
  2. Run the OPER command after connecting
/oper admin yourpassword

If successful, you receive the +o user mode and a message like:

You are now an IRC Operator

When you become an operator, you receive the +o mode. You can also set additional operator-only modes:

ModeDescription
+oIRC Operator status — server-managed, cannot be self-set
+HHide Operator — hides your IRC op status in WHOIS from non-operators
+sServer Notices — receive server notice messages (snomask)

Setting +H makes you appear as a regular user in WHOIS responses to non-operators. Operators can still see your op status.

When you remove +o (de-oper), all operator-only modes (+H, +s) are automatically removed as well.

IRC operators can use special commands:

CommandWhat it does
KILL <nick> <reason>Forcefully disconnect a user from the server
OPERWALL <message>Send a message to all operators
GLOBOPS <message>Send a global operator message to all operators
WALLOPS <message>Broadcast a message to all users with +w mode
REHASHReload the server configuration
RESTARTRestart the server
DIEShut down the server
STATS <letter>View server statistics
TRACETrace routes to users/servers
CHGHOST <user> <newhost>Change a user’s hostname

Additionally, operators:

  • Can join channels with +O (Oper Only) mode
  • Bypass +j (Join Throttle) restrictions
  • Can set the +O channel mode (Oper Only)
  • Can view hidden information in WHOIS that non-operators cannot see
  • WALLOPS (/wallops message) — sends a broadcast to all users with the +w (Wallops) user mode. Regular users can enable +w to receive these messages.
  • OPERWALL (/operwall message) — sends a message only to operators. Regular users cannot see it.
  • GLOBOPS (/globops message) — sends a global message to all operators.

To relinquish operator status:

/mode yournick -o

This removes +o and automatically removes any operator-only modes (+H, +s).

Operator credentials are stored in elixircd.exs:

operators: [
{"admin", "$argon2id$v=19$m=4096,t=2,p=4$...hash..."}
]

The password is hashed with Argon2id. To generate a hash:

# In iex or via docker exec
Argon2.hash_pwd_salt("your_password_here")

See IRC Operators Configuration for full details.