*************************************** ********* UnrealIRCd Commands ********* *************************************** v2.0 By: hAtbLaDe Many times I have had users asking me how some command works & what are all the different options they can use with it. So I thought it would be a good idea & helpful for both chatters & IRC Operators , If they had a centralised command reference , rather than having to look all over for the syntax of new or old commands. In this list , I have tried to incorporate all the commands which work on UnrealIRCd , as best as possible. In case I have missed out any or there are any errors , please let me know , so I can fix them in the next amendment. With new features and modes being added all the time , this manual will be ever changing :-) Here is the command list : **** NICK Command *** Changes your "Online Identity" on a server. All those in the channel you are in will be alerted of your nickname change. Syntax: NICK Example: NICK hAtbLaDe1 *** WHOIS Command *** Shows information about the user in question, such as their "Name", channels they are currently in, their hostmask, etc. Syntax: WHOIS Example: WHOIS hAtbLaDe *** WHO Command *** Searches User Information (-i users only) for supplied information. IRCops are able to search +i users & can use masks only. When used on a channel , it will give a list of all the non-invisible users on that channel. Syntax: WHO WHO WHO <#channel> WHO 0 o (Lists all Online IRC Operators currently online and not +i) Example: WHO *.aol.com WHO *Bot* WHO #UnrealIRCd *** WHOWAS Command *** Retrieves previous 'WHOIS' information for users no longer connected to the server. Syntax: WHOWAS WHOWAS Example: WHOWAS hAtbLaDe *** NAMES Command *** Provides a list of users on the specified channel. Syntax: NAMES Example: NAMES #Support *** ISON Command *** Used to determine of a certain user or users are currently on the IRC server based upon their nickname. Syntax: ISON Example: ISON hAtbLaDe NickServ ChanServ OperServ MemoServ *** JOIN Command *** Used to enter one or more channels on an IRC server. All occupants of the channel will be notified of your arrival. JOIN with 0 as a parameter makes you Part all channels. Syntax: JOIN ,, JOIN 0 (Parts all channels) Example: JOIN #Support JOIN #Support,#Lobby *** PART Command *** Used to part (or leave) a channel you currently occupy. All those in the channel will be notified of your departure. Syntax: PART ,,, Example: PART #Support PART #Lobby,#Support *** MOTD Command *** Displays the Message Of The Day. Syntax: MOTD MOTD *** RULES Command *** Reads the ircd.rules file and sends the contents to the user. Syntax: RULES RULES *** LUSERS Command *** Provides Local and Global user information (Such as Current and Maximum user count). Syntax: LUSERS *** MAP Command *** Provides a "Network Map" of the IRC network. Mainly used for routing purposes. Syntax: MAP *** QUIT Command *** Disconnects you from the IRC server. Those in the channels you occupy will be notified of your departure. If you do not specify a reason, your nickname becomes the reason. Syntax: QUIT Example: QUIT Leaving! *** PING Command *** The PING command is used to test the presence of an active client or server at the other end of the connection. Servers send a PING message at regular intervals if no other activity detected coming from a connection. If a connection fails to respond to a PING message within a set amount of time, that connection is closed. A PING message MAY be sent even if the connection is active. Note that this is different from a CTCP PING command.. Syntax: PING Example: PING irc.fyremoon.net PING hAtbLaDe PING hAtbLaDe irc2.dynam.ac *** PONG Command *** PONG message is a reply to ping message. If parameter is given, this message will be forwarded to given target. The parameter is the name of the entity who has responded to PING message and generated this message. Syntax: PONG Example: PONG irc.fyremoon.net irc2.dynam.ac (PONG message from irc.fyremoon.net to irc2.dynam.ac). *** VERSION Command *** Provides version information of the IRCd software in usage. Syntax: VERSION VERSION *** STATS Command *** Provides certain Statistical information about the server Syntax: STATS Example: STATS u ### Stats Flags ### k = Lists all the current K:Lines, Z:Lines (Banned hosts/IP) & E:Lines (K:Line exceptions) g = Lists all the current G:Lines (Banned hosts) & Shuns E = Lists all the current E:Lines (K:Line Exceptions) f = Lists all the current F:lines (Filename masks on DCCDENY) O = Lists all the current O:Lines (IRC Operator Lines) Q = Lists all the current Q:Lines (Forbidden Nicks) C = Lists all the current C/N:Lines (Servers to connect or accept connects from) H = Lists all the current H:Lines (Hub Lines) & L:Lines (Leaf Lines) n = Lists all the current n:Lines (GECOS Deny) V = Lists all the current VHost lines T = Lists all the current T:Lines (Specific MOTD/Rules Lines) Y = Lists all the current Y:Lines (Connection classes) U = Lists all the current U:Lines (Usually Services) v = Lists all the current V:Lines (Version Deny) D = Lists all the current D:Lines (Disallow Lines-Oper & Server Orig Connects) d = Lists all the current d:Lines (Disallow Lines-Autoconnects) e = Lists all the current e:Lines (Proxy scan exempt IPs) I = Lists all the current I:Lines (Client auth Lines) F = Lists all the current F:Lines (DCCDENY Lines) r = Lists all Channel Restrict lines N = Lists the Network Configuration report S = Gives the Dynamic Configuration report W = Gives the current Server Load q = Lists all the SQLINEed Nicks u = Server Uptime m = Gives the Server command list z = Gives Misc Server Information s = Returns the scache and NS numbers t = Returns Misc Info L = Information about current server connections *** LINKS Command *** Lists all of the servers currently linked to the network. Syntax: LINKS *** ADMIN Command *** Provides Administrative information regarding the server. Syntax: ADMIN *** USERHOST Command *** Returns the userhost of the user in question. Usually used by scripts or bots to retrieve userhost information. Syntax: USERHOST Example: USERHOST hAtbLaDe *** TOPIC Command *** Sets/Changes the topic of the channel in question, or just display the current Topic. Syntax: TOPIC TOPIC Example: TOPIC #operhelp TOPIC #Lobby Welcome to #Lobby!! *** INVITE Command *** Sends a user an invitation to join a particular channel. You must be an Operator on the channel in order to invite a user into it. Syntax: INVITE Example: INVITE hAtbLaDe #Support *** KICK Command *** Removes a user from a channel. Can only be used by Operators or Half-Ops. If no reason is specified, your nickname becomes the reason. Syntax: KICK [,..] [,..] Example: KICK #Lobby foobar Language! KICK #Lobby,#OperHelp Lamer23,Luser12 Lamers! *** AWAY Command *** Sets your online status to "Away". Syntax: AWAY (Marks you as 'Away' with the reason given) AWAY (Un-marks you as 'Away') Example: AWAY Lunch time! *** WATCH Command *** Watch is a new notify-type system in UnrealIRCd which is both faster and uses less network resources than any old-style notify system. The server will send you a message when any nickname in your watch list logs on or off. The watch list DOES NOT REMAIN BETWEEN SESSIONS - you (or your script or client) must add the nicknames to your watch list every time you connect to an IRC server. Syntax : WATCH +nick1 +nick2 +nick3 (Add nicknames) WATCH -nick (Delete nicknames) WATCH (View the watchlist) *** HELPOP Command *** HelpOp is a new system of getting IRC Server help. You type either /HELPOP ? or /HELPOP ! The "?" in /HELPOP means query the help system and if you get no response you can choose '!' to send it to the Help Operators online Using neither ? nor ! will mean the command will be first queried within the help system and if no match if found , it will be forwarded to the help operators. Example: HELPOP ?CHMODES (Channel Modes Help) HELPOP ?UMODES (User Mode Help) *** LIST Command *** Provides a complete listing of all channels on the network. If a search string is specified, it will only show those matching the search string. Syntax: LIST Example: LIST LIST *ircd* New extended /LIST command options are supported. To use these features, you will likely need to prefix the LIST command with /QUOTE to avoid your client interpreting the command. Usage: /QUOTE LIST options If you don't include any options, the default is to send you the entire unfiltered list of channels. Below are the options you can use, and what channels LIST will return when you use them. >number List channels with more than people. people. C>number List channels created between now and minutes ago. C minutes ago. T>number List channels whose topics are older than minutes (Ie., they have not changed in the last minutes. T minutes. *mask* List channels that match *mask* !*mask* List channels that do not match *mask* NOTE : C & T parameters do not exist in Unreal 3.1.1-Darkshades. LIST defaults to sending a list of channels with 2 or more members, so use the >0 option to get the full channel listing. *** PRIVMSG/NOTICE Command *** PRIVMSG and NOTICE, which are used internally by the client for /msg and /notice, in UnrealIRCd support two additional formats: /msg @#channel will send the text to channel-ops on the given channel only. /msg @+#channel will send the text to both ops and voiced users on the channel. While some clients may support these as-is, on others (such as ircII), it's necessary to use /quote privmsg @#channel instead. You can also use % to signify HalfOps on the channel. Syntax: MSG ,,, : Example: PRIVMSG hAtbLaDe :Hello. PRIVMSG hAtbLaDe,Hatter,GoodBot :Hello everyone! The format for the NOTICE command is the same as above. **** KNOCK Command **** For channels which are invite only, you can "Knock" on the channel to request an invite. The following criteria must be met : - Channel is not +K (No knocks) - Channel is not +I (No invites!) - You're not banned! - And you are not already there Syntax: KNOCK Example: KNOCK #secret_chan I'm an op, let me in! *** SETNAME Command *** Allows users to change their 'Real name' directly online at IRC without reconnecting Syntax: SETNAME *** VHOST Command *** Hides your real hostname with a virtual hostname provided by the IRC server , using SetHost. Synatx: VHOST login password Example: VHOST IWant newhost *** MODE Command *** Sets a mode on a Channel or User. UnrealIRCd has got some new Channel & User modes. Syntax: MODE Example: MODE #Support +tn MODE #Support +ootn hAtbLaDe cb ### Channel Modes ### p = Private channel s = Secret channel i = Invite-only allowed m = Moderated channel, noone can speak except users with mode +voh n = No messages from outside channel t = Only channel operators may set the topic r = Channel is registered R = Requires a registered nickname to join the channel c = No ANSI color can be sent to the channel (ColourBlock) q = Channel owner (*)Q = No kicks able in channel unless by U:Lines O = IRCop only channel (Setable by IRCops) A = Administrator only channel (Setable by Admins) K = /Knock is not allowed V = /Invite is not allowed S = Strip all incoming colours away l = Channel may hold at most of users b = Bans the nick!user@host from the channel k = Needs the channel key to join the channel o = Gives operator status to the user v = Gives voice to the user (May talk if chan is +m) L = If +l is full, the next user will auto-join a = Gives protection to the user (No kick/drop) e = Exception ban - If someone matches it they can join even if a ban matches them (**)h = Gives halfop status to the user f [*]: = Flood protection, if the * is given a user will be kick banned when they send in If * is not given they are just kicked H = No +I users may join that channel. (Setable by Admins). N = No nickname changes are permitted in the channel. ^ = Reports Channel modes in bitstring. (Only exists in Development Versions i.e #define DEVELOP) G = Makes the channel G Rated. Any words in badwords.channel.conf are replaced with in channel messages. u = "Auditorium". Makes /names and /who #channel only show @'s C = No CTCPs allowed in the channel. z = Only Clients on a Secure Connection (SSL) can join. (*) Channel mode +Q This is the 'peace' mode. Noone can kick each other except by U:Lines. Bans can be placed though. (**) Channel halfops (+h) If you are marked as halfop (% in /names) you can do: - Set topic - Kick non-ops - Set modes +vmntibe ### User Modes ### O = Local IRC Operator o = Global IRC Operator i = Invisible (Not shown in /who searches) w = Can listen to wallop messages g = Can read & send to globops, and locops h = Available for help s = Can listen to server notices k = See's all the /KILL's which were executed S = For services only. (Protects them) a = Is a Services Administrator A = Is a Server Administrator N = Is a Network Administrator T = Is a Tech Admininistator C = Is a Co Administrator c = See's all Connects/Disconnects on local server f = Listen to flood alerts from server r = Identifies the nick as being registered x = Gives the user hidden hostname e = Can listen to server messages sent to +e users b = Can read & send to chatops W = (IRC Operators only) Lets you see when people does a /whois on you q = (Services Admins only) Only U:lines can kick you B = Marks you as being a Bot F = Lets you recieve far Connect notices & Local notices. I = Invisible Join/Part. Makes you being hidden at channels H = (IRC Operators only) Hide IRC Operator status in /who and /whois d = Makes it so you can not recieve channel messages v = Receive infected DCC send rejection notices t = Says that you are using a /vhost G = Filters out all bad words (badwords.message.conf) in messages with z = Marks the client as being on a Secure Connection (SSL). *** CREDITS Command *** This command will list the credits to all the people who helped create UnrealIRCd Syntax: CREDITS CREDITS *** DALINFO Command *** This command will list the Credits that the Dreamforge IRCd team/the IRCd developers from the start when IRCd got developed Syntax: DALINFO DALINFO *** LICENSE Command *** This command shows the GNU License Which is hard-coded into the IRCd Syntax: LICENSE LICENSE *** TIME Command *** Lists the current Server Date and Time. Syntax: TIME TIME *** BOTMOTD Command *** Lists the IRCd Bot Message Of The Day Syntax: BOTMOTD BOTMOTD *** SILENCE Command *** Ignores messages from a user or list of users at the Server itself. Syntax: SILENCE + (Adds a nickname to SILENCE list). SILENCE - (Removes a nickname from the SILENCE list). SILENCE (Lists the current SILENCE list) *** IDENTIFY Command *** An alias to allow you to identify to NickServ or ChanServ with your password. If it cannot find NickServ or ChanServ , it will report services as down. Syntax: IDENTIFY (Identify to NickServ) IDENTIFY # (Identify to ChanServ as Founder of #channel) ********************************* ***** IRC Operator Commands ***** ********************************* *** OPER Command *** Attempts to give a user IRC Operator status. Syntax: OPER Example: OPER hAtbLaDe foobar234 *** WALLOPS Command *** Sends a "Message" to all those with the umode +w. Only IRCops can send wallops, while anyone can view them. Syntax: WALLOPS *** GLOBOPS Command *** Sends a global "Message" to all IRCops. Only viewable by IRCops (unlike WALLOPS, which can be viewed by normal users). Syntax: GLOBOPS Example: GLOBOPS Going to be akilling those clones... *** CHATOPS Command *** GLOBOPS is usually reserved for important network information. Therefore, for Oper Chat, CHATOPS was invented. IRCops with the +c flag enabled will be able to send/receive CHATOPS messages. Syntax: CHATOPS Example: CHATOPS How's everyone doing today? *** LOCOPS Command *** Similar to GLOBOPS, except only received by those IRCops local to your server. Syntax: LOCOPS Example: LOCOPS Going to be adding a temp k:line for that user... *** ADCHAT Command *** This command sends to all Admins online Only for Admins. This is a ChatOps style command Syntax: ADCHAT Example: ADCHAT Hey guys! *** NACHAT Command *** This command sends to all NetAdmins & TechAdmins online Only for Net/Techadmins. This is a ChatOps style command Syntax: NACHAT Example: NACHAT Hey guys! *** TECHAT Command *** This command sends to all TechAdmins online Only for Net/Techadmins. This is a ChatOps style command Syntax: TECHAT Example: TECHAT Hey guys! *** KILL Command *** Forcefully Disconnects a user from an IRC Server. IRC Operators only. Syntax: KILL Example: KILL Clone5 Cloning is not allowed *** KLINE Command *** "Bans" a hostmask from connection to the IRC server. The user can however connect to other servers on the network !! IRC Operators only. Syntax: KLINE Example: KLINE *@*.aol.com Abuse *** UNKLINE Command *** Removes a k:line from the server. IRC Operators only. Syntax: UNKLINE Example: UNKLINE *@*.aol.com *** ZLINE Command *** Disables all access to the IRC server from a specified IP. The IP can however connect to other servers on the network !! IRC Operators only. Syntax: ZLINE :reason Example: ZLINE 127.0.0.1 :Localhost *** UNZLINE Command *** Removes a currently active z:Line. IRC Operators only. Syntax: UNZLINE Example: UNZLINE 127.0.0.1 *** GLINE command *** This command provides timed G:Lines. If you match a G:Line you cannot connect to ANY server on the IRC network. A time of 0 in the GLINE makes it permanent (Never Expires). In Unreal 3.1.1 you may also specify the time in the format 1d10h15m30s. IRC Operators only. Syntax: GLINE : (Adds a G:line for user@host) GLINE - (Removes a G:line for user@host) Example: GLINE *@*.dal.net 900 :Spammers (Adds a 15 min G:line) GLINE *@*.dal.net 1d5h :Spammers (Adds a 29 hour G:line) *** SHUN Command *** Prevents a user from executing ANY command except ADMIN and respond to Server Pings. This effectively prevents them from doing anything on the server. A time of 0 on the SHUN makes it permanent (Never Expires). In Unreal 3.1.1 you may also specify the time in the format 1d10h15m30s. IRC Operators only. Syntax : SHUN