Freechat Network
 / Die HauptseiteInformationenWas ist IRC?

Was ist IRC?

Eine Einführung in das Internet Relay Chat Netzwerk

Das IRC (Internet Relay Chat) Protokoll verbindet Menschen weltweit. In IRC Netzwerken zusammengeschlossene IRC Server stehen für alle Nutzer offen und bieten diesen die Möglichkeit in verschiedenen Diskussionsräumen, sogenannten Channels, zusammenzukommen und dort in Echtzeit und direkt miteinander zu kommunizieren. Dabei ist es sowohl möglich, in verschiedenen Channels mit allen anwesenden Nutzern zu diskutieren, als auch mit einzelnen Nutzern direkte, private Gespräche zu führen. Wenn man so will ist IRC der wohl älteste Instant Messenger der Welt, doch durch die für alle zugänglichen Channels gibt es zu jedem Thema eine gut besuchte Diskussionsecke. Bei wichtigen Ereignissen in der Welt kommt es spontan zur Eröffnung neuer Channels mit Augenzeugenberichten und Diskussionen zum Thema.

Geschichte

Das IRC Protokoll wurde 1988 von Jarkko Oikarinen an der Universität von Oulu in Finnland entwickelt. Er schrieb den ersten IRC Client und Server, der erste IRC Server ging im August 1988 mit dem Hostname tosun.oulu.fi ans Netz. Nach und nach kamen weitere Server an Universitäten rund um die Welt dazu, und im Juli 1990 bestand das IRC Netzwerk bereits aus 38 Servern um die ganze Welt verteilt, die allerdings nur von durchschnittlich 12 Usern gleichzeitig genutzt wurden.

Zu diesem Zeitpunkt gab es nur "das IRC Netzwerk", der Verband, in dem alle IRC Server rund um die Welt verbunden waren. Doch mit der Zeit entstanden (meist aufgrund von Unstimmigkeiten zwischen den Verantwortlichen) mehr und mehr einzelne, voneinander getrennte Netze mit jeweils eigenen Server und Nutzern. Heute gibt es die "Großen" IRCNet, EFNet, DALNet und das Undernet sowie tausende von kleineren Netzen, zu denen auch unser Freechat Network gehört.

Für eine ausführlichere Geschichte empfehlen wir euch die History of IRC Seite von Daniel Stenberg, die relativ kompakt einen sehr guten und faszinierenden Überblick über die Entwicklung der IRC Kultur und der unterschiedlichen Netze gibt.

Technik

TO DO: Skizze einfügen.

Ein IRC Netzwerk wie das Freechat Network besteht aus mehreren Servern, die alle direkt oder indirekt miteinander in Verbindung stehen (siehe oben: Server 1 und Server 2 stehen genau wie Server 2 und Server 3 direkt miteinander in Verbindung, Server 1 und Server 3 stehen aber nur indirekt über Server 2 in Verbindung). Als interessierter Chatter braucht man nur eine Verbindung zu einem der oftmals sehr zahlreichen Server herstellen und ist trotzdem mit dem gesamten Netzwerk verbunden: Die Server leiten die Diskussionen in den Channels untereinander weiter, so dass die Aussagen von User A, der mit Server 1 verbunden ist, auch bei User B am Server 3 ankommen. Daher kommt auch der Name Internet Relay Network (engl. weiterleiten).

Auf jedem der IRC Server läuft dabei eine Software, ein sogennanter ircd, die die Funktionen des IRC Servers zur Verfügung stellt und die Verbindungen sowohl zu anderen Servern als auch zu den verbundenen Nutzern verwaltet. Die Administration und Konfiguration dieser Software wird von den sogenannten IRCOps durchgeführt, die für den reibungslosen Betrieb der Server verantwortlich sind und zu diesem Zwecke auch mit besonderen Rechten ausgestattet sind (so können sie Nutzer von einem Server herunterschmeissen und verbannen). Die Software wird in alle Regel über Text-Konfigurationsdateien konfiguriert, und aus deren Aufbau haben sich verschiedene Begriffe in den allgemeinen "IRC Slang" durchgesetzt: So wird mit einer "K-Line" die Verbannung von einem Server bezeichnet, weil diese in der Konfigurationsdatei in mit einem K eingeleiteten Einträgen aufgeführt werden.

