Hilfestellung zum IRC-Zugang des psyced
Der psyced sieht es vor, dass man unter anderem mittels IRC Clients teilnehmen kann. Es gibt übrigens auch Gateways zu IRC-Netzen wodurch man aus PSYC heraus mit Teilnehmern von IRC-Netzen sprechen kann und umgekehrt.PSYC sieht nur so aus wie IRC
Nochmal vorweg - PSYC ist kein weiteres IRC-Netz und psyced keine Variante von ircd. PSYC ist eine neue Technologie, welche um Rückwärtskompatibilität zu IRC erweitert wurde. Freu Dich, dass Du Deinen Lieblings-IRC-Client beibehalten kannst. Freu Dich auch, dass Du ihn jederzeit auch durch einen PSYC oder XMPP Client ersetzen kannst, da Deine Freundschaftskonfigurationen usw. vom Server eh besser verwaltet werden.Das etwas andere Befehlszeichen
Normalerweise gibt man ja die Kommandos mit einem '/' am Anfang ein. PSYC verfügt aber über eine große Menge neuer Befehle, die IRC nicht vorsieht. Die Programmierer von Räumen können sogar spezifische Befehle in ihren Räumen definieren. Der Befehlsbestand variiert also von Raum zu Raum und PSYC-Server zu PSYC-Server. Einige IRC-Commandos sind sogar ohne Sinn und Zweck in der PSYC-Welt. Jedenfalls reichen schlaue IRC-Clients ihnen unbekannte Kommandos einfach durch an den Server, die meisten tun dies jedoch leider nicht. Aus diesem Grund haben wir uns entschieden kurzum PSYC ein zusätzliches Kommandozeichen beizubringen, welches Befehle aus beliebigen IRC-Nachrichten herausfiltert. Welches es ist, erfährt man beim Login:*** Vorsicht, "+" ist als Befehlszeichen eingestellt.Es lässt sich beispielsweise mittels
+set commandcharacter ~oder
+set cmdchar ~auf '~' ändern, sollte man mit dem voreingestellten '+' unzufrieden sein.
*** Ok. Die Variable "commandcharacter" hat jetzt den Wert "~".Sämtliche serverseitigen Befehle lassen sich dann ausführen, in dem man dieses Befehlszeichen voranstellt. Das sieht etwas ungewohnt aus, weil der Client meint, man würde mit einem Channel oder Anwender reden, aber in Wirklichkeit werden solche Nachrichten gar nicht erst als Chat/Messages interpretiert. Allerdings muss man beachten, dass man in einem Fenster tippt, welches entweder einen 'Channel' oder 'Query' enthält, damit die Eingaben überhaupt erst an den Server geschickt werden. Das Statusfenster, sofern Dein Client eines hat, ist da oft nicht kooperativ, bei irssi etwa. Unpraktisch, weil viele Ausgaben des psyced vom Client ins Statusfenster dirigiert werden. Dafür kann man bei irssi einfach '/' wie gehabt verwenden, weil er unbekannte Befehle dann durchreicht. Für den Rest der Einführung gehen wir davon aus, dass das ganze mit '+' funktioniert, die Transferleistung auf das eigene Befehlszeichen ist trivial.
Channels und Leute auf anderen Servern
Ein Kernunterschied zu IRC ist, dass PSYC Server Dir ermöglichen mit beliebigen anderen Servern zu kommunizieren ohne dass ein "Link" im IRC-Sinne bestehen muss. Dazu betrittst Du einfach einen Channel mit einer vollen Adresse statt nur einem Kurznamen, z.B. so:/join #psyc://psyced.org/@basicBeachte das vorangestellte Doppelkreuz, welches nur dazu da ist dem IRC-Client vorzugaukeln, dass es sich um einen normalen IRC-Channel handelt. Beachte auch den Schrägstrich, denn dies ist ein normaler IRC-Befehl, kein PSYC-Befehl. Dementsprechend kannst Du Personen auf entfernten Servern direkt ansprechen mittels
/msg psyc://example.int/~user Hallo!oder im Falle von Benutzern eines XMPP-Servers so:
/msg xmpp:user@example.int Hallo!Wenn Dir das zu lang ist kannst Du allerdings Kurznamen für diese Adressen selbst vergeben. Schau im Handbuch nach den +alias und +unalias Befehlen, oder probier sie einfach aus. In PSYC beziehen sich Kurznamen nicht auf das gesamte Netzwerk, sondern nur auf Dich persönlich. Zukünftige Server werden deshalb diese Kurznamen gleich automatisch zuweisen.
Umgangssprache
Irritiert von deutschen Meldungen? Kein Problem, der Server ist fließend mehrsprachig. Derzeit kann man mit+set language enenglisch einstellen, oder eben de für deutsch. Italienisch kommt demnächst. Du kannst auch helfen Sprachübersetzungen beizutragen.
Der Begrüßungsraum
Nicht erschrecken! Den Begrüßungsraum gibt es nur für Neulinge - in PSYC ist jeder, der keine Identität (UNI) hat, ein Newbie. Neue Gäste sollen sofort auf Gesprächspartner stoßen, daher diese Maßnahme. Ebenfalls ungewohnt, Räume können in PSYC eine+history
führen, das ist dasselbe wie die +lastlog
einer Person (es
ist technisch sogar die gleiche Datenstruktur), nur dass sie im Raum geführt
wird. Aus diesem Grund werden einem zur Begrüßung die letzten Zeilen des
vorangegangenen Gesprächs abgespult. Dies passiert nur in besonders
öffentlichen Räumen, welche dann meistens auch
in irgendwelche Websites integriert
sind. Privaträume haben sowas selbstverständlich nicht, und es liegt in der
Hand des Raumprogrammierers diese Funktion zu verwenden oder nicht
(Man kann zudem normalerweise als Nutzer Zeilen aus der History löschen
lassen mittels +histclear
Befehl, falls man nachträglich meint
zuviel Privates geplaudert zu haben).
Das Anlegen einer Identität
Sobald man registriert ist, merkt sich psyced in welchem Raum man zuletzt war (bei mehreren Räumen jener, in dem man zuletzt etwas gesagt hat), welcher auch auf einem ganz anderen Server sein kann als Deine Identität. Ja Dein Raum könnte sogar ein perl-script sein. Auch das Versenden von Privatnachrichten erlauben wir Neulingen nicht - das ist ein wenig wie IRCen im "restricted" Modus. In PSYC brauchen wir keine wilden Annahmen über IP-Adressen machen um die Vertrauenswürdigkeit von Chattern einzuschätzen - wir beurteilen sie lieber nach ihrer virtuellen Identität. Also schnell eine zulegen. Das kann auf jedem PSYC-Server unterschiedlich kompliziert sein, bei uns ist es (noch) erstaunlich einfach:+register <deinNeuesPasswort>und schon bist Du wer, Du brauchst nicht einmal neu einzuloggen. Aber vielleicht werden wir das eines Tages komplizierter gestalten müssen. Das Internet ist ja dann und wann böse. Jedenfalls bedeutet die Registrierung und die PSYC-Identität nicht zwingend, dass Du Deine real-life-Identität preisgibst. Du stellst nur sicher, dass niemand anderes unter dieser Adresse unterwegs ist. So lange Du nichts gesetzlich moralisch verwerfliches tust, kannst Du nach wie vor "anonym" sein mit Deiner neuen virtuellen Identität. Was sage ich.. für IRCer ist dieses Privileg ja genaugenommen was Neues. Im IRC ist es ja verpönt nicht zurückverfolgbar und transparent zu sein. Wir haben stattdessen seit Jahren gute Erfahrungen damit, Menschen ihre Zeit zu lassen wie schnell sie ihre neue Chat-Identität mit ihrem realen Leben in Verbindung bringen wollen. Es ist falsch und reaktionär anzunehmen, dass nur Bösewichte etwas zu verbergen hätten. Sollte Dein Nickname übrigens auf diesem Server schon belegt sein, dann nimm doch einfach einen anderen Server oder richte Dir einen eigenen ein.
Nicknames ändern
geht in der Regel nicht. So wie das IRC-Protokoll Namensänderungen definiert, ist mit anderen Chatsystemen einfach nicht in Einklang zu bringen. Nur in IRC kann man seine Identität wechseln, dabei aber die Channels und die darin anwesenden Personen beibehalten. PSYC sieht zwei andere Methoden der Namensänderung vor, aber beide funktionieren für Dich nicht, weil ein IRC-Client sie falsch verstehen würde:- Man kann mit +nick in bestimmten Räumen mit aktiviertem "Masquerading" zur Unterhaltung seinen Namen ändern. Die neuen Nicknames gelten dann aber nur in diesem Raum, dienen nur der Gestaltung und sind nur für nicht-IRCer sichtbar. Der identitätsstiftende eigentliche Name wird nicht geändert.
- Es gibt auch einen +connect Befehl um wirklich die Identität zu wechseln, bringt aber nichts, weil der IRC-Client es erst begreift, wenn man ihm die Verbindung zum Server kappt.
Presence
Du kannst den guten alten/awayBefehl auch in PSYC verwenden, allerdings besitzt PSYC ein ausgefeilteres Presence-Modell welches auch Befehle wie
+busyoder
+vacation im Urlaub auf'm Marsannimmt.
Passwörter
Die Chat-Passwörter werden unverschlüsselt gespeichert. Andere Zugangsformen wie PSYC und XMPP benötigen das so um mittels cryptographischem Hash einloggen zu können. Setzen tut man das Passwort mit+set password <DeinPasswort>oder einfach +reg wie +register. Danach verhält sich der Server beim Verbinden wie ein passwortgeschützter IRC-Server, connecten kann man via
/server <DeinPsyced> 6667 <DeinPasswort>oder man trägt es irgendwo ein, bei seinem IRC-Client. Hier ein Bild für mirc-Benutzer. Falls Du irssi stattdessen verwendest, probier doch
/server add -ircnet psyc <DeinPsyced> 6667 <DeinPasswort>und /save. Für TLS-verschlüsseltes IRC-Protokoll verwende Port 9999.
Kein Ärger mehr mit Unicode
Dein Client sendet Umlaute in ISO-8859-15 oder in UTF-8? Andere Server lassen Dich mit so etwas ja im Stich, aber bei uns konvertiert der Server Deine Kodierung für Dich. Lediglich sagen musst Du es ihm, weil IRC dafür keinerlei Negotiation vorsieht. Sende einfach+set charset <Zeichensatz>wobei <Zeichensatz> von Hause aus UTF-8 ist, Du daher im Problemfall wohl ISO-8859-15 willst. psyced merkt sich diese Einstellung für Deinen Usernamen, solltest Du also Client oder Zugangsart wechseln, kann Dir passieren, dass Du diese Einstellung nochmal ändern musst.
Versionsabfrage
Warum fragt der Server beim Einloggen nach der Versionsnummer? Was erlaubt der sich? Damit auch XMPP-Anwender sich nach Deiner Client-Version erkundigen können, so wie Du es mit ihrer machen kannst, war es zu kompliziert diese Versionsabfragen herkömmlich als CTCP zu realisieren. Also muss der Server diese Info im voraus erfahren. Es gibt leider keine dezentere Art und Weise diese Abfrage im IRC zu gestalten. Ob Du Deinen Client tatsächlich seinen Namen und Versionsnummer übertragen lässt, ist nach wie vor Dir überlassen.Bouncer
... sind eigentlich überflüssig. Nachrichten werden vom PSYC-Server während Deiner Abwesenheit gespeichert.*** Keine Nachrichten vorhanden.und so sieht es aus wenn keine neuen da sind. Ist nur die Frage, wo Dein IRC-Client das hintut (Status-Fenster?). Ist eine Person nicht da, werden Nachrichten an Sie trotzdem gespeichert und beim Verbinden zugestellt. Manche PSYC-Server gehen da sogar nen Schritt weiter: wenn man mit
+set email <adr@sse>eine E-Mail-Adresse einspeichert, liefern sie die Nachrichten per E-Mail aus. Manche von uns bleiben aber trotzdem non-stop online, weil wir auch die Nachrichten nicht verpassen wollen, die der psyced nicht speichert.
Ignorieren
Manchmal muss man einfach jemanden ignorieren. Man könnte auch von vornherein Nachrichten von fremden Personen verbieten (siehe Anleitung), aber das ist eher eine Lösung für unbedarfte Personen, oder solche die nur zielgerecht mit ganz bestimmten anderen kommunizieren wollen. Jedenfalls keine typische IRCer. IRCer ignorieren.Wenn man also jemanden ignorieren will, so kann das gern der Server stellvertretend erledigen:
+ig nickund schon antwortet der Server mit
*** Kein Wort mehr von "nick".Funktioniert allerdings nur im Bezug auf Privatnachrichten.
Sichtbarmachen funktioniert mit
+show nickwas bestätigt wird mit
*** Normale Darstellung von "nick".
Freunde statt Notify
Freunde sind etwas, das es schon lange vor der Einführung von Buddy Lists gab. Nur basiert die Standard-IRC-Methode dafür auf einem kontinuierlichen Polling (Abfrage), ob ein bestimmter Nutzer online ist. Das ist ineffizient. psyced pusht die Präsenz von Freunden selbstständig zum Client. Ebenso benachrichtigt es, wenn diese die Onlinewelt verlassen. (Manche IRC-Netze ermöglichen das WATCH'en von Personen serverseitig. Die Betroffenen haben nun erst recht keine Möglichkeit diese Information zu steuern, und nur ihren Freunden zukommen zu lassen. Der einzige Schutz der Privatsphäre besteht darin, nicht die eigene Identität anzunehmen, sondern den Nickname zu wechseln. Das ist Unsinn, in PSYC erfahren nur Freunde wann man da ist, daher braucht man nicht einen anderen Namen anzunehmen und sich keine Sorgen über 1984-Überwachung zu machen.) Mit+friend nickerklärt man nick die Freundschaft was dieser erwidern kann.
Man sieht dann beim connecten wer von den Freunden anwesend ist
Erreichbare Freunde: xx [00:30], yy[05:32]und wie lange die schon am idlen sind. Ausserdem kriegt man Benachrichtigungen wenn Freunde kommen.
*** Benachrichtigung: nick hat die Welt betretenUnd so kriegt man neue Freunde...
*** nick möchte mit Dir Freundschaft schliessen.
*** Freundschaft mit nick angenommen.Freundschaften kündigt man mit
+fr -nickund erhält die Bestätigung
*** nick kündigt die Freundschaft mit Dir.
Räume abonnieren statt Autojoin
Standard-IRC-Vorgehensweise ist es ja, Räume, in denen man dauernd sein will, beim Start mit dem Client zu betreten (Autojoin). Das ist unpsycig: Gruppenzugehörigkeiten sind Sache der Identität, nicht der Zugangssoftware. Der psyced kennt Abonnements von Räumen und Gruppen in denen man sein will und lässt einen die automatisch betreten, ohne dass der Client dies wünschen muss.Funktioniert wie folgt:
+sub roomnameoder
+subscribe roomnameum einen Raum zu abonnieren. Dies führt dazu, dass man den Raum betritt.
Das kündigen des Abonements erfolgt mittels
+unsub roomnameoder
+unsubscribe roomnamewas auch zum Verlassen des Raumes führt.
Dabei darf das "#" nicht vor dem Raumnamen sein. Räume in PSYC brauchen kein Prefix wie "#" damit ein positionsabhängiger Parser erkennt dass sie ein Raum sind. Die IRC-Schnittstelle hängt überall das "#" davor wo es kann, wobei sie nicht jeden PSYC-Befehl kennt. Wir entschieden uns für "#", weil jeder IRC-Client diesen Channel-Typ kennt, aber das Verhalten von PSYC-Räume ist eh von Raum zu Raum verschieden, daher wären Kennzeichnungssymbole zur Festlegung der Raumschnittstelle sowieso vollkommen unzulänglich.
Wie man bevorzugt spricht...
Ist natürlich toll, wenn man nicht nur redet, sondern das etwas stylisch macht. (Da der Erfinder von PSYC seinerzeit auch den /me Befehl von IRC erfunden hat war es ja wohl naheliegend das ACTION-Konzept in PSYC auszubauen). Fragen werden automatisch als CTCP ACTION mit "fragt:+set speakaction aktionswortund die Bestätigung
*** Ok. Die Variable "speakaction" hat jetzt den Wert "aktionswort".Man selbst sieht es zwar nicht, weil IRC-Clients ihr gesagtes immer direkt in das dafür vorgesehene Fenster schreiben (was unter Umständen zu Verwirrung führt über die genaue zeitliche Abfolge einer Konversation), aber andere. "speakaction" ermöglicht auf nette Art einen persönlichen Stil des Chattens zu präsentieren. Manchen konservativen Chattern liegt soviel Gestaltungsfreiraum jedoch nicht, die können mit
+set visiblespeakaction offdie Ausgabe von speakactions unterbinden wodurch alles wieder brav ircig aussieht.
Was psyced sonst noch so kann
Welche Befehle der psyced eigentlich sonst noch so beherrscht erfährt man in einer der Anleitungen auf http://help.pages.de/.Was psyced kann, was Du nicht brauchst
Einige Befehle und Funktionen sind für IRCer doppelt gemoppelt. Das liegt daran, dass wir für telnet und webchats die gleichen Komfortfunktionen haben wollten, die ein IRC-Client typischerweise bietet. Aus dem Grund kann psyced nicht nur serverseitig Freundschaften, Channels und Darstellungsoptionen (ignore, highlight) handhaben, sondern führt auch eine +lastlog und beherrscht +query. Letzteres haben wir für IRCer aber abgeschaltet, da es nur Verwirrung stiften würde.Freu Dich
dass Du folgende Meldungen höchstens als Betreiber eines IRC-Gateways noch zu sehen bekommst: » Server is currently in split-mode. You will NOT get channel operator status on new channels. « Heute meldet IRCnet das schon den ganzen Tag lang.. den ganzen Tag lang im gesamten Netz kein voll funktionsfähiges conference control.. einfach weil ein DoS-kiddie das beschlossen hat. Sowas ist für Dich jetzt Geschichte, puh! Wenn jemand beschließt was gegen PSYC-Knoten Z zu haben, betrifft das die Knoten A-Y nur am Rande. Danke für die Aufmerksamkeit. Jetzt kommt nur noch ein Aufruf an die Programmierer unter uns.Appendix: Wishlist for IRC client coders
If you are the developer of an IRC client, here are a few suggestions how to make your client more PSYC-friendly!- Ensure you already allow for @ in nicknames (see paragraph above)
- Please allow for passwords to be entered interactively like ircII does. This means the 464 message code (ERR_PASSWDMISMATCH) should somehow prompt the user to input his password. This will not conflict with "server passwords" as used by regular IRC networks. You could of course limit such password prompts or pop-ups to just one per server connection, to ensure the server is not trying to attack you (but if your home server is not your friend, why don't you use an other?).
- Please allow for unknown user commands to be passed on transparently
to the server, like when the user types /subscribe simply send
subscribe
to the server. Other IRC server developers will appreciate this change, too. - Please allow for echoing of user input to be switched off, ideally as
soon as you find out you are connecting to a PSYC server. By issueing
SET ECHO ON
you can make the server send you echoes of your messages as soon as they have reached the destination, which makes them much more useful. In many cases they will also reflect the order in which the other group members have received the message, making group conversation more consistent. - Feel welcome to extend your menues and buttons to support the psyced commands as defined in the psyced user manual. You don't have to implement a native PSYC client to already be a lot more PSYC-friendly.
- Please consider supporting the PSYC PRESENCE notices and commands,
especially if you keep contacts in an extra list or view. The way PSYC handles
presence is much more consistent and efficient than IRC's ISON. Also
PSYC will give you the ability to get presence information from people
anywhere on PSYC and networks which are gatewayed to PSYC such as
XMPP. You may want to help your users put together the
uniforms for such "remote" users, and manage the server-side namespace
using the
ALIAS
command. - If you have support for irc-URLs you may also want to support psyc: and xmpp: URLs, now that you have an identity which permits you to talk to any such uniform when the user clicks it. We would particularely be enchanted if your users are empowered to click on a psyc:-link on a webpage in their browser, and *zing* find themselves talking to the recipient. Consider that PSYC is the only chat and communications protocol which was designed with web integration in mind - psyc: URLs allow you to deliver the same complex amount of information with a single click as http-URLs do when issued from a form or similar. This can lead to a whole new breed of communications-aware web-applications.
- PSYC servers will not send you any IRC PING requests. That's because PING reimplements what TCP already provides with SO_KEEPALIVE, with the difference that IRC PING is not dialup-router-compatible. Let me explain: A good dialup router will let you keep your applications open and connected to the internet even if your dialup line goes down to save money. As soon as something happens on the TCP link the connection will be fired up again. This works for an ircII client in a remote screen(1), but it doesn't work for a local IRC client and a remote IRC server. Even if you think hardly anyone uses such dialup lines today, PING is still the ugly redo of something which TCP already supports itself. If you agree with us, simply disable the creation of PINGs in your client. If you think PINGs are useful for timing the reaction speed of the server, remember you have to initiate them.
- PINGing remote entities on the PSYC network is not supported. That may even be useful one day, although the remote echoes already provide a way to find out if there is a problem reaching the other side. It's also easier to use, just chat and you get echoes. ;)
SET PSYC ON
you can let
us know that we can use extended IRC protocol rather than strictly RFC.
Then again, maybe it's not so bad to implement a PSYC parser after all,
since some protocol features are still only available in native PSYC.
Thank you for supporting PSYC. It will reward you with a
better chat life. :)