# IRC-Dienste

Als IRC-Dienste (englisch IRC Services) werden zusätzliche Dienste im Internet Relay Chat bezeichnet, die in einem IRC-Netzwerk angeboten werden.

## Beschreibung

Diese Dienste bieten in aller Regel grundlegende Funktionserweiterungen, die im ursprünglichen IRC nicht vorgesehen waren, beispielsweise die Anmeldung von Channels. Aus Kompatibilitätsgründen zu den IRC-Clients bzw. um das IRC-Protokoll nicht verändern zu müssen, sind diese Funktionen meist nur indirekt erreichbar, z. B. über die Kommunikation mit virtuellen Nutzern/Bots statt über direkte IRC-Befehle.
IRC-Dienste stellen zwar eine im Prinzip unabhängige und abschaltbare Komponente eines IRC-Netzwerkes dar, sind oftmals aber so wichtig und grundlegend, dass sie für einen geregelten Betrieb nicht wegzudenken sind. Dies ist beispielsweise der Fall, wenn Nutzer ihre Nicknames bei einem Dienst wie NickServ angemeldet haben und dieser darüber wacht, dass nur der echte Besitzer den Nickname benutzen darf. Aus diesem Grund ist vielen Nutzern nicht einmal bekannt, dass IRC-Dienste nur eine Erweiterung sind.
IRC-Dienste erscheinen in aller Regel als Nutzer bzw. Bot im IRC und nehmen im Privatchat Befehle entgegen. Obwohl sie wie normale Nutzer erscheinen, sind sie meistens nicht an die Restriktionen solcher gebunden. Sie können beispielsweise andere Nutzer aus einem Channel kicken oder Berechtigungen verleihen, ohne selbst im Channel zu sein, Nutzer umbenennen usw.
Diese Dienste verbinden sich meist als Server zu einem anderen IRC-Server, um durch die Server-Server-Verbindung mehr Einblick in die Vorgänge des IRC-Netzes zu bekommen und zusätzliche Berechtigungen zu erlangen (Stichwort: U-Line).

## Technische Einbindung

Die meisten IRC-Dienste verbinden sich als IRC-Server mit dem IRC-Netzwerk und erzeugen virtuelle Nutzer. Dadurch, dass sie als Server am Netzwerk angebunden sind, bekommen sie, wie jeder andere Server auch, alle globalen Informationen mit, wie das Auftauchen oder Verschwinden von Nutzern im Netz, sämtliches Betreten oder Verlassen von Channels, Änderungen an Channelmodes usw., und können die Sonderrechte ausüben.
Sie werden aus diesem Grund oft als Mischform zwischen IRC-Server und IRC-Client bezeichnet, da sie den meisten Nutzern gegenüber als Client erscheinen, aber in Wirklichkeit Server-Funktionalitäten bieten.
IRC-Daemons und IRC-Dienste sind in den meisten Fällen zwei getrennt laufende Daemons. In einigen neueren, meist kostenpflichtigen, IRC-Daemons besteht diese Trennung auf technischer Seite nicht. Hierbei sind dann die Dienste im IRCd integriert, wobei der Unterschied für den Nutzer nicht ohne Weiteres erkennbar ist.

## Üblicherweise angebotene Dienste

Der Service ist für den User im IRC in mehrere Teile unterteilt. Im Folgenden sind einige davon aufgeführt.

### AuthServ/NickServ

Je nach Service kommen Authserv (z. B. srvx Services) oder Nickserv (z. B. Irc-Services, Anope) zum Einsatz:
* NickServ ist der Dienst, der es einem Benutzer ermöglicht, seinen Nicknamen zu registrieren und damit zu schützen. Meist sind Passwort sowie E-Mail-Adresse hierzu erforderlich. Die E-Mail-Adresse dient dem Zweck der Passwort-Erinnerung, denn falls ein Benutzer einmal sein Passwort vergisst, so kann ihm dies meist an diese Adresse zugesendet werden.
* AuthServ funktioniert ähnlich wie NickServ, allerdings können über ihn keine Nicknamen registriert und geschützt werden, AuthServ registriert einen sogenannten AuthName, welcher unabhängig vom Nicknamen ist. Wie bei NickServ dient ein Passwort zur Identifizierung und eine E-Mail-Adresse zur Passwort-Erinnerung.

