__ __ ______ ___ ______ ___
__/ // /_/ ____/ __ \/ ____/ __ \
/_ // __/ __/ / /_/ / / __/ / / /
/_ // __/ /___/ _, _/ /_/ / /_/ /
/_//_/ /_____/_/ |_|\____/\____/
Ergo IRCd User Guide
https://ergo.chat/
Copyright © Daniel Oaks daniel@danieloaks.net, Shivaram Lingamneni slingamn@cs.stanford.edu
Table of Contents
Welcome to Ergo, a modern IRC server!
This guide is for end users of Ergo (people using Ergo to chat). If you’re installing your own Ergo instance, you should consult the official manual instead (a copy should be bundled with your release, in the docs/
directory).
This guide assumes that Ergo is in its default or recommended configuration; Ergo server administrators can change settings to make the server behave differently. If something isn’t working as expected, ask your server administrator for help.
Before continuing, you should be familiar with basic features of the IRC platform. If you’re comfortable with IRC, you can skip this section.
IRC is a chat platform invented in 1988, which makes it older than the World Wide Web! At its most basic level, IRC is a chat system composed of chat rooms; these are called “channels” and their names begin with a #
character (this is actually the origin of the hashtag!). As a user, you “join” the channels you’re interested in, enabling you to participate in those discussions.
Here are some guides covering the basics of IRC:
Ergo differs in many ways from conventional IRC servers. If you’re not familiar with other IRC servers, you may want to skip this section. Here are some of the most salient differences:
ChanServ
to be joined to the channel.~u
, regardless of the USER
command or the client’s support for identd. This is because it is not in general a reliable or trustworthy way to distinguish users coming from the same IP. Ergo’s integrated bouncer features should reduce the need for shared shell hosts and hosted bouncers (one of the main remaining use cases for identd).Although (as in other IRC systems) basic chat functionality is available without creating an account, most of Ergo’s features require an account. You can create an account by sending a direct message to NickServ
. (In IRC jargon, NickServ
is a “network service”, but if you’re not familiar with the concept you can just think of it as a bot or a text user interface.) In a typical client, this will be:
/msg NickServ register mySecretPassword validEmailAddress@example.com
This registers your current nickname as your account name, with the password mySecretPassword
(replace this with your own secret password!)
Once you have registered your account, you must configure SASL in your client, so that you will be logged in automatically on each connection. libera.chat’s SASL guide covers most popular clients.
If your client doesn’t support SASL, you can typically use the “server password” (PASS
) field in your client to log into your account automatically when connecting. Set the server password to accountname:accountpassword
, where accountname
is your account name and accountpassword
is your account password.
For information on how to use a client certificate for authentication, see the operator manual.
Once you’ve registered your nickname, you can use it to register channels. By default, channels are ephemeral; they go away when there are no longer any users in the channel, or when the server is restarted. Registering a channel gives you permanent control over it, and ensures that its settings will persist. To register a channel, send a message to ChanServ
:
/msg ChanServ register #myChannel
You must already be an operator (have the +o
channel mode --- your client may display this as an @
next to your nickname). If you’re not a channel operator in the channel you want to register, ask your server administrator for help.
By default, if you lose your connection to the IRC server, you are no longer present on the server; other users will see that you have “quit”, you will no longer appear in channel lists, and you will not be able to receive direct messages. Ergo supports “always-on clients”, where you remain on the server even when you are disconnected. To enable this, you can send a message to NickServ
:
/msg NickServ set always-on true
Ergo natively supports attaching multiple clients to the same nickname (this normally requires the use of an external bouncer, like ZNC or WeeChat’s “relay” functionality). To use this feature, simply authenticate with SASL (or the PASS workaround, if necessary) when connecting. In the recommended configuration of Ergo, you will receive the nickname associated with your account, even if you have other clients already using it.
Ergo stores message history on the server side (typically not an unlimited amount --- consult your server’s FAQ, or your server administrator, to find out how much is being stored and how long it’s being retained).
@
, e.g., if your SASL username is alice
you can send alice@phone
alice@phone
PASS
command is enabled on the server, you can provide it there, e.g., by sending alice@phone:hunter2
as the server password/msg NickServ set autoreplay-missed true
. This will replay missed messages, with the caveat that you must be connecting with at most one client at a time./history #channel 1h
(the parameter is either a message count or a time duration). (Depending on your client, you may need to use /QUOTE history
instead.)/msg NickServ set autoreplay-lines 25
.If you have registered a channel, you can make it private. The best way to do this is with the +i
(“invite-only”) mode:
/mode #example +i
)/WHOIS
their nicknames)./mode #example +I alice
) or give them persistent voice (/msg ChanServ AMODE #example +v alice
)CS AMODE
(/msg ChanServ AMODE #example +o bob
)