Operator Guide
IRC operators (IRCops) have elevated privileges on the server. This guide covers obtaining operator status, common tasks, and best practices.
Becoming an Operator
Section titled “Becoming an Operator”Operator credentials are defined in the server configuration under :opers. Each entry specifies a username, hashed password, and the host patterns the credential is usable from.
-
Ensure you have an oper entry in the config
config :elixircd, :opers, [%{name: "AdminNick",password: "$argon2id$...", # hashed with Argon2idhost: "*@*" # host mask}] -
Connect to the server and authenticate (if required)
If your server requires SASL or NickServ identification before OPER, do that first.
-
Use the OPER command
/oper AdminNick yourpasswordOn success:
:server 381 yournick :You are now an IRC OperatorOn failure:
:server 491 yournick :No O-lines for your host -
Verify your status
/whois yournickYou should see line 313:
:server 313 yournick yournick :is an IRC Operator
Operator Modes
Section titled “Operator Modes”After OPER, you receive the +o user mode. Two additional modes are useful:
| Mode | Description |
|---|---|
+H | Hides your operator status from non-operators’ WHOIS |
+s | Enables server notice delivery to you |
Enable them after OPER:
/mode yournick +HsCommon Operator Tasks
Section titled “Common Operator Tasks”Disconnect a User
Section titled “Disconnect a User”/kill BadNick :Reason for disconnectThis disconnects the user immediately with the given reason. The user can reconnect immediately — KILL is not a ban.
Broadcast Messages
Section titled “Broadcast Messages”/operwall :Message to all operators/wallops :Message to all users with +w mode/globops :Message to all operatorsReload Configuration
Section titled “Reload Configuration”After editing elixircd.exs:
/rehashThis applies configuration changes without restarting the server. Active connections are preserved.
Change a User’s Hostname
Section titled “Change a User’s Hostname”/chghost TargetNick newhostname.example.comThis changes the visible hostname in the user’s hostmask. Users in shared channels with chghost capability will see a notification.
Restart or Shut Down
Section titled “Restart or Shut Down”/restart # Restarts the server process/die # Shuts down the serverView Server Statistics
Section titled “View Server Statistics”/stats u # Server uptime/stats c # Configured connections/stats o # Operator entries/stats l # Link infoStaying Low-Profile
Section titled “Staying Low-Profile”When doing routine moderation, consider enabling +H to avoid drawing attention:
/mode yournick +HOther operators can still see your operator status in WHOIS. Non-operators cannot.
To de-oper when done:
/mode yournick -oRemoving +o automatically removes +H and +s as well.
Oper-Only Channel Mode (+O)
Section titled “Oper-Only Channel Mode (+O)”Channels with +O mode set can only be joined by IRC operators:
/mode #oper-channel +OOperators automatically bypass this restriction.
Security Best Practices
Section titled “Security Best Practices”- Use strong, unique passwords — never reuse passwords across services
- Always OPER over TLS — the password is visible in plaintext on plain TCP
- Use
+Hduring routine work — stay low-profile when not doing visible moderation - De-oper when finished —
/mode yournick -odrops all operator privileges - Restrict the host mask — use specific IP or range instead of
*@*in oper config - Keep oper count minimal — only trusted administrators should have oper access
- Monitor operator actions — use server notices (
+s) to watch for suspicious activity
Hashing Operator Passwords
Section titled “Hashing Operator Passwords”Never store plaintext passwords in the config. Use Argon2id to hash the password:
# In an IEx session against your ElixIRCd node:Argon2.hash_pwd_salt("yourpassword")# Returns: "$argon2id$v=19$m=65536,t=3,p=4$..."Paste the hash into the oper config password field.