Das große IRC-Tutorial
Eine Einführung in die Verwendung des IRC-Chats der Mania-Community



Übersicht über das Tutorial


Seit einiger Zeit schon besitzt die Mania-Community einen eigenen IRC-Channel, doch fehlte bisher eine anfängerfreundliche Einführung in diesen. Dieses Tutorial hat als Ziel, für all jene, die noch nie mit einem IRC in Berührung kamen – und auch für all jene, die abgeschreckt sofort die Flucht ergriffen haben – eine Anleitung zu geben, zum einen wie sie überhaupt teilnehmen können, zum anderen auch ein paar spezielle Dinge in Bezug auf den Mania-Community-Channel.
Das Tutorial ist in zwei Teile aufgebaut. Der erste Teil beschäftigt sich mit dem Chat an sich, all jene Sachen, die unabhängig vom Client sind. So werden hier erste Schritte erklärt, was man im Chat selbst so machen kann, angefangen beim Reservieren des eigenen Nicks, bis hin zu dem Typen namens "Ugly", der die ganze Zeit dadrin rumhängt und anscheinen kein Leben hat – Hat er auch nicht
Der zweite Teil des Tutorials beschäftigt sich mit verschiedenen Clients, mit denen man am Chat teilnehmen kann, inklusive Anleitungen zum Einrichten jener, und die ein oder anderen Kniffe, die man kennen sollte. Wer also noch nie in einem IRC war, sollte sich in diesem Teil einen Client heraussuchen, und diesen ersteinmal einrichten – Denn ohne Client kein IRC


Die grundlegende Funktionsweise des IRC
Der IRC, die Abkürzung für Internet Relay Chat, ist eine rein textbasierte Kommunikation zwischen Clients und Server, die trotz des Alters des zu Grunde liegenden Protokolls noch weit verbreitet ist. Irgendwo stehen ein oder mehrere Server, zu denen sich die einzelnen Clients verbinden. Schickt nun ein Client eine Nachricht an einen Server, so wird diese über alle beteiligten Server hinweg zu den verbundenen Clients weitergeleidet. Dies heißt auch: Einmal weggeschickt, gibt es keine Möglichkeit mehr, die Nachricht noch zu verändern – Wie auch, im Extremfall wurde sie bereits über die gesamte Welt verteilt ^^
Im Falle des von der Mania-Community genutzten IRC ist der Server über die Adresse irc.german-elite.net:6667 zu erreichen: Dieser Server nimmt die Verbindung entgegen, und verteilt die Clients auf die 5 Server, die das GermanElite-IRC-Netz bilden, die dann abweichende Adressen besitzen. Dies verwaltet allerdings das verwendete IRC-Programm für uns, sodass wir uns darum nicht weiter kümmern brauchen.
Der IRC-Server bietet nun verschiedenste Räume, sogenannte Channels, in denen der eigentliche Chat abläuft. Stellt euch den IRC wie ein großes Bürogebäude vor, wo man sich in einen Raum setzen und sich dort mit den Anwesenden unterhalten kann. Dabei ist die Anwesenheit nicht auf einen Raum beschränkt: Jeder kann in so viele Räume, wie er will, um sich in allen mit den anderen auszutauschen. Die Namen der Channels starten immer mit einem # um diese als solche zu kennzeichnen, der Channel der Mania-Community heißt treffenderweise #maniacommunity
Hinweis: Verbindet man sich zu einem Server, so ist man standardmäßig in keinem Channel, sondern sieht nur den Server selbst als Chat: Man steht quasi in der Einganshalle. Dieser "Server-Chat" akzeptiert ausschließlich Befehle, womit man beispielsweise dann einem Channel beitreten kann, normale Nachrichten können darüber nicht verschickt werden – Wieso auch, die kann dadrin sowieso keiner lesen (Abhängig vom Client kann man auch direkt einen Channel beim Einrichten mit angeben, welcher dann direkt betreten wird, sodass dieser "Server-Channel" dann unsichtbar bleibt.)
Übrigens: Was glaubt ihr, was Client und Server machen, wenn einmal keine Aktivitäten im IRC sind? Sie spielen tatsächlich Ping-Pong Der Server sendet "PING", und alle Clients müssen mit "PONG" darauf antworten, um zu signalisieren, dass sie noch da sind. Bleibt das Pong aus, kommt es zum häufig gesehenen Ping-Timeout


