iacd User's Guide

Thomas Graf

Contents

Chapter 1  Introduction

This document describes the features available to users of the iacd IRC server.

Thanks to all who helped develop iacd with code or social support.

1.1  Disclaimer & License

This document is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This document may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/).

Chapter 2  User Interface

2.1  Logon

The first step you have to do is to tell your IRC client to connect to the IRC server.

If the connection has been established the Server will send you some warm welcome messages:

Welcome dude
Your host is localhost, running version 0.0.25
This server was created in the past
kirika.rakuen 0.0.25 iwAm t
...

Format:
  Welcome dude
  Your host is <your hostname>, running version <iacd version>
  This server was created in the past
  <server FQDN> <iacd version> <user modes> <channel modes>
  ...

The MOTD1 may follow if the server administrator has written one.

2.2  Messaging

After you've successfully connected to the IRC server you can message other users. You can send a message to a user directly or join a channel and send a message to multiple users.

2.2.1  Private Messages

Syntax: privmsg nick message

The only person that can see the message is the person you've sent the message to.

2.2.2  Channel Messages

Syntax: privmsg channel message

The message will be sent to all users which have joined the channel. You can only send messages to channels you have joined.

2.2.3  Other messages

It's possible that the server administartor has enabled script support during compilation2. This makes it possible to have services like irc2sms or irc2mail gateways. To use this feature a special kind of messaging is used, actually it's the same as if you would send a private message but a computer program will read it instead of another IRC user.

2.3  Changing Personal Data

2.3.1  Changing The Nick

Syntax: nick newnick

This changes your nick to a new one which must not be taken yet. All channels you have joined will get informed.

2.3.2  Changing /WHOIS data

The information others can get about you is the output of the whois command.

> whois tgr
tgr [tgr@localhost]
 ircname  : Thomas Graf
 server   : kirika.rakuen [iacd irc server]
 idle     : 0 days 0 hours 8 mins 5 secs [signon: Nov 20]
End of WHOIS

This information is given to the server in the logon process and can normally not be changed without reconnecting. iacd provides an interface to change this information on the fly.

Syntax:
  set ircname newircname
  set hostname newhostname
  set user newusername

Example:
> whois tgr
tgr [tgr@localhost]
 ircname  : Thomas Graf
 server   : kirika.rakuen [iacd irc server]
 idle     : 0 days 0 hours 8 mins 5 secs [signon: Nov 20]
End of WHOIS
> set ircname Foo bar
> set hostname nowhere
> set user foo
> whois tgr
tgr [baz@nowhere]
 ircname  : Foo bar
 server   : kirika.rakuen [iacd irc server]
 idle     : 0 days 0 hours 11 mins 28 secs [signon: Nov 20]
End of WHOIS

2.4  User Modes

User modes exist to help you configure the server to your likes. This means user modes control the behaviour that can be different for each user e.g. enable/disable autoaway feature.

2.4.1  Current User Mode

> MODE yournick
Your user mode is +i

2.4.2  Change User Mode

You can only change your own user mode. (The IRC server can be configured to allow IRC operators to change user modes of other users, but this is disabled in the default configuration.)

Syntax:
  mode NICK OPERATORS [ ARGUMENTS ]
  NICK      := Your own nick
  OPERATORS := ({+|-}MODE_CHAR)*
  MODE_CHAR := {i|w|...}
  ARGUMENTS := [arg1 [arg2 [arg3 [...]]]]

Examples:
  MODE mynick +i     # Enables i user mode
  MODE mynick -i     # Disables i user mode
  MODE mynick +A 42  # Enables A user mode with argument 42
  MODE mynick +i-m   # Enables i and disables m user mode

Your new user mode is returned after the user mode has been changed.

2.4.3  User Modes Overview

iacd supports a few user modes but not a quarter as many as other IRC servers do. The next chapters describe each user mode.

2.4.3.1  i (Invisible)

Normally this user mode prevents your nick from showing up in /WHO and /NAMES replies if the requesting user is not in the channel. This mode doesn't change anything on iacd IRC servers, because it's behaviour is always like this. You can set this flag but it will have no effect because /WHO and /NAMES requests can only be done if you have joined the channel.

2.4.3.2  w (Wallops)

Wallops was orginally implemented to allow IRC operators to send messages to all other IRC operators. Today, this feature is mostly used as information broadcast to all users on a IRC network.

If you enable this mode, you will receive wallops messages.

2.4.3.3  A (Autoaway)

The autoaway feature is normally implemented on the client side, but I was bored so I implemented it on the server side. If enabled, you'll be marked as being away after some time of inactivity (default is 300 seconds). You can change this interval with the optional argument.

2.4.3.4  m (Away Informer)

The away informer is something you may have been waiting for. If enabled, the away informer sends you a NOTICE when someone in a channel you have joined marks or unmarks himself as being away. This is quite useful if someone goes to bed without letting the other know like I do sometimes.

2.5  Leaving

The command to disconnect from the server is QUIT. Your IRC client probably has synonyms for that like EXIT, LEAVE or BYE.


1
Message Of The Day
2
Process of building the iacd software package

Chapter 3  Channel Management

Iacd has only support for modeless channels. It's against my principles to allow other people to rule over others in such a manner.

3.1  Modeless Channels

The definition of modeless is: You can't change modes of this channel. Usually modeless channels don't have modes when created which means that they have no modes at all. This is not true for iacd, it would be possible to implement channel modes. Modeless in case of iacd means that the following channel modes will never exist: o,b,v,m

So, in modeless channels everyone has the same rights, nobody can get kicked but you can still ignore others of course.

3.2  Topic Management

3.2.1  Topic Change

Syntax: topic channel newtopic

Most IRC clients allow a more simple syntax: `/topic newtopic' which changes the topic of the channel currently active.

3.2.2  Topic Modification

Besides this 'old' style, iacd provides a more advanced method to change the topic:

Syntax: topic channel |newtopic

This prepends the topic to the old one. The topic often contains URL's and important stuff which should everyone be aware of so it needs to stay there for quite some time. This means that the topic often contains multiple topics of different users.

Example:
  TOPIC +iacd iacd is the cutest irc server ever
  Topic: iacd is the cutest irc server ever
  TOPIC +iacd |j0, and sexy!
  Topic: j0, and sexy! | iacd is the cutest irc server ever

3.2.3  Topic History

Syntax: thistory channel

This prints out the topic history of a channel.

Example:
  TOPIC +iacd iacd is cute
  TOPIC +iacd |j0, and sexy!
  TOPIC +iacd this overwrites the old topic
  THISTORY +iacd
  !kirika Nov 20 20:47 tgr j0, and sexy! | iacd is cute
  !kirika Nov 20 20:43 tgr iacd is cute

This command is probably not implemented in your IRC client but most clients provide the QUOTE command which sends the followed string directly to the server.

/QUOTE thistory channel

This document was translated from LATEX by HEVEA.