User & Oper commands

From UnrealIRCd documentation wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

Below you can see all the available commands on UnrealIRCd and which module provides it. When you don't like a command you can simply decide not to load the corresponding module, see Modules.

Command syntax Module Description Restrictions
ADDMOTD m_addmotd Add a line to the MOTD file (Message Of The Day) IRCOp-only
ADDOMOTD m_addomotd Add a line to the OPERMOTD file (MOTD for IRCOps) IRCOp-only
ADMIN m_admin Show administrative information of the server. This is configured in the Admin block
AWAY m_away Marks you as being away (or back). IRCOp-only
BOTMOTD m_botmotd Show BOT Message Of The Day. IRCOp-only
CAP m_cap Set capabilities. Your client should do this, the command is not meant for end-users.
CHGHOST <nick> <host> m_chghost Change hostname of someone IRCOp-only
CHGIDENT <nick> <ident> m_chgident Change ident/username of someone IRCOp-only
CHGNAME <nick> <real name> m_chgname Change real-name of someone (gecos) IRCOp-only
CLOSE m_close Close any pending incoming or outgoing connections. IRCOp-only
CONNECT <servername> m_connect Start linking to server <servername>. This server must have an existing Link block. IRCOp-only
CREDITS built-in Show the credits. In other words: a big list of people who helped UnrealIRCd development or supported UnrealIRCd in one way or another.
CYCLE <channel> m_cycle This just does a PART followed by a JOIN for the channel.
DCCALLOW ... m_dccallow This command can be used to allow only specific nicks to send files through DCC for you. What's DCC you ask? Well, some ancient file transfer system that nobody gets to configure right ;)
DCCDENY <file-pattern> m_dccdeny Add a file pattern to the DCC blacklist, similar to Deny DCC block. IRCOp-only
DIE [password] <reason> built-in This will terminate UnrealIRCd. All users will be disconnected. The password is necessary if you have configured one in the DRpass block. IRCOp-only


built-in Show information about UnrealIRCd's resolver (domain name resolution). Almost never used, it only exists to aid debugging.
  • DNS will show cache misses/hits
  • DNS i gives information about the currently configured DNS server, timeout, etc.
  • DNS l will show all DNS cache entries

Note: on almost all IRC clients the /DNS command exists as a client-only command. To use this server command you need to use /QUOTE DNS rather than just /DNS. Though, as mentioned earlier the chances of you ever needing to use this server-command are slim.

GLOBOPS <message> m_globops Send a message to all IRCOps on the network (globally). IRCOp-only
GUEST m_guest Changes your nick to "Guest" followed by random digits.
m_help Online (on-IRC) documentation. Try /HELPOP CHMODES for a list of all channel modes. Use /HELPOP to show the help index.
INFO built-in Show Information about the current software the server is running. This shows information such as the current and past coders that made the software (see also /CREDITS).
INVITE <nick> <channel> m_invite Invites someone to join a channel. If you are chanop and the channel is +i then this makes the user walk through the +i (invite only) mode, or similarly if the user is banned (+b) an /INVITE allows the user to walk through the ban and still join. When executed by a non-chanop (so regular user) then no special behavior happens and the user receives just only the "user XYZ invited you to join #chan" message.
IRCOPS m_ircops Shows a pretty view of all IRCOps who are presently online.
NOTE: This module is NOT loaded by default.
ISON m_ison Used to check if users are online. Old command. Normally only used by your client and not manually. The successor is the WATCH command.
JOIN <channel> m_join Join a channel
JUMPSERVER m_jumpserver Redirect all users to another server

The simple usage of the command is: /JUMPSERVER <server>[:port] <NEW|ALL> <reason>
If you also want to properly redirect SSL users, the syntax is: /JUMPSERVER <server>[:port]/<sslserver>[:sslport]> <NEW|ALL> <reason>
If 'NEW' is chosen then only new (connecting) clients will be redirected.
If 'ALL' is chosen then ALL clients (except IRCOps) are redirected immediately AND all future connecting clients.

KICK <nick> <channel> m_kick Kick a user from a channel. On the channel you need to be half-op or higher to do this (+h/+o/+a/+q). Additionally halfops (+h) can't kick higher levels (+oaq), chanops (+o) can't kick channel admins (+a) or channel owners (+q), and channel admins (+a) can't kick channel owners (+q). Channel operator
KILL <nick> <reason> m_kill Kill a user. This will forcibly disconnect the user from the IRC server, like a forceful QUIT. IRCOp-only
KNOCK <channel> <reason> m_knock When you can't join a channel you can use /KNOCK. Your knock message is then relayed to the channel operators in the channel.
LICENSE built-in Show the license of the UnrealIRCd software.
LINKS m_links Show network map. Old command, better use /MAP instead.
LIST m_list Show a list of all channels on the IRC network. Note that unless you are IRCOp any +s (Secret) channels will be hidden.
LOCOPS m_locops Send a message to all locally connected IRCOps IRCOp-only
LUSERS m_lusers Show statistics on current number of users, channels and servers. IRCOp-only
MAP m_map Show a network map, that is: a map of how the servers are linked to each other. When you are an IRCOp you may see a little bit more information, depending on set::options::hide-ulines and set::options::flat-map.
MODULE [server] built-in Show a list of modules that the server is currently running.