/list commands – Grundlegende Befehle des IRC
Der IRC bietet nun grundlegende Befehle, um verschiedenen Channels beitreten zu können oder beispielsweise seinen Nick zu ändern. Dieser Abschnitt soll eine kleine Übersicht über diese Befehle liefern.
Im Folgenden sind Parameter, die es bei Verwendung des Befehls zu ersetzen gilt, durch <spitze Klammern> gekennzeichnet. Ist ein Parameter nicht zwingend erforderlich, so ist dies durch zusätzliche [eckige Klammern] markiert. In beiden Fällen gilt: Die Klammern müssen nicht mit eingegeben werden, diese dienen hier nur zum kennzeichnen der einzelnen Parameter
  • /nick <Neuer Nick>Ändern des Nicks
    Einer der wichtigsten Befehle ist wohl der /nick-Befehl: Mit diesem könnt ihr euren aktuellen Namen ändern. Häufig wird dies genutzt, um zum Beispiel die Abwesenheit zu signalisieren (/nick Marcel|afk), oder eben einfach, um sich mal einen anderen Namen zu verpassen Beachtet dabei, dass in einem Nick nur die folgenden Zeichen erlaubt sind: a-z A-Z 0-9 _ - \ [ ] { } ^ ` | (wobei 0-9 erst ab der zweiten Stelle zulässig sind).
  • /me <Nachricht>Nachricht als 3. Person
    Der /me-Befehl wird gerne genutzt, um irgendwelche Aktivitäten zu benennen. So resultiert ein /me schreibt ein IRC-Tutorial in ein * Marcel schreibt ein IRC-Tutorial.
  • /whois <Nick>Abfragen von Informationen zu einem Nick
    Mit dem /whois-Befehl könnt ihr Informationen zu anderen Chat-Teilnehmern abfragen: Neben dem aktuellen Server, zu dem derjenige verbunden ist, werden auch sein realer Name (sofern angegeben) sowie die aktuellen Channels gelistet.
  • /away <Nachricht>Abwesenheit signalisieren
    Mit den /away-Befehl könnt ihr eine Nachricht setzen, dass ihr aktuell abwesend seit. Diese Nachricht wird dann in der WhoIs-Abfrage mit angezeigt. Um die Abwesenheit zu beenden, muss einfach keine Nachricht an den Befehl angehangen werden.
    Anstatt des /away-Befehls wird allerdings häufiger der Nick geändert, und dort beispielsweise ein "afk" angehangen. Dies ist direkt sichtbar, ohne dass man eine WhoIs-Anfrage starten muss.
  • /msg <Nick> <Nachricht>Senden einer privaten Nachricht an den angegebenen Nick
  • /query <Nick> [<Nachricht>]Senden eines Queries an den angegebenen Nick
    Sowohl /msg als auch /query dienen zum Austausch von privaten Nachrichten, also von Nachrichten, die nicht für alle Benutzer sichtbar sein soll. Die tatsächliche Behandlung dieser Befehle ist abhängig vom verwendeten Client: Während mit /msg direkt eine Nachricht an den angegebenen Nick gesendet wird, und erst bei Antwort meist ein eigener, privater Channel für das Gespräch geöffnet wird, so wird jener Channel bei einem /query sofort geöffnet, und man kann die Nachricht dort reinschreiben. Auf der Empfänger-Seite sollte in beiden Fällen der private Channel aufploppen. Wird beim /query eine zusätzliche Nachricht angegeben, so wird diese direkt in den neu erstellten Channel gesagt.
  • /notice <Nick> <Nachricht>Senden einer Notiz an den angegebenen Nick
    Der /notice-Befehl ist eine weitere Möglichkeit, eine private Nachricht an jemanden zu senden. Der Unterschied zu /query und /msg ist, dass für die Notiz kein seperater, privater Channel (und somit kein neuer Tab im Client) erstellt wird, sondern dass die Notiz direkt im aktuellen Channel für den Empfänger – und nur diesen – sichtbar wird. Der Vorteil liegt darin, das eine einzelne Nachricht keinen eigenen Channel bedarf, längere private Gespräche sollten dennoch via /msg oder /query in einen eigenen Channel verlagert werden
  • /join <Channel>Beitreten eines Channels
    Mit diesem Befehl könnt ihr einem weiteren Channel beitreten (führendes # beim Channel-Namen nicht vergessen ). Wenn der Channel nicht existiert, wird dieser automatisch erstellt und ihr werdet (als erster Eintretender) zum Operator erklärt. Somit könnt ihr also auch eure eigenen Channels erstellen... Was aber nicht im Interesse der Mania-Community ist, und somit nicht genauer erläutert werden soll
  • /part <Channel> [<Grund>]Verlassen eines Channels
    Mit diesem Befehl verlasst ihr den angegebenen Channel. Der Channel muss immer mit angegeben werden, da auch dieser Befehl im gesamten IRC geschrieben werden kann, und somit der Server weiß, aus welchen Channel ihr austreten wollt. Der Grund ist optional, mit ihm könnt ihr angeben, warum ihr aus dem Channel austretet.
  • /quit [<Grund>]Beenden der Verbindung zum Server
    Mit dem Quit-Befehl beendet ihr die Verbindung zum IRC-Server, und verlasst somit alle Channels. Auch hier kann optional der Grund mit angegeben werden, der an die Statusmeldung für die anderen Client angefügt wird.

Abhängig vom verwendeten Client braucht man sich die Befehle nicht wirklich merken, da diese meist über das Menü Zugang zu den Befehlen ermöglichen und diese dann "heimlich" im Hintergrund ausführen, ohne dass man direkt etwas davon sieht.


Halbe und ganze Operatoren – Benutzer mit höheren Rechten
So wie jedes Forum meist seine Administratoren und Moderatoren besitzt, so besitzt ein IRC-Channel meist seine Operatoren und Half-Operatoren. Die Rechte sind dabei vergleichbar: Der Operator, oder kurz Op, entspricht dem Administrator, inklusive der Fähigkeit, andere Benutzer vom Channel zu kicken oder zu bannen (wenn diese sich nicht ordnungsgemäß Verhalten), oder anderen Benutzern höhere Rechte zuteilen (was wohl in unserem Fall nicht vorkommen wird ^^). Gekennzeichnet werden die Ops durch ein führendes @ im Nicknamen.
Die Moderatoren heißen im IRC Half-Operators oder kurz Half-Op: Sie können ebenfalls Benutzer kicken oder bannen, allerdings nur "normale" Benutzer, keine Ops oder Half-Ops. Auch wird ihnen die Vergabe von Rechten auf andere Benutzer nicht gestattet. Gekennzeichnet werden alle Half-Ops mit einem % vor dem Nick.
Im Falle der Mania-Community haben wir uns dazu entschieden, dass die Rechte tatsächlich mit denen im Forum übereinstimmen: Alle Administratoren sind somit Operatoren, und alle Moderatoren Half-Ops. Entsprechend hat es wenig Sinn, nach Half-Op oder Op-Status zu fragen, solange ihr kein Mod oder Admin im Forum seid


Ich bin Ich und Du bist Du – Das Registrieren des eigenen Nicks
Am IRC kann jeder teilnehmen, der einen passenden Client hat, ohne irgendeine Registration oder sonstiges. Es gibt kaum Kontrolle, wer hinter welchem Nick steckt – Und genau hier beginnen die Probleme. Wenn nun ein "Marcel" dem Channel beitritt, woher weiß man, dass ich es bin, und nicht irgendein Spaßvogel, der sich als Administrator ausgeben will? Die Antwort: Durch das Reistrieren der Nicks werden diese an Passwörter gebunden – Wer sich einloggt, und das Passwort nicht angibt, wird vom Chat nach 60 Sekunden zwangs-umbenannt. Wenn also nach Ablauf der Minute immernoch "Marcel" dasteht, dann bin es wahrscheinlich ich – Oder jemand, der mein Passwort geknackt hat
Das Registrieren eines Nicks ist eigentlich recht einfach. Im Chat gibt es einen speziellen Benutzer namens "NickServ", eine Kurzform von Nickname Server. Dieser spezielle Benutzer – Am Ende auch nur ein Bot – verwaltet die Registrierungen von Nicks: Man braucht sich also "nur" beim NickServ anmelden. (Neben dem NickServ gibt es auch noch einen ChanServ (Channel Server), welcher die Channels verwaltet. Der ist aber eigentlich nicht weiter interessant, außer ihr wollt einen eigenen Channel registrieren ^^)
Das Registrieren des Nicks läuft in zwei Schritten ab, und sind ähnlich zum Registrieren auf Websites wie der Mania-Community selbst:
1. Schritt: Festlegen des Passwortes
Der erste Schritt ist das Eingeben des Passwortes – und einer gültigen eMail-Adresse, welche mit dem Nick verbunden werden soll. Die eMail-Adresse erfüllt eigentlich nur den Zweck, dass man bei Vergessen des Passwortes sich dieses erneut zuschicken lassen kann. Wer dem NickServ nicht traut, kann gerne eine Trash-Mail angeben, nach der Bestätigung der Registrierung ist diese nicht mehr erforderlich. Nur eins sei gesagt: Niemand, auch nicht die Operatoren, kann die Passwörter einsehen. Wer es also vergisst, ist selbst schuld, und dem kann im Falle einer Trash-Mail nicht geholfen werden
Für das Registrieren ist folgender Befehl einzugeben:
/NickServ REGISTER <Passwort> <eMail>
Dabei wird der aktuell verwendete Nick zum Registrieren verwendet, man sollte sich also gegebenenfalls vor dem Registrieren umbenennen <Passwort> bezeichnet natürlich das Passwort, und <eMail> die Mail-Adresse, die zum Bestätigen der Registrierung verwendet werden soll. Ein Beispiel könnte wie folgt aussehen:
/NickServ REGISTER MeinPasswort marcel@mania-community.de
2. Schritt: Registrierung bestätigen
Nach Eingabe des Befehls sollte innerhalb weniger Sekunden eine Mail versendet werden, die den Befehl für die Bestätigung enthält. In dieser Mail stehen nun alle weiteren Instruktionen zum Abschließen der Registrierung: Dazu muss man lediglich den angegebenen Befehl in den Chat schreiben. Der Befehl sieht in etwa so aus, wobei der Code am Ende natürlich abweichen wird:
/NickServ CONFIRM abcdefgh
Habt ihr diesen befehl eingegeben, so ist die Registrierung abgeschlossen: In Zukunft werden alle Benutzer, die nicht das Passwort eingeben, umbenannt werden – Auch ihr selbst, falls ihr es nicht angebt


Ausweiskontrolle – Das Einloggen in einen registrierten Nick
Habt ihr euren Nick registriert, so müsst ihr jedes Mal wenn ihr euch in den Chat einloggt, als der "Eigentümer" des Nicks identifizieren – Genau so wie ihr im Forum das Passwort zum Einloggen angeben müsst. Der Befehl dafür sieht wie folgt aus:
/NickServ IDENTIFY <Passwort>
In meinem Beispiel würde der Befehl also so aussehen:
/NickServ IDENTIFY MeinPasswort
Diesen Befehl solltet ihr euch gut merken: Wie gesagt, bei jedem Login müsst ihr ihn Eingeben. Dabei zählt als "Login" auch schon der Wechsel des Nicknamens – Exakter gesagt ist der Befehl also jedesmal notwendig, wenn ihr den registrierten Nick annehmt. Für wen der Befehl zu kryptisch ist, der möge sich !login merken: Der Bot wird daraufhin den Identify-Befehl schreiben
Hinweis: Das Ausbleiben der Identifizierung resultiert nach 60 Sekunden in ein Zwangs-Umbenennen des Nicks. Der registrierte Nick wird daraufhin für weitere 60 Sekunden gesperrt und kann in dieser Zeit von niemanden angenommen werden. Der Grund hierfür ist, dass somit NickServ verhindert, dass durch ein Script oder ähnliches der Nick sofort wieder angenommen werden kann und Identifizierungsfrist somit zurückgesetzt wird. Wenn ihr also einmal das Passwort nicht rechtzeitig eingegeben habt, habt Geduld: Nach einer Minute könnt ihr euren Nick wieder annehmen und es erneut versuchen
Hinweis: Das Registrieren eines Nicks ist nicht von Dauer: Wurde sich 30 Tage lang nicht in diesen Nick eingeloggt, so wird er vom NickServ gelöscht, und ist somit wieder für alle Benutzer verwendbar. Wollt ihr euren Nick also partout für andere gesperrt halten, schaut einmal monatlich im Chat vorbei und loggt euch in euren Nick ein


Weitere Befehle des NickServ
Der NickServ bietet nun eine Reihe von weiteren Befehlen an, mit denen man seine Registrierung verwalten kann. Es ist nicht unbedingt erforderlich, die folgenden Befehle zu kennen, sie können aber in der ein oder anderen Situation durchaus hilfreich sein.
Auswahl der Befehle des NickServ

  • /NickServ REGISTER <Passwort> <eMail>Registrieren des Nicks
  • /NickServ IDENTIFY <Passwort>Einloggen in den registrierten Nick
  • /NickServ SET PASSWORD <Neues Passwort>Ändern des Passwortes
    Ist man in seinen Nick eingeloggt, so kann mit diesem Befehl das Passwort geändert werden. Dies ist gerade dann zu empfehlen, wenn man durch eine Unachtsamkeit den REGISTER-Befehl falsch eingegeben hat, und das Passwort im Channel gelandet ist
  • /NickServ SENDPASS <Nick> <eMail>Sendet das Passwort via eMail zu
    Mit dem SENDPASS-Befehl könnt ihr euch euer Passwort an eure eMail-Adresse schicken lassen. Beachtet, dass die eMail-Adresse identisch zu jener sein muss, mit der ihr den Nick registriert habt, andernfalls wird keine eMail versendet.
  • /NickServ GHOST <Nick> <Passwort>Trennen einer "Geister"-Verbindung
    Eine "Geister"-Verbindung entsteht dann, wenn beispielsweise euer Client abgestürzt ist oder die Internetverbindung getrennt wurde: Der Benutzer ist zwar noch im IRC, doch existiert "hinter" ihm keine wirkliche Verbindung mehr. Da dieser Geist allerdings noch euren Nick blockiert, könnt ihr diesen mittels des GHOST-Befehls aus dem Chat kicken – Vorausgesetzt das Passwort passt zum angegebenen Benutzernamen. (Normalerweise sollte nach einer bestimmten Frist der Benutzer automatisch aus dem IRC geworfen werden, wer das PING-Timeout aber nicht abwarten will, der sollte diesen Befehl verwenden )
  • /NickServ RELEASE <Nick> <Passwort>Aufheben der Nick-Sperre nach einem fehlenden Login
    Nimmt man einen registrierten Nick an, und identifiziert sich nicht innerhalb von 60 Sekunden, so wird man zwangs-umbenannt. Zusätzlich wird der registrierte Nick weitere 60 Sekunden für alle gesperrt, um Scripte mit automatischen Zurück-Umbenennen abzublocken. Will man diese 60 Sekunden nicht abwarten, so kann man mit dem RELEASE-Befehl – Unter Angabe des korrekten Passwortes – diese Sperre vorzeitig aufheben, um direkt den registrierten Nick wieder anzunehmen, und den nächsten Login-Versuch zu starten.
  • /NickServ HELP [<Befehl>]Abrufen der Hilfe des NickServ
    Der NickServ ist relativ redselig, wenn es um die Erklärung der Befehle geht. Wird beim HELP-Befehl kein konkreter Befehl angegeben, so werden alle verfügbaren Befehle gelistet, mit Angabe eines Befehls wird entsprechend zu diesem Befehl die Hilfe angezeigt, inklusive anzugebende Parameter.

Diese Liste ist bei weitem nicht vollständig. Wer genaueres zu den verfügbaren Befehlen wissen möchte, fragt am besten den NickServ selbst über den HELP-Befehl


Jetzt wird es hässlich – Der Bot der Mania-Community
Wer dem Channel #maniacommunity beitritt, wird mit sehr hoher Wahrscheinlichkeit einen Benutzer namens Ugly antreffen: Der Bot der Mania-Community. (Falls nicht, ist er wohl mal wieder abgestürzt ) Der Bot hat dabei eine Hauptaufgabe: Er soll mitschreiben, was im Chat gesagt wird, damit der Chat quasi live als Vorschau im Forum erscheinen kann. Der Bot ist notwendig, da nur Teilnehmer im Channel die darin geschriebenen Nachrichten sehen können – Und da wohl niemand Lust hat, das ganze Zeug per Copy&Paste in die DB einzutragen, ist ein Bot die logische Folge ^^
Neben dieser Logging-Aufgabe kann der Bot aber noch ein wenig mehr. Statts nur stur herumzusitzen, besitzt er eine Reihe von eigenen Befehlen – Viele nur für mich als "Besitzer" des Bots zugängig, einige aber auch für alle
Befehle des Bots

  • !helpAbrufen der Hilfe zu den Befehlen des Bots
    Dieser Befehl ruft eine kleine Hilfe des Bots ab, wo er alle bekannten Befehle inklusive kurzer Beschreibung schreibt.
  • !registerKurzanleitung zum Registrieren eines Nicks
    Dieser Befehl liefert eine Kurzanleitung zum Registrieren des Nicks. Für alle die, die sich die vorherigen Kapitel nicht antun wollten
  • !loginBefehl zum Einloggen in einen registrierten Nick
    Da sich wohl nicht alle den Identify-Befehl merken können, bietet dieser Befehl die Möglichkeit, sich den Befehl vom Bot sagen zu lassen. !login ist wahrscheinlich einfacher zu merken als /NickServ IDENTIFY <Passwort> ^^
  • !google <Suchbegriffe>Startet eine Such-Anfrage auf Google. Alias: !g
  • !googlevideo <Suchbegriffe>Startet eine Video-Suche auf Google. Alias: !gv
  • !googleimage <Suchbegriffe>Startet eine Bilder-Suche auf Google. Alias: !gi
  • !googlenews <Suchbegriffe>Startet eine News-Suche auf Google. Alias: !gn
  • !googlebook <Suchbegriffe>Startet eine Bücher-Suche auf Google. Alias: !gb
    Diese fünf Befehle starten jeweils eine Anfrage auf Google mit den angegebenen Suchbegriffen, und der Bot wird die ersten Ergebnisse der Suche schreiben. Nützlich, wenn man mal schnell was suchen will, aber nicht extra Google dafür aufmachen will xD

Der Bot wird wohl in Zukunft noch um weitere Befehle ergänzt werden: Bei Gelegenheit wird somit dieser Post ebenfalls erweitert. Die aktuelle Befehlsliste sollte dabei immer über !help einsehbar sein – Falls dieser Beitrag doch mal längere Zeit nicht erneuert wurde ^^