Tip of the day: You can exempt users dynamically from server bans, spamfilter, maxperip and other restrictions with the ELINE command on IRC.

User & Oper commands

From UnrealIRCd documentation wiki
Jump to navigation Jump to search
Other languages:

Below you can see all the available commands on UnrealIRCd and which module provides it. However, the best and most up to date information is available via HELPOP on IRC. Type for example HELPOP CHGHOST. The HELPOP system is available in multiple languages (English, German, Spanish, French, Italian, Polish, Russian, Turkish), depending on which help.xx.conf you load.

If you don't like a command, then you can simply decide not to load the corresponding module or blacklist the module, see Modules.

Command syntax Module Description Restrictions
ADDMOTD addmotd Add a line to the MOTD file (Message Of The Day) IRCOp-only
ADDOMOTD addomotd Add a line to the OPERMOTD file (MOTD for IRCOps) IRCOp-only
ADMIN admin Show administrative information of the server. This is configured in the Admin block
AWAY away Marks you as being away (or back). IRCOp-only
BOTMOTD botmotd Show BOT Message Of The Day. IRCOp-only
CAP cap Set capabilities. Your client should do this, the command is not meant for end-users.
CHGHOST <nick> <host> chghost Change hostname of someone IRCOp-only
CHGIDENT <nick> <ident> chgident Change ident/username of someone IRCOp-only
CHGNAME <nick> <real name> chgname Change real-name of someone (gecos) IRCOp-only
CLOSE close Close any pending incoming or outgoing connections. IRCOp-only
CONNECT <servername> 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> cycle This just does a PART followed by a JOIN for the channel.
DCCALLOW ... 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> 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. (Needs extra permission, see Operclass_permissions#server.) IRCOp-only
DNS

DNS l
DNS i

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.

IRCOp-only
ELINE .... tkl Add a ban exception, so users are not affected by things like K-Lines, G-Lines and other types of bans (see GLINE).

Syntax: /ELINE <user@host> <bantypes> <expiry-time> <reason>
See /HELPOP ELINE on IRC for more information on all the bantypes and examples.

IRCOp-only
GLOBOPS <message> globops Send a message to all IRCOps on the network (globally). IRCOp-only
HELP
HELPOP
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> 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 ircops Shows a pretty view of all IRCOps who are presently online.
NOTE: This module is NOT loaded by default.
ISON 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> join Join a channel
JUMPSERVER 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 <channel> <nick> kick Kick a user from a channel. You can specify multiple nicks to be kicked, separated by a comma, with a maximum of 4.

On the channel you need to be half-op or higher to do this (+h/+o/+a/+q). Additionally, you cannot kick higher levels, so +h cannot kick +oaq, +o cannot kick +aq, and +a cannot kick someone that is +q.

Channel operator
KILL <nick> <reason> kill Kill a user. This will forcibly disconnect the user from the IRC server, like a forceful QUIT. IRCOp-only
KNOCK <channel> <reason> 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 links Show network map. Old command, better use /MAP instead.
LIST 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 locops Send a message to all locally connected IRCOps IRCOp-only
LUSERS lusers Show statistics on current number of users, channels and servers. IRCOp-only
MAP 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>

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> 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.......> mode Change User modes or Channel modes.
MOTD motd Show Message Of The Day.
NAMES <channel> names Show who is in the channel. The NAMES output is also sent when you JOIN the channel.
NICK nick Set or change your nick name.
OPERMOTD opermotd Show OPER Message Of The Day IRCOp-only
OPER <name> <password> oper You use this command to become an IRCOp. IRCOps are configured in the Oper block.
PART <channel> part Leave a channel
PASS 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 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> 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 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!):

  • -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
IRCOp-only
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. (Needs extra permission, see Operclass_permissions#server.) IRCOp-only
RMTKL rmtkl Mass remove TKLs such as *LINES and Spamfilters. Run the /RMTKL command without parameters for usage instructions.
RULES rules Show the RULES file (ircd.rules by default).
SAJOIN <nick> <channel> sajoin Force a user to join a channel IRCOp-only
SAMODE <channel> <mode...> samode Change a MODE on a channel. Can be used if you don't have ops (and without OperOverride) IRCOp-only
SAPART <nick> <channel> sapart Force a user to leave a channel IRCOp-only
SASL sasl SASL is used for authentication. You don't use this command directly, it should be handled by your IRC client.
SDESC sdesc Change server description (the one in /LINKS and such) IRCOp-only
SETHOST <host> sethost Change your own host IRCOp-only
SETIDENT 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 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> 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> squit Unlink/de-link a server. IRCOp-only
STARTTLS starttls Switch over the current IRC session to SSL/TLS. This is handled by your IRC client, you never execute this manually.
STAFF 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 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 time Show current date/time of the server
SPAMFILTER ....

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

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).

IRCOp-only
TEMPSHUN <nick> tkl Temporarily SHUN a user. That is: the user may no longer execute any commands (except ADMIN). IRCOp-only
TOPIC <channel> <topic> topic Change the topic of a channel If chan is +t: +hoaq,
otherwise anyone.
nick> trace Trace the path to another server or nick (technical) IRCOp-only
TSCTL TIME

TSCTL ALLTIME
TSCTL OFFSET <+|->

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.

IRCOp-only
UNDCCDENY undccdeny Remove a DCCDENY, see DCCDENY earlier in this table. IRCOp-only
USERHOST 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 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 user This command is used by your IRC client during connecting and cannot be executed manually
VHOST <loginname> <password> 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 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 .. 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] 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.

IRCOp-only
WHO 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 /HELPOP WHO 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> 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.