User & Oper commands
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.
|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.
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:
|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:
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".
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 <servername> [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 server.name will rehash the remote server server.name, 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!):
|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]
|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:
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).
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,|
|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 server 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.|