### BotServ

Der BotServ ist dafür geschaffen, Bots in Channels einzubringen. Gedacht ist er für Nutzer, die selbst keinen Bot aufsetzen können, oder auch Netzwerke, die Bots verbieten. Je nach Netzwerk hat man die Möglichkeit, frei aus einer Liste voreingestellter Bots zu wählen und diese auch darüber zu verwalten.

### ChanServ

Ein jedes IRC-Netzwerk besteht aus mehreren, meist zahlreichen, Channels (engl. Kanäle bzw. Räume). ChanServ steht für ChannelService und ermöglicht es dem Benutzer, einen Channel zu registrieren und damit unter seine Obhut zu stellen. Als Channel-Eigentümer hat er das Recht, Channel-(Operatoren) usw. zu ernennen und zu berechtigen, andere Nutzer aus dem Channel hinauszuwerfen oder sie zu bannen.

### HostServ

Der HostServ ist derjenige Dienst, mit dem einem Nutzer scheinbar ein anderer Host zugewiesen werden kann. Der Nutzer besitzt anschließend diesen Host zwar nicht, jedoch wird, wenn beispielsweise ein anderer Nutzer einen Whois-Befehl auf einen anderen ausführt, nicht der reale Host angezeigt, sondern der, der dem genannten Nutzer durch einen IRCop (IRC-Operator) zugewiesen wurde.

### MemoServ

Die Abkürzung MemoServ steht ausgeschrieben für das Wort MemoryService (engl., Erinnerungsdienst). Durch diesen ist es möglich, Nutzern, die sich gerade nicht online im IRC-Netzwerk befinden, eine Nachricht (Memo) zu hinterlassen. Die Nachricht wird für den Nutzer auf dem entsprechenden Server hinterlegt. Dieser kann sie anschließend jederzeit abfragen und die Mitteilung des anderen Nutzers lesen.

### OperServ

Die Kurzform Oper steht hierbei für das Wort Operator. Beim OperServ sind aber nicht etwa die Channel-Operatoren gemeint, sondern die IRCops (IRC-Operatoren). Die IRCops sind meist diejenigen, die das IRC-Netzwerk eröffnet haben, oder sie haben zumindest ihre IRCop-Rechte von diesen erhalten. Sie sind damit in der Lage, Entscheidungen über die Köpfe der Channel-Operatoren sowie Channel-Besitzer hinweg zu treffen, denn sie besitzen die Berechtigung vom Server dafür.
Dieser Dienst dient nun aber Aufgaben wie der globalen Steuerung bestimmter Prozesse, die im Einzelnen nur für die IRCops selber von Bedeutung sind. Ein „normaler“ Nutzer hat keinerlei Berechtigung, auf diesen Dienst zuzugreifen oder ihm gar Befehle zu erteilen, bestimmte Aufgaben auszuführen.

### Andere

Ein ebenfalls weit verbreiteter Service für IRCd mit dem P10 Protokoll (ircu...) ist der Bot Q, der von den Entwicklern des QuakeNet eingeführt worden ist. Dabei ähnelt Q von der Struktur her ChanServ, bietet jedoch auf einer anderen Syntax basierende Funktion an, wie beispielsweise ein auf Flags aufgebautes Channel-Rights-Management. Die vom Funktionsumfang etwas kleinere Version von Q heißt L und entstammt ebenfalls dem QuakeNet. Diese Services zeichnen sich besonders durch ihre Leistungsfähigkeit und Ressourcensparsamkeit aus.