Warum sollten Bouncer eigentlich verlinkt werden? In großen IRC Netzwerken, wie dem Quakenet, das von den meisten Gaming-Clans genutzt wird, kommt es häufiger zu sogenannten Netsplits, dass heißt die einzelnen IRC-Server haben einen Disconnect untereinander. Die Folge ist, das man User die auf anderen Servern als dem seinigen sind, nicht mehr im Channel sehen kann. Abhilfe schafft da das Linken von Bouncern. Sie werden in einem separaten Netz dem "psyBNC Network" verbunden und kommunizieren dann auch über dieses.
Um Bouncer zu linken braucht man eigentlich nur drei Befehle zu kennen.
/namebouncer <name>
/linkto <name> :<ip>:<port>
/linkfrom <name> :<ip>:<port>
Der Befehl /namebouncer dient dazu, seinem Bouncer einen Namen zuzuordnen, mit dem der Bouncer von nun an bei den links identifiziert wird.
Die Syntax ist einfach, /namebouncer <name> wobei man <name> durch den Namen ersetzt, den der eigene Bouncer tragen soll, z.B. so:
/namebouncer [RCS]Test
Der Befehl
/linkto dient dazu, einen Link zu einem anderen Bouncer aufzubauen. Die Syntax ist folgendermaßen:
/linkto <name> :<ip>:<port> wobei <name> der Name eines fremden Bouncers ist, welcher dort mit /namebouncer gesetzt wurde. <ip>:<port> ist die zugehörige IP-Adresse mit Port, z.B. so:
/linkto [RCS]Trainee :81.2.168.1.99:5555
Der Befehl
/linkfrom dient dazu, einen Link von einem anderen Bouncer zu akzeptieren. Die Syntax ist die selbe wie bei linkto, z.B. so:
/linkfrom [RCS]Test :81.2.168.99:4444
Wenn zwei Bouncer gelinkt werden sollen, muss also jeder BNC User den Befehl
namebouncer ausführen. Einer der beiden führt danach
linkto aus, der andere
linkfrom, jeweils mit Namen, IP und Port des anderen Bouncers.
Weitere nützliche Befehle:
/listlinks
/dellink <nummer>
Der Befehl
/listlinks dient dazu, alle bestehenden Links und Connections aufzulisten z.B.
/listlinks
<-psyBNC> Listing locally defined Links.
<-psyBNC> *1 -> [RCS]Lamont bnc.rcs4u.de(xxxx)
<-psyBNC> *2 -> [RCS]Hi8 bnc.rcs4u.de(xxxx)
<-psyBNC> The Link-Tree
<-psyBNC> [RCS]Axis
<-psyBNC> |-------->[RCS]Lamont
<-psyBNC> | `-------->[RCS]Bowser
<-psyBNC> `-------->[RCS]Hi8
<-psyBNC> End of Tree.
Der Befehl
/dellink dient dazu einen bestehenden Link zu löschen.
Die Syntax ist einfach,
/dellink <number> wobei man <number> durch die Nummer des Links ersetzt wird, welchen man löschen will, z.B. so:
/dellink 1
Zwei BNCs verlinken, [RCS]Axis und [RCS]Lamont.
Im folgenden wird das Linken von 2 Bouncern Schritt für Schritt beschrieben. Ihr müsst lediglich einige Variablen ( Name, IP, Port ... ) durch eure eigenen ersetzen, aber das sollte kein Problem sein.
[RCS]Axis muss nun folgende Schritte vornehmen:
/NAMEBOUNCER [RCS]Axis
/LINKTO [RCS]Lamont :(S=)bnc.rcs4u.de:xxxxx
Es ist auch möglich das BNC Linking über eine sichere SSL Verbindung zu erstellen, dazu wird "
S=" vor den Host geschrieben. Dies ist aber nur möglich wenn die oben beschriebe Zeile
PSYBNC.SYSTEM.HOST1=S=81.2.168.99 in der psybnc.conf geändert wurde.
[RCS]Lamont muss nun die folgenden Schritte vornehmen:
/NAMEBOUNCER [RCS]Lamont
/LINKFROM [RCS]Axis :bnc.rcs4u.de:xxxxx
So nun sind diese 2 User miteinander verlinkt. Mit dem Command LISTLINKS kann man sich nun alle Verbindungen anzeigen lassen. Hier ein aus Auszug aus dem Linkslist von [RCS]Lamont
<-psyBNC> Listing locally defined Links.
<-psyBNC> *1 <- [RCS]Axis bnc.rcs4u.de(xxxxx)
<-psyBNC> The Link-Tree
<-psyBNC> [RCS]Lamont
<-psyBNC> |--------<[RCS]Axis
<-psyBNC> End of Tree.
Man kann diesen Auszug wiefolgt deuten. [RCS]Lamont hat als erste Verbindung eine eingehende von [RCS]Axis.
Hier ein aus Auszug aus dem Linkslist von [RCS]Axis
<-psyBNC> Listing locally defined Links.
<-psyBNC> *1 -> [RCS]Lamont bnc.rcs4u.de(xxxxx)
<-psyBNC> The Link-Tree
<-psyBNC> [RCS]Axis
<-psyBNC> `-------->[RCS]Lamont
<-psyBNC> End of Tree.
Man kann diesen Auszug wie folgt deuten. [RCS]Axis hat als erste Verbindung eine ausgehende zu [RCS]Lamont.
Natürlich haben die Bouncer-Links auch Einträge in der Konfigurationsdatei psybnc.conf . Nachfolgend wollen wir uns einmal die entsprechenden Einträge ansehen:
Für den Befehl
/namebouncer ist der entsprechende Eintrag in der psybnc.conf:
PSYBNC.SYSTEM.ME=[RCS]Axis , wobei [RCS]Axis hier jetzt ein Beispiel für den Namen ist, den man dem Bouncer gegeben hat
Die Links haben das Format
LINKS.LINKx.parameter=wert. Es gibt pro Link 7 Einträge in der psybnc.conf. Nachfolgend handelt es sich um den ersten Link (1) , wie man an LINKS.LINK
1 erkennt. alle weiteren haben das selbe Format.
LINKS.LINK1.PORT=xxxxx gibt den Port des Bouncers an, zu dem man connecten will.
LINKS.LINK1.NAME=[RCS]Axis ist der eigene Name (muss übereinstimmen mit dem Wert von PSYBNC.SYSTEM.ME)
LINKS.LINK1.HOST=bnc.rcs4u.de ist der Host bzw. die IP des Bouncers zu dem connecten will.
LINKS.LINK1.PASS=jgrg8g0ojrogreg7r0egir ist ein Schlüssel für die Verbindung, dieser wird erzeugt wenn die Verbindung zustande kommt.
LINKS.LINK1.ALLOWRELAY=0 gibt an, ob der gelinkte Bouncer den eigenen vhost mitbenutzen darf. ( 0 für verboten, 1 für erlaubt)
LINKS.LINK1.IAM=[RCS]Lamont gibt den Namen des Bouncers an, zu dem man connectet hat.
LINKS.LINK1.TYPE=2 gibt die Art der Verbindung an.
Nun wird das Link Netzwerk um einen User, [RCS]Bowser erweitert.
Wir wollen nun die bestehende Verlinkung zwischen 2 Bouncern um einem weiteren erweitern.
[RCS]Bowser muss nun folgende Schritte vornehmen:
/NAMEBOUNCER [RCS]Bowser
/LINKFROM [RCS]Lamont :bnc.rcs4u.de:xxxxx
[RCS]Lamont muss nun die folgenden Schritte vornehmen:
/LINKTO [RCS]Bowser :(S=)bnc.rcs4u.de:xxxxx
Es ist auch möglich das BNC Linking über eine sichere SSL Verbindung zu erstellen, dazu wird "
S=" vor den Host geschrieben. Dies ist aber nur möglich wenn die oben beschriebe Zeile
PSYBNC.SYSTEM.HOST1=S=81.2.168.99 in der psybnc.conf geändert wurde.
So nun sind alle 3 User miteinander verlinkt. Mit dem Command LISTLINKS kann man sich nun alle Verbindungen anzeigen lassen.
Hier aus Auszug aus dem Linkslist von [RCS]Lamont. Auch [RCS]Axis ist miteingebunden, da die Links bei allen automatisch aktuallisiert werden, dass heißt, der neue User wird mit einem BNC verlinkt und ist nun mit allen anderen im Netz verbunden.
<-psyBNC> Listing locally defined Links.
<-psyBNC> *1 <- [RCS]Axis bnc.rcs4u.de(xxxxx)
<-psyBNC> *2 -> [RCS]Bowser bnc.rcs4u.de(xxxxx)
<-psyBNC> The Link-Tree
<-psyBNC> [RCS]Lamont
<-psyBNC> |--------<[RCS]Axis
<-psyBNC> `-------->[RCS]Bowser
<-psyBNC> End of Tree.
Nun muss man in den Internen Channel Joinen wie zum Beispiel
/join int~#planetrcs
Wichtig hierbei ist, das sich ein
int~ vor dem Channelnamen befindet.
Der Bouncer ist nur in diesem Channel, wenn man zu ihm connected hat. Sobald man off geht, verlässt er den Channel. Bei Re-Connect, joint er automatisch wieder in diesen Channel. Außerdem ist dieser Channel nur gelinkten Bouncern zugänglich.
Interner Bouncer Channel
Wie man sehen kann ist die Nickvergabe in diesem Bouncer internen Netzwerk etwas anders gestaltet. Um dem Benutzer auch ersichtlich zu machen, dass er sich in einem solchen Netzwerk befindet, werden alle Nicks außer der eigene mit "
int~" vor dem eigentlichen Nick versehen.
Nun kann man sehen das der User noch ins Pysbnc Netzwork connected hat.
/whois int~[RCS]Axis
* [int~[RCS]Axis] (axis@[RCS]Axis-psybnc.net) : psyBNC Network User
* [int~[RCS]Axis] [RCS]Axis :psyBNC Network
* [int~[RCS]Axis] End of WHOIS list.