For normal users: this command will output just *** name (description) for each module.

For IRCOps: the output will be in the form *** name - version (description) [FLAGS]. Where FLAGS can be:

  • [3RD] means a 3rd party module (in other words: unofficial, not from the UnrealIRCd team)
  • [PERM] means a permanent module, one that cannot be unloaded without a server restart
  • [PERM-BUT-RELOADABLE] is similar to [PERM]: it cannot be unloaded without a server restart, but it is permitted to reload/upgrade the module on-the-fly by REHASHing.

In addition to the above, IRCOps also get to see a list of Dev:Command Overrides and Hooks that are in use. This is rather technical information but allows you to spot in more detail what kind of things modules are currently "intercepting".

channel> <message>

NOTICE <nick|channel> <message>

m_message These are the basic commands to send messages and notices to users and channels. Obviously there's no point in running an IRC server without this. Normally you don't use these directly but use /MSG and /NOTICE commands of your IRC client.
MKPASSWD <auth-type> <password-to-hash> m_mkpasswd Generate a password hash which can then be used in the configuration file, see also Authentication types. This command is IRCOp-only, unless set::options::mkpasswd-for-everyone is set. Often IRCOp-only
channel> <modes.......> m_mode Change User modes or Channel modes.
MOTD m_motd Show Message Of The Day.
NAMES <channel> m_names Show who is in the channel. The NAMES output is also sent when you JOIN the channel.
NICK m_nick Set or change your nick name.
OPERMOTD m_opermotd Show OPER Message Of The Day IRCOp-only
OPER <name> <password> m_oper You use this command to become an IRCOp. IRCOps are configured in the Oper block.
PART <channel> m_part Leave a channel
PASS m_pass This is used to specify a server password when connecting to the server. It is sent by your IRC client, so not manually.
PING, PONG m_pingpong Send a PING to the server, server will reply with a PONG, and vice versa. This command is normally only used by your client and not manually.
QUIT <reason> m_quit Disconnect from IRC, specify an optional reason.
REHASH [flag]

REHASH <servername> [flag]
REHASH -global [flag]

built-in This will "rehash" the configuration, that is: re-read the configuration files and make any changes therein effective (unless a configuration file error occurs).

There are 3 variants of the command, REHASH will just rehash the local server, REHASH will rehash the remote server, and finally REHASH -global will rehash all the servers on the network that are currently linked. The latter is especially useful if you edited a Remote include and want to see the change effective on all your servers.

All commands have an optional [flag] parameter (rarely used!):

  • -dns: Reinitialize and reload the resolver
  • -garbage: Force garbage collection
  • -motd: Only re-read all MOTD, BOTMOTD, OPERMOTD and RULES files
  • -ssl: reload the SSL certificate and key
RESTART [password] <reason> built-in This will restart UnrealIRCd. All users will be disconnected. The password is necessary if you have configured one in the DRpass block. IRCOp-only
RULES m_rules Show the RULES file (ircd.rules by default).
SAJOIN <nick> <channel> m_sajoin Force a user to join a channel IRCOp-only
SAMODE <channel> <mode...> m_samode Change a MODE on a channel. Can be used if you don't have ops (and without OperOverride) IRCOp-only
SAPART <nick> <channel> m_sapart Force a user to leave a channel IRCOp-only
SASL m_sasl SASL is used for authentication. You don't use this command directly, it should be handled by your IRC client.
SDESC m_sdesc Change server description (the one in /LINKS and such) IRCOp-only
SETHOST <host> m_sethost Change your own host IRCOp-only
SETIDENT m_setident Change your ident / username. You usually can change this in your IRC client as well, this is just for convenience to change it without needing to disconnect. IRCOp-only
SETNAME m_setname Change your real name (gecos). You usually can change this in your IRC client as well, this is just for convenience to change it without needing to disconnect.
SILENCE <+nickname/-nickname> m_silence Add or remove users to the silence list. Users on the silence list can't private message you (you can still see channel messages of them, however)
SQUIT <server> m_squit Unlink/de-link a server. IRCOp-only
STARTTLS m_starttls Switch over the current IRC session to SSL/TLS. This is handled by your IRC client, you never execute this manually.
STAFF m_staff Shows a custom file, specified via set::staff-file. This is quite similar to MOTD and RULES but yet another file...
NOTE: This module is NOT loaded by default.
STATS m_stats Show statistics, mostly server configuration information such as the list of current Allow block, Link block, etc. Use '/STATS' without parameters to get a list. Example: /STATS u shows the server uptime. IRCOp-only (usually)
TIME m_time Show current date/time of the server