Das nötige "Relaying" der Nachrichten von Server zu Server kann natürlich auch zu Problemen führen: Sollte aus welchen Gründen auch immer die Verbindung zwischen Server 1 und Server 2 abreissen, kommt es zu einem sogenannten netsplit, ein Teil des Netzes (namentlich Server 1) wird abgespalten. Für die Nutzer auf Server 2 und Server 3 verschwinden plötzlich all diejenigen Chatpartner, die mit Server 1 verbunden waren, und die Nutzer auf Server 1 verlieren sogar den Kontakt zu jedem, der nicht auch auf Server 1 chattet. Durch die relativ hohe Stabilität des Internets heutzutage passiert das nur noch recht selten, aber da insb. bei den großen Netze Diskussionen oft über eine Vielzahl an Servern laufen, bis sie beim Empfänger ankommen, geschieht dies dort einfach nur aufgrund der Masse der Verbindungen, die abreissen können, immernoch von Zeit zu Zeit. Das hat jedoch noch weiterreichende Probleme: Während die beiden Teile des Netzes (Server 1 bzw. der Rest) voneinander getrennt sind können auf beiden Teilen des Netzes die gleichen Channels neu eröffnet werden und verschiedene User können auf dem je anderen Netz denselben Nickname haben. Das darf im IRC Netzwerk nicht sein, wenn Server 1 und Server 2 also wieder eine Verbindung aufbauen müssen diese Konflikte irgendwie abgebaut werden - das hat zur Folge, dass es zu sogenannten Overrides kommt und User ihren Status verlieren oder gar vom Server abgemeldet werden.

Channels und Channel Operators

