IRCD(8)

πŸ“¦
version 2.11.2p3 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ‘‘ IRCD(8) β€” the manual page, but make it cute πŸ’…

okay bestie, we're in the System Manager's Manual section of the manual pages, and today's main character is IRCD(8). yes it's a section 8 page. yes it's for the girlies who run daemons. let's go πŸ¦‹


✨ NAME ✨

ircd β€” The Internet Relay Chat Program Server 🌸


✨ SYNOPSIS ✨

ircd   [ -abciqst ] [ -f configfile ] [ -x debuglevel ] [ -h hostname ]
       [ -T [ tunefile ] ] [ -p mode ]

ircd   -v

✨ DESCRIPTION ✨

so ircd is literally the server (the daemon, the big one) for the Internet Relay Chat Program. it's called a server because its whole job is to "serve" the client program irc(1) with messages and commands. that's it. that's the gig. πŸ’–

every single command and every user message gets passed straight to the ircd for processing and for relaying to other ircd sites. and here's the thing β€” irc(1) depends on there being an ircd server running somewhere (either on your local UNIX site or on a remote ircd site) so it has somewhere to connect to, which is the only way the user can start talking to other users. no server, no chatting. periodt.

ircd will reread its configuration file whenever it received a hangup signal, SIGHUP. πŸ“–

sending an interrupt signal to the ircd process will cause it to restart. iconic behaviour honestly.


✨ OPTIONS ✨

  • -a β€” tells the server to automatically die off if it loses all it's clients. yes, all of them. gone. bye 🫢
  • -b β€” if the ircd.tune file is corrupted, by default the server will not start. this option will make the server start anyways, with the default values (ignoring the corrupted file). it's giving "we ball" energy ngl.
  • -c β€” this flag must be given if you are running ircd from /dev/console or any other situation where fd 0 isnt a tty and you want the server to fork off and run in the background. this needs to be given if you are starting ircd from an rc (such as /etc/rc.local) file. don't skip it, bestie, it's not optional πŸ’€
  • -i β€” the server was started by inetd and it should start accepting connections from standard input. the following inetd.conf-line could be used to start up ircd automatically when needed:
ircd stream tcp wait irc /etc/ircd ircd -i

that one allows inetd to start up ircd on request. so slay ✨

  • -q β€” using this option stops the server from doing DNS lookups on all the servers in your ircd.conf file when it boots. this can take a lengthy amount of time if you have a large number of servers and they are not all close by. so if you're impatient (me, I'm impatient), you know what to do 😭
  • -s β€” when this option is specified, iauth will not be started. this means that the IRC daemon will perform "ident lookups" (RFC 1413) internally to attempt to authenticate incoming connections. no other authentication mechanism will be used. that last bit is important, keep it in mind πŸ’…
  • -t β€” instructs the server to direct debugging output to standard output and to not fork nor detach from terminal. it stays right there with you. clingy but useful πŸŽ€
  • -f filename β€” specifies the ircd.conf file to be used for this ircdaemon. the option is used to override the default ircd.conf given at compile time. choose your own adventure πŸ¦‹
  • -x # β€” defines the debuglevel for ircd. the higher the debuglevel, the more stuff gets directed to debugging file (or standard output if -t option was used as well). crank it up and watch the chaos πŸ”₯
  • -h hostname β€” allows the user to manually set the server name at startup. the default name is hostname.domainname. name yourself, main character πŸ’œ
  • -p mode β€” specify whether the server should enable built-in protections against various type of user abuse that is commonly found on big public networks. possible modes are strict (default), on and off and standalone. the strict option enables the protections, and refuses to establish a link to a server not running with this option. this is useful to force all servers on an IRC network to enable them. the standalone option removes split checks and disallows any server to connect. so strict is the "we all agree or nobody plays" mode, okay? 🫢
  • -T tunefile β€” specifies the ircd.tune file to be used for this ircdaemon. the option is used to override the default ircd.tune given at compile time. if no tune file is given, reading and writing of tune file is disabled. no tune file, no tunes 🎡
  • -v β€” this option prevents the server from starting, and dumps some information about the version instead. it's the "just tell me who you are, don't actually do anything" flag. respect πŸ™ˆ

if you plan to connect your ircd server to an existing Irc-Network, you will need to alter your local IRC CONFIGURATION FILE (typically named "ircd.conf") so that it will accept and make connections to other ircd servers. this file contains the hostnames, Network Addresses, and sometimes passwords for connections to other ircds around the world. because description of the actual file format of the "ircd.conf" file is beyond the scope of this document, please refer to the file INSTALL in the IRC source files documentation directory. i'm not explaining the whole format here, that's a whole other post bestie 🌈

BOOTING THE SERVER: the ircd server can be started as part of the UNIX boot procedure or just by placing the server into Unix Background. keep in mind that if it is not part of your UNIXES Boot-up procedure then you will have to manually start the ircd server each time your UNIX is rebooted. this means if your UNIX is prone to crashing or going for for repairs a lot it would make sense to start the ircd server as part of your UNIX bootup procedure. in some cases the irc(1) will automatically attempt to boot the ircd server if the user is on the SAME UNIX that the ircd is supposed to be running on. if the irc(1) cannot connect to the ircd server it will try to start the server on it's own and will then try to reconnect to the newly booted ircd server. it's giving self-sufficient queen energy honestly πŸ‘‘

✨ EXAMPLE ✨

tolsun% ircd

places ircd into UNIX Background and starts up the server for use.

Note: you do not have to add the "&" to this command, the program will automatically detach itself from tty. it handles that itself. independent. πŸ’…
tolsun% ircd -v
ircd 2.9.3 AaCDEfFHiIkMsu_V1
        zlib not used
        Tue Apr 1 1997 at 20:17:50 EDT #1

this indicates that this binary is the version 2.9.3 of the software. AaCDEfFHiIkMsu_V1 are the compile time options which were used. this binary does not support compression of server-server links (does not use zlib) and was compiled on April the 1st. cute little info dump, ate πŸ“


(c) 1988,1989 University of Oulu, Computing Center, Finland,

(c) 1988,1989 Department of Information Processing Science, University of Oulu, Finland

(c) 1988,1989,1990,1991 Jarkko Oikarinen

for full COPYRIGHT see LICENSE file with IRC package. read the license bestie, it's the rules πŸ“œ


✨ FILES ✨

  • "ircd.conf"

✨ SEE ALSO ✨

iauth(8) irc(1) ircdwatch(8)


✨ BUGS ✨

None... ;-) if somebody finds one, please send mail to ircd-bugs@irc.org

not them saying "None... ;-)" like that's a real answer 😭 iconic confidence though, and if you do find one, mail the address above, they asked nicely.


✨ AUTHOR ✨

Jarkko Oikarinen, currently jto@tolsun.oulu.fi, manual page written by Jeff Trim, jtrim@orion.cair.du.edu, later modified by jto@tolsun.oulu.fi.


and that's the whole page babes πŸ’– this version of the page is dated $Date: 2006/04/26 20:26:07 $, it lives in the System Manager's Manual section as IRCD(8), and now you know it top to bottom. go run your server, you're doing amazing 🫢✨🌸