KLINE <user@host> [duration] [reason]
GLINE <user@host> [duration] [reason]
ZLINE <*@ip> [duration] [reason]
GZLINE <*@ip> [duration] [reason]
SHUN <user@host> [duration] [reason]

m_tkl Except for Spamfilter which is documented elsewhere and SHUN, all these commands will kill users from a specific host or IP and prevent them to connect:
  • KLINE will add a local kill line, only effective on the server you execute it on
  • ZLINE is similar but will prevent connections even sooner in the handshake (even before IP lookups, etc)
  • GLINE is simply a Global KLine, so network-wide
  • GZLINE is a Global ZLINE, so network-wide
  • SHUN is a little different: it makes the user unable to execute any commands, but otherwise allows the user to be online

In addition to the user@host syntax you can also use a nickname, UnrealIRCd will then ban that specific IP (saves you from doing a /WHOIS).
Example 1: /GLINE *@*.nl 4h I don't like the Dutch will ban everyone with a hostname ending in .nl with the reason "I don't like the Dutch". This GLINE will expire after 4 hours (it will be unset automatically after that period).
Example 2: /GZLINE *@10.* 0 I hate you will ban the IP range 10.* permanently (because the duration is zero).

NOTE: All *LINES and Spamfilters are normally lost after a server restart. Network-wide bans (GLINE, GZLINE, SPAMFILTER) will be synchronized when servers link, so as long as you don't restart all your servers at once, then they will often persist. To have real permanent GLINE/GZLINE's you should use a Services package which usually has an AKILL command to manage an auto kill list. Services store the list in a database so it's persistent.

TOPIC <channel> <topic> m_topic Change the topic of a channel If chan is +t: +hoaq,
otherwise anyone.
nick> m_trace Trace the path to another server or nick (technical) IRCOp-only


m_tsctl TSCTL TIME will show the time of the local server and any "time offset" that may be in place. TSCTL ALLTIME does the same but shows the information on all currently linked servers.

TSCTL OFFSET can be used to adjust the IRCd clock a number of seconds forward or backward. This command should not be used as incorrect usage can stall your server or mass-kill everyone on it.

UNDCCDENY m_undccdeny Remove a DCCDENY, see DCCDENY earlier in this table. IRCOp-only
USERHOST m_userhost Show the nick, user and host of a user. Normally only used by the client or in scripts.

Note: if you are not an IRCOp then it will show a cloaked hostname if the user is +x (and it's not yourself)

USERIP m_userip Similar to USERHOST but this one shows the IP instead of the hostname.

Note: if you are not an IRCOp then it will show a cloaked IP if the user is +x (and it's not yourself)

USER m_user This command is used by your IRC client during connecting and cannot be executed manually
VHOST <loginname> <password> m_vhost Identify for a virtual host. If successful, then your (visible) host, ident and such will be set of the corresponding Vhost block. IRCOp-only
WALLOPS m_wallops Send a message to all users who have user mode +w (wallops). IRCOp's are the only ones who can send a WALLOPS message, but regular users can still view them if they are +w. IRCOp-only
WATCH .. m_watch This command is used by your IRC client to monitor users on your favorite list or notify list, it should not be executed manually. The IRC server informs the IRC client whenever a user on this list goes online, offline and in some other cases as well such as going AWAY.
WHOIS <nick> [nick] m_whois Show information about <nick> such as name, user, host, what channels he/she is on (subject to some privacy restrictions), the server the user is on, etc.

If you're not on the same user as <nick> then some information such as idle time will be missing from the WHOIS. In such a case you should use /WHOIS Nick Nick rather than just /WHOIS Nick to see the missing information.

WHO m_who Show who is currently in a channel or on IRC. Basically a way to search the user list. For non-ircops the output is mostly restricted to people you can already see (because you're in the same channel).

WHO has a lot of options, type /WHO -help on IRC to see all of them.

VERSION [servername] built-in Show the VERSION of the software that a server is running. Without parameters it shows the current server.

IRCOps will see a lot more verbose information, such as the version of libraries.

WHOWAS <nick> m_whowas This is similar to WHOIS, except it searches the history records for a nick name. This allows you to see if a user was online in the past, and when.