Diskussionen finden im IRC immer in den Diskussionsräumen, den sogenannten Channels, statt. Jeder Channel hat dabei einen im IRC Netzwerk eindeutigen Namen, mit dem andere Nutzer diesen Channel betreten können. Ein Channelname beginnt immer mit dem Rautezeichen (#) und sollte ansonsten nur aus Buchstaben und Zahlen bestehen. Leerzeichen oder deutsche Umlaute dürfen in Channelnamen generell nicht auftauchen. Prinzipiell kann jeder Nutzer neue Channels eröffnen: Generell existieren alle Channels, in denen sich mindestens ein Nutzer aufhält. Betritt man einen Channel, in dem noch kein Nutzer sitzt, so wird man automatisch zum Channel Operator in diesem Channel und hat ihn damit eröffnet. Das gilt jedoch auch umgekehrt: Sobald alle Nutzer einen Channel verlassen existiert dieser nicht mehr und der Nächste, der ihn betritt, wird Channel Operator und hat damit das Sagen über den Channel. Um diese Problematik zu umgehen gibt es im Freechat Network den ChanServ. Nachdem man einen leeren Channel betreten hat, der noch von keinem anderen Nutzer bei ChanServ registriert wurde, kann man diesen selber bei ChanServ registrieren und verhindert damit, dass andere Nutzer den Channel übernehmen.

Als Channel Operator hat man besondere Möglichkeiten in den jeweiligen Channels: Man kann verschiedene Optionen für einen Channel konfigurieren (sogenannte Modes), kann neue Operators bestimmen und kann unerwünschte Nutzer aus dem Channel "kicken" oder auch dauerhaft verbannen. Außerdem kann man User mit sogenannten "Voice" Rechten ausstatten und ihnen diese wieder entziehen. Voice Rechte werden vor allem eingesetzt, wenn der Channel auf "moderiert" gesetzt wird, dann dürfen nur Operators und Nutzer mit Voice Rechten in diesem Channel schreiben.

Befehle

Die IRC Server reagieren auf bestimmte Befehle, über die man die Funktionen des Netzes ansprechen kann und etwa Channels betritt und verlässt oder spezielle Dienste nutzen kann. Die allermeisten IRC Clients verarbeiten Befehle, indem man dem Befehlsnamen einen Slash (/) voranstellt. Aber keine Sorge, man kann sich mit diesen Befehlen zwar manchmal das Leben erleichtern, aber moderne IRC Clients bieten auch Menüs und Buttons um die entsprechenden Funktionen aufzurufen, so dass man sich keine Kommandos mehr merken muss. Es gibt eine Vielzahl von Befehlen, die auch vom Funktionsumfang der eingesetzten Server Software abhängen, nachfolgend also nur eine Liste der wichtigsten Befehle:

/nick <Name>
Mit diesem Befehl kann man seinen Nickname, also die Bezeichnung unter der man im Netz von anderen Nutzern "gesehen" wird, in <Name> ändern. Um also etwa den Namen GraueMaus anzunehmen muss folgendes in die Eingabezeile des IRC Clients eingegeben werden: /nick GraueMaus

/join <Channel> <Key>
Mit diesem Befehl betritt man den Diskussionsraum (Channel) <Channel>. In den meisten IRC Clients bedeutet dies, dass sich ein neues Fenster öffnet, in dem rechts die in diesem Channel befindlichen User aufgelistet werden und die Diskussion speziell in diesem Channel verfolgt werden kann. Es gibt Channels, die nicht für jeden zugänglich sind, sondern die durch einen Key vor neugierigen Augen geschützt sind. Bei diesen muss als zweiter Parameter der Key <Key> angegeben werden. Um also dem Channel #help beizutreten müsste der Befehl folgendermaßen ausgeführt werden: /join #help

/op <Nickname>
Wenn du ein Channel Operator in dem gerade aktiven Channel bist, kannst du mit diesem Befehl einem weiteren Nutzer in diesem Channel Channel Operator Rechte geben. Um etwa den Nutzer mit dem Nick MeinFreund zum Channel Operator zur ernennen musst du eintippen: /op MeinFreund

/deop <Nickname>
Als Channel Operator kannst du mit diesem Befehl anderen Channel Operators ihren Status "wegnehmen". Stellst du etwa fest, dass MeinFreund doch nicht mehr dein Freund ist, so kannst du ihn folgendermaßen wieder zum "normalen Nutzer" degradieren: /deop MeinFreund

/kick <Nickname>
Als Channel Operator kannst du mit diesem Befehl einen unerwünschten Nutzer mit dem Nick <Nickname> aus deinem Channel "kicken". Das Kommando bezieht sich immer auf den gerade aktiven Channel (dessen Fenster aktiv ist) und kann nur ausgeführt werden wenn du Channel Operator bist. Um dann etwa HerrBoese zu kicken gibst du einfach ein: /kick HerrBoese

/mode <Channel> <Modes>
Als Channel Operator kannst du mit diesem Befehl einige Optionen für deinen Channel steuern. Die sogenannten "Modes" sind einzelne Buchstaben, die jeweils eine besondere Bedeutung haben und (mit Ausnahmen) beliebig miteinander kombiniert werden können. Dem Befehl übergibt man dabei eine Liste der gewünschten Veränderungen an den Modes eines Channels. Den Modes, die man neu hinzufügen möchte, stellt man dabei ein Pluszeichen (+) voran. Die Modes, die man abstellen möchte, müssen mit einem vorangestellten Minuszeichen (-) versehen werden. Folgende Modes werden häufiger eingesetzt:

  • i - Ist dieser Mode aktiviert ist der Channel "invite-only". Das bedeutet, dass alle Nutzer, die den Channel betreteten möchten, vorher von einem Channel Operator dazu eingeladen werden müssen (siehe Befehl unten).
  • s - Das Aktivieren dieses Modes versteckt den Channel in Übersichtslisten, macht ihn "secret".
  • t - Ist dieser Mode aktiviert kann das Channel Topic (das Thema, das beim Betreten des Channels und in Übersichtslisten angezeigt wird) nur von Channel Operators geändert werden.
  • m - Ist dieser Mode aktiviert ist der Channel "moderated". Das bedeutet, dass nur Channel Operators und Nutzer mit Voice Rechten in diesem Channel schreiben können.
  • l <Zahl> - Der Mode l setzt ein Limit für die Anzahl der Nutzer, die sich gleichzeitig in diesem Channel aufhalten dürfen. Dieser Mode kann nicht alleine angegeben werden, hier muss durch ein Leerzeichen getrennt die maximale Anzahl <Zahl> der Nutzer angegeben werden, etwa als /mode #gartenlaube +l 40.
  • k <Key> - Wird der Mode k gesetzt, müssen alle Nutzer, die den Channel betreten wollen, beim Betreten den Key <Key> angeben. Auch dieser Mode kann nicht alleine angegeben werden sondern muss immer von dem gewünschten Key gefolgt werden. Soll der Channel #gartenlaube also nur noch mit dem Key gruenerdaumen zugänglich sein müsste angegeben werden: /mode #gartenlaube +k gruenerdaumen.

Möchtest du beispielsweise das Topic des Channels #gartenlaube schützen und gleichzeitig den Channel auf "moderiert" setzen, kannst du dafür folgenden Befehl nutzen: /mode #gartenlaube -t+m

/invite <Nickname>
Hiermit kannst du <Nickname> in den aktuellen Channel einladen. Der User erfährt, dass er eingeladen wurde, und kann dann einem als "invite only'Ä deklarierten Channel beitreten. Um diesen Befehl auszuführen, musst du allerdings Channel Operator im betreffenden Channel sein. Dann kannst du deinen Freund Tom etwa mit folgendem Befehl einladen: /invite Tom

IRC Clients

Die Verbindung zu einem IRC Netzwerk erfolgt immer mit Hilfe eines Clients, also einer Software-Anwendung die auf dem eigenen Rechner läuft. Der bei Weitem bekannteste IRC Client für Windows ist dabei mIRC, über das wir auch eine eigene Informationsseite haben. Für Linux hat sich als graphischer Client X-Chat durchgesetzt, den es auch in einer speziellen Windows Version gibt. Es gibt aber auch Browser mit IRC Unterstützung, so haben manche Mozilla Pakete "ChatZilla'' mit im Angebot. Als schneller Einstieg kann jedoch auch auf unseren Webchat zurückgegriffen werden, der voll über das Internet ausführbar ist und nicht erst installiert werden muss.