Pichat Chatkonfiguration
Letzte Aktualisierung 21/Jul/2010 von Mark Seuffert
Inhalt:
1. Einführung2. Grundvoraussetzungen
3.1. Webserver
3.2. Webchat
3.3. Webchat-Vorlagen
3.4. Webchat-Textstrings
3.5. Webchat-Stylesheets
4. Befehlszeilenargumente
5.1. Pichat INI-Datei
5.2. Kontaktdateien
5.3. Farbschemadateien
5.4. Grafikdateien
5.5. Sprachdateien
5.6. Chataktionen
6. Status, Statistiken und Logdateien
1. Einführung
Erstelle dein eigenes Chatsystem. Man kann den Chat an eigene Wünsche angleichen,
egal ob man nur zuhause chaten will oder einen öffentlichen Chatserver betreibt.
Dieses Dokument richtet sich an fortgeschrittene Benutzer und Administratoren die
ihren Chat individuell einstellen möchten und erklärt wie man seine Chatdienste anpasst
und verbessert.
2. Grundvoraussetzungen
Pichat ist eine Software um zu kommunizieren und Informationen auszutauschen. Die
primären Ziele sind Einfachheit, Komfort, Privatsphäre, Stabilität und der freie
Austausch von Informationen. Mit diesen Eigenschaften eignet es sich als privater
Chat für Freunde, als Community-Chatsystem und zur Kommunikation im Unternehmen.
Eine Eigenschaft von Pichat ist das Anbieten von mehreren Protokollen und Formaten,
welches die Integration und den Zugriff auf ein Chat erleichtern.
Ein Chatdienst kann sowohl im lokalen Netzwerk (LAN) als auch im Internet
angeboten werden, für letzteres benötigt man eine bestehende Internetverbindung.
Beim Betreiben eines öffentlichen Chats im Internet sollte man vorsichtig sein, es
wird nicht empfohlen einen öffentlichen Chatdienst laufen zu lassen ohne
ordentlichen Schutz! Siehe auch Sicherheitshinweise.
3.1. Webserver
Es gibt einen integrierten Webserver in Pichat den man zum Datenaustausch verwenden
kann. Man muss nichts konfigurieren um den Webserver und den Webchat zu benutzen,
möglicherweise will man aber seine Homepage und seinen Webchat anpassen.
Ein Webserver hat ein so genanntes Wurzelverzeichnis, nur Dateien innerhalb dieses
Verzeichnisses sind für andere erreichbar. Man findet es im im Pichat-Verzeichnis
im Heimatverzeichnis, bei Windows %APPDATA% im Windows-Explorer eingeben. Kopiere
Dateien die du allen Benutzer anbieten willst in ein Verzeichnis (Standard ist
"webserver/public") und Dateien die du nur registrierten Benutzer anbieten willst in
ein anderes (Standard ist "webserver/private"). Das ist praktisch wenn man Dateien mit
seinen Freunden austauschen will, aber gleichzeitig sicher gehen möchte dass private
Dateien in einem engeren Kreis bleiben. Natürlich kann man seinen Webserver auch ganz
anders organisieren, alle Webserverorte kann man im [Server] Abschnitt der Pichat
INI-Datei einstellen.
| Beispiele: | Auf den eigenen Webserver greift man zu mit... |
| http://127.0.0.1 | |
| http://myserver |
Das erste Beispiel greift auf den eigenen Computer zu. Im zweiten Beispiel ist
"myserver" die öffentliche Adresse deines Webservers. Das könnte der Computername
im lokalen Netzwerk sein oder ein echter Rechnername wie "pichat.no-ip.org".
Der Webserver protokolliert alle Zugriffe in einer Logdatei mit dem "Combined Logfile Format"
welches von vielen Webserver benutzt wird. Die Logdatei beinhaltet heruntergeladene
Dateien, Referer (woher die Anfrage kam), Useragent (welches Programm die Anfrage
gestellt hat) und weitere Details. Informationen über aktuellen Datenverkehr und
Statistiken findet man unten im Abschnitt 6.
3.2. Webchat
Pichat hat einen eingebauten Webchat mit Login-Seite.
Benutzer können dort ihren Namen eingeben und dann den Chat betreten. Als
Alternative ist es auch möglich den Benutzer mit einem Link zum Webchat direkt
einzuloggen.
Der Webchat funktioniert mit fast jedem Webbrowser, keine Plugins notwendig. Die
Benutzer erhalten automatisch die beste Funktionalität für ihren Webbrowser, so
wie streamende Chatausgabe bei modernen Browser und einfache Textausgabe bei
Textbrowser. Wo es unterstützt wird benutzt der Webchat CSS, DOM und JavaScript.
| Syntax: | ort?schlüssel=wert[&schlüssel=wert ...] | ||||||||||||||||||||||||||||||||||||||||||||||
| Argumente: |
| ||||||||||||||||||||||||||||||||||||||||||||||
| Die folgenden Schlüssel werden beim Webchat unterstützt: | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
| Argumente sind entweder Text oder Zahl. Ein "boolscher" Wert steht | |||||||||||||||||||||||||||||||||||||||||||||||
| entweder für 0 (nein/aus) oder 1 (ja/an). | |||||||||||||||||||||||||||||||||||||||||||||||
| Beispiele: | http://myserver/chat | ||||||||||||||||||||||||||||||||||||||||||||||
| http://myserver/chat/connect?nickname=Moak | |||||||||||||||||||||||||||||||||||||||||||||||
| http://myserver/chat/connect?nickname=Moak&chatroom=flirt |
Schicke einem Freund einen Link per Email um den Webchat mit einem Klick zu
betreten. Dabei kannst du den Namen deines Freundes angeben (z.B. Moak) wie in den
Beispielen oben gezeigt. Das dritte Beispiel zeigt wie man einen Namen und einen
Chatraum angibt. Bitte ersetze "myserver" mit der öffentlichen Adresse deines
eigenen Servers.
Bemerkungen: Werte mit Leerzeichen oder Sonderzeichen müssen wie üblich
URL-kodiert werden, beispielsweise wie hier: "spezielle%20Zeichen". Für alle
Webchatseiten gilt der gleiche Syntax, die Argumente "colorscheme" und "language"
können bei fast allen Webchatseiten angewandt werden.
3.3. Webchat-Vorlagen
Der Webchat kann vollkommen frei mit Hilfe von HTML-Vorlagen angepasst werden.
Pichat kommt mit eingebauten Vorlagen, um diese zu ändern kopiert man neue Dateien
in das Webchatverzeichnis (Standard ist "~/pichat/webserver/chat"), siehe [Server]
Abschnitt in der Pichat INI-Datei. Nur Vorlagen aus diesem Verzeichnis werden verwendet.
Hier ist eine Liste mit den wichtigsten Vorlagen:
| chat_help.html | Hilfeseite |
| chat_login_closed.html | Login-Seite wenn Chat geschlossen |
| chat_login_members.html | Login-Seite wenn Chat nur für Mitglieder |
| chat_login_members_error.html | Login-Seite nach falschem Login |
| chat_login_open.html | Login-Seite wenn Chat offen für alle |
| chat_login_open_error.html | Login-Seite nach falschem Login |
| chat_logout.html | Logout-Seite |
| chat_session_error.html | Seite für veraltete oder fehlerhafte Session |
| frame_browser_dynamic.html | Framestart für normale Webbrowser |
| frame_browser_simple.html | Framestart für einfache Webbrowser |
| frame_browser_unsupported.html | Framestart für nicht unterstützte Webbrowser |
| frame_output.html | Frame mit streamender Chatausgabe |
| location_home.html | Standard-Homepage |
| location_media.html | Chatmedienseite für Grafiken und Geräusche |
| location_status.html | Chatstatusseite |
| server_directory.html | Webserver-Verzeichnisinhalte |
| server_errorX.html | Webserver-Fehlerseiten (X = HTTP-Statuscode) |
| stylesheet_base.css | die Mutter aller Stylesheets |
| stylesheet_layout.css | Webchat-Layout |
Es gibt typischerweise noch weitere Dateien die von den Startseiten verwendet
werden, z.B. für eine Navigationsleiste oder zum Erstellen eines eigenen Layouts.
Es empfiehlt sich einen Blick auf vorhandene Vorlagen-Sammlungen zu werfen und
mit einer als Beispiel anzufangen. Man muss nicht alle Vorlagen auf einmal
überschreiben (es gibt über 20 eingebauten Vorlagen), es reicht schon einzelne
Dateien zu überschreiben.
Für Beispiele siehe Pichat Downloads.
Alle Webchatseiten werden dynamisch vom einem eingebauten Parser erzeugt. Dieser
Parser ist der zentrale Punkt um ein Webchat zu konfigurieren. Er sucht in
Vorlagen nach Textstrings die mit einem "$" oder "§" Zeichen beginnen (z.B.
$nickname oder §nickname) und ersetzt sie dann mit Textargumenten. Man kann
Argumente entweder durch Anhängen an die URL oder HTML-Formulare angeben.
Argumente sind in zwei Kodierungen erhältlich, HTML-kodiert (für "$" Textstrings)
und URL-kodiert (für "§" Textstrings).
Der Chat bietet zusätzliche Argumente im Parser an:
(Mit * markierte Argumente gibt es sowohl HTML- als auch URL-kodiert)
(Mit * markierte Argumente gibt es sowohl HTML- als auch URL-kodiert)
| $chat_alternate_stylesheets | Farbschemas als Stylesheets, mehrere Zeilen | |
| $chat_browser_type | * | erkannter Browsertyp |
| $chat_chatroom_default | * | Name des Standard-Chatraums, der Chatservereingang |
| $chat_chatroom_banned | * | Name des Chatraums für verbannte Benutzer |
| $chat_colorscheme | * | erkanntes Farbschema |
| $chat_colorscheme_graphicsset | * | Grafikset des Farbschemas |
| $chat_comment | Kommentar, Text in Klammern | |
| $chat_directory_name | Verzeichnisname | |
| $chat_default_arguments | Standardwerte, Komma getrennte Liste in Klammern | |
| $chat_forward_arguments | * | empfangene Argumente für HTML-Formulare oder Links |
| §chat_forward_arguments_cdata | empfangene Argumente für JavaScript-Links | |
| $chat_forward_not | nicht weiterleiten, Komma getrennte Liste in Klammern | |
| $chat_interests | Liste mit Interessen | |
| $chat_language | * | erkannte Sprache, ISO639 |
| $chat_language_charset | * | Zeichensatz der Sprache (z.B. ISO-8859-1) |
| $chat_location_chat | * | Webserverort für Webchat |
| $chat_location_media | * | Webserverort für Grafiken und Geräusche |
| $chat_location_status | * | Webserverort für Statusseite |
| $chat_location_protected | * | Webserverort für Passwort gesicherte Dateien |
| $chat_server_http_root | * | Webserver-Wurzelverzeichnis |
| $chat_server_name | Chatservername | |
| $chat_server_version | Chatserver-Versionsnummer | |
| $chat_server_welcome | Chatserver-Willkommensmeldung | |
| $chat_web_page_header | Kopfzeile für Webseiten | |
| $chat_web_page_footer | Fußzeile für Webseiten | |
| $http_location | * | Ort aus der HTTP/HTTPS-Anfrage |
| $http_referer | * | Vorgängeradresse aus der HTTP/HTTPS-Anfrage |
| $http_remote_addr | * | IP-Adresse vom Client/Proxy |
| $http_server | * | Serveradresse aus der HTTP/HTTPS-Anfrage |
Weitere Argumente in einer Webchatsession:
| $chat_client_chatroom | * | aktueller Name des Chatraums |
| $chat_client_colorscheme | * | aktueller Name des Farbschemas |
| $chat_client_language | * | aktuelle Sprache, ISO639 |
| $chat_client_nickname | * | aktueller Name des Benutzers |
| $chat_client_refresh | Text "refresh" oder "norefresh" | |
| $chat_client_refresh_intervall | Intervall für Seitenaktualisierungen (Sekunden) |
Es gibt noch mehr Argumente bei Benutzung des erweiterten/extended Parsers:
| $chat_activity | Chataktivität der letzten Stunde (Prozent) | |
| $chat_activity_level | Chataktivität als Text (niedrig/mittel/hoch) | |
| $chat_chatroom_number | Anzahl permanenter Chaträume | |
| $chat_chatroom_nameX | * | Chatraumname (X = Nummer des permanenten Chatraums) |
| $chat_chatroom_topicX | Chatraumthema (") | |
| $chat_chatroom_user_listX | Chatraumbenutzer (") | |
| $chat_chatroom_user_numberX | Chatraumbenutzerzahl (") | |
| $chat_chatroom_user_whoX | Chatraumname und Benutzer (") | |
| $chat_chatroom_user_infoX | Chatraumname und Benutzerzahl (") | |
| $chat_chatroom_user_status | Chatraumnamen und Benutzer, mehrere Zeilen | |
| $chat_port_chat | Port des Chatservers (TCP/UDP) | |
| $chat_port_http | Port des Webservers (TCP) | |
| $chat_server_dedicated | Chat läuft als dedizierter Server | |
| $chat_server_mode | Chatservermodus (open/members/closed) | |
| $chat_server_status | Chatserverstatus, mehrere Zeilen | |
| $chat_server_status_short | Chatserverstatus, kurze Zusammenfassung | |
| $chat_server_status_ports | Chatserverstatus, Portnummern | |
| $chat_server_status_users | Chatserverstatus, Benutzerstatistiken | |
| $chat_server_status_traffic | Chatserverstatus, Datenverkehrstatistiken | |
| $chat_server_status_uptime | Chatserverstatus, Laufzeit | |
| $chat_server_uptime | Chatserverlaufzeit (Sekunden) | |
| $chat_traffic_total | gesamter Datenverkehr, Chat und Web | |
| $chat_traffic_received | empfangener Datenverkehr, Chat und web | |
| $chat_traffic_sent | verschickter Datenverkehr, Chat und Web | |
| $chat_traffic_chat_received | empfangener Datenverkehr, Chatserver | |
| $chat_traffic_chat_sent | verschickter Datenverkehr, Chatserver | |
| $chat_traffic_web_received | empfangener Datenverkehr, Webserver und Webchat | |
| $chat_traffic_web_sent | verschickter Datenverkehr, Webserver und Webchat | |
| $chat_traffic_compression | Komprimierungsrate (Prozent) | |
| $chat_traffic_compression_level | Komprimierungsrate als Text (niedrig/mittel/hoch) | |
| $chat_user_number | aktuelle Benutzerzahl | |
| $chat_user_peak | höchste Benutzerzahl seit Serverstart | |
| $chat_user_max | maximal erlaubte Benutzerzahl | |
| $chat_user_served | Anzahl Benutzer bisher hiergewesen |
| Syntax: | parser?file=filename[&schlüssel=wert ...] | |||||||||
| parser-extended?file=filename[&schlüssel=wert ...] | ||||||||||
| Argumente: |
| |||||||||
| Beispiele: | http://myserver/chat/parser?file=test.html | |||||||||
| http://myserver/chat/parser?file=test.html&status=hello | ||||||||||
| http://myserver/chat/parser-extended?file=chat_server.rss |
Das erste und zweite Beispiel parsen eine HTML-Datei. Das dritte Beispiel ruft
den erweiterten Parser auf um einen RSS-Feed (XML-Format) zu erzeugen. Bitte
ersetze "myserver" mit der öffentlichen Adresse deines eigenen Servers.
Bemerkungen: Schlüssel ohne Werte werden ignoriert. Ein Schlüssel mit dem
Anhängsel "_checkbox" fügt einen weiteren Schlüssel ohne das Anhängsel hinzu.
Falls es mehrere Schlüssel mit dem selben Namen gibt dann gewinnt der erste.
Werte die an die URL angehängt werden und Leerzeichen oder Sonderzeichen
beinhalten müssen wie üblich URL-kodiert werden, beispielsweise wie hier:
"spezielle%20Zeichen". Der Parser arbeitet mit allen zeilenbasierend Textdateien,
man ist nicht auf HTML-Dateien festgelegt. Um das "$" oder "§" Zeichen in der
geparsten Ausgabe zu erhalten kann man "$char" or "§char" in der Vorlage
benutzen. Um bösartiges Kodeeinschmuggeln (Cross Side Scripting) zu verhindern
werden alle Eingaben vom Browser genaustens überprüft, die Eingaben sind sowohl
HTML- als auch URL-kodiert erhältlich.
3.4. Webchat-Textstrings
Das Webchat bietet Textstrings für Webseiten an, dabei wird die Sprache des
Benutzers erkannt und Texte in der jeweiligen Sprache ausgegeben. Alle Textstrings
sind in einer Sprachdatei definiert (Standard ist "~/pichat/pichat_webserver_strings.txt"),
siehe [Server] Abschnitt in der Pichat INI-Datei.
Eine Sprachdatei kann mehrere Abschnitte enthalten, jeder Abschnitt beinhaltet
eine Sprache, Abschnitte die nicht mit "Language" beginnen werden ignoriert.
Jeder Sprach-Abschnitt beginnt mit [Language name], wobei "name" für die
internationales Abkürzung steht, z.B. "de", "en" oder "sv" (ISO639). Ein
Sprach-Abschnitt selbst besteht aus Textzeilen im Format Schlüssel=Wert.
Textstrings sind im Parser vorhanden als Argumente die mit einem "$" Zeichen
beginnen (z.B. $text). Alle Textstrings werden HTML-kodiert. Der Parser sucht
in Vorlagen nach Textstrings die mit einem "$" oder "§" Zeichen beginnen und
ersetzt sie dann mit Textargumenten, für weitere Informationen siehe oben.
| Beispiel: | [Language en] |
| text_string=This is an example text | |
| text_fun=Coffee, pizza, lasagna | |
| [Language de] | |
| text_string=Dies ist ein Beispieltext | |
| text_fun=Kaffee, Pizza, Lasagne | |
| [Language sv] | |
| text_string=Detta är ett exempel text | |
| text_fun=Kaffe, pizza, lasagne |
Dieses Beispiel definiert zwei Textstrings in Englisch, Deutsch und Schwedisch.
Im Parser sind sie vorhanden als $text_string und $text_fun.
Bemerkungen: Es werden nur Sprachen geladen die vom Server unterstüzt werden,
siehe Abschnitt 5.5. Bei einer unbekannten oder fehlenden Sprache werden englische
Textstrings benutzt.
3.5. Webchat-Stylesheets
Das Webchat bietet mehrere Stylesheets mit Farbinformationen an. Jedes Stylesheet
kann mit Hilfe einer CSS-Datei erweitert werden. Um eine CSS-Datei hinzuzufügen
kopiert man sie in das Webchatverzeichnis (Standard ist "~/pichat/webserver/chat"),
siehe [Server] Abschnitt in der Pichat INI-Datei. Nur Stylesheets aus diesem
Verzeichnis werden verwendet.
| Syntax: | stylesheet_colorscheme_name.css | ||||||
| ort/stylesheet?colorscheme=name | |||||||
| Argumente: |
| ||||||
| Beispiele: | stylesheet_colorscheme_night.css | ||||||
| http://myserver/chat/stylesheet?colorscheme=night |
Das erste Beispiel zeigt den Dateinamen einer Stylesheet-Erweiterung für das
"Nacht" Farbschema an. Das zweite Beispiel zeigt die URL des resultierenden
Stylesheets an. Bitte ersetze "myserver" mit der öffentlichen Adresse deines
eigenen Servers.
Bemerkungen: Stylesheets werden für alle vorhandenen Farbschemas zur Verfügung
gestellt, für weitere Informationen zu Farbschemas siehe unten in Abschnitt 5.3.
Grafiken und Hintergründe für Stylesheets kann man im Medienverzeichnis abspeichern
(Standard ist "~/pichat/webserver/chatmedia"), siehe [Server] Abschnitt in der
Pichat INI-Datei.
4. Befehlszeilenargumente
Man kann Pichat mit optionalen Einstellungen starten. Grundsätzlich kann jede
Pichat INI-Datei Einstellung auch als Befehlszeilenargument benutzt werden, für eine
komplette Beschreibung aller Einstellungen siehe weiter unten. Es gibt ein
zusätzliches Befehlszeilenargument mit Namen "IniFile" um den Pfad einer
anderen INI-Datei anzugeben.
| Syntax: | dateinamen -schlüssel[=wert] [...] | ||||||
| Argumente: |
| ||||||
| Beispiele: | pichat.exe -ServerDedicated | ||||||
| pichat.exe -Nickname=Vampir -ColorSchemeDefault=Night | |||||||
| pichatd -IniFile=/etc/pichat.ini -PluginsIniFile=/etc/pichat_plugins.ini |
Das erste Beispiel startet Pichat als dedizierten Server. Das zweite Beispiel
startet Pichat mit einem anderen Namen und anderem Farbschema. Das dritte Beispiel
startet einen Linux Chatserver mit einer speziellen INI-Dateien.
Bemerkungen: Ein Schlüssel ohne Wert wird auf 1 gesetzt (oder ja/ein für einen
boolschen Wert). Werte mit Leerzeichen müssen wie folgt in Anführungszeichen
eingeschlossen werden: "Text mit Leerzeichen". Befehlszeilenargumente ändern die
selbigen Einstellungen aus der INI-Datei, werden aber nicht automatisch auf die
Festplatte geschrieben.
5.1. Pichat INI-Datei
Die Pichat INI-Datei speichert alle persönlichen Einstellungen. Sie heißt "pichat.ini" und
ist im Pichat-Verzeichnis im Heimatverzeichnis gespeichert. Bei Windows findet man
sie dort wo Dokumente und Einstellungen gespeichert werden, %APPDATA% im Windows-Explorer
eingeben. Pichat muss mindestens einmal gestartet werden um eine INI-Datei zu erstellen,
bitte starte Pichat neu nachdem du irgendwelche Einstellungen verändert hast.
Die INI-Datei ist in Abschnitte aufgeteilt, die wichtigsten Abschnitte:
[Pichat] [GUI] [Server] [Server Permissions] [Client] [Contacts]
Hier eine Beschreibung aller Einstellungen:
| [Pichat] | Allgemeine Einstellungen: |
| Version | Pichat-Versionsnummer welche diese Datei verändert hat |
| Nickname | Name des Benutzers (wird ignoriert falls dedizierter Server) |
| NicknameAlternatives | alternative Benutzernamen, Komma getrennter Text |
| StartupCommands | Befehle beim Anwendungsstart ausführen, Komma getrennter Text |
| Sonderzeichen können mit umgekehrten Schrägstrich maskiert werden z.B. "\54" | |
| [Pichat Profile] | Profil mit Informationen für andere: |
| ServerName | Chatservername, keinen um eigenen Namen zu benutzen |
| ServerVersion | Chatserver-Versionsnummer, keine für aktuelle Version |
| ServerAddress | öffentliche Adresse des Chatservers, leer lassen oder einen echten Rechnernamen angeben |
| Identification | eindeutige Identifikation, keine um sie zu deaktivieren |
| Interests | Liste mit Interessen, Komma getrennter Text |
| ServerDedicated | als dedizierten Server starten? boolscher Wert |
| [Updates] | Automatische Softwareaktualisierungen: |
| EnableUpdates | erlaube Softwareaktualisierungen durch Benutzer? boolscher Wert |
| CheckForUpdates | regelmäßig nach Aktualiserungen suchen? boolscher Wert |
| DownloadUpdates | Aktualisierungen herunterladen? boolscher Wert |
| UpdatesDownloadDirectory | Verzeichnis um Aktualisierungen abzuspeichern |
| UpdatesRepositoryX | URL einer Repository mit Aktualisierungen |
| (X = Zahl von 1 an aufsteigend) | |
| [Plugins] | Plugins mit zusätzlichen Funktionen: |
| EnablePlugins | erlaube Plugins und lade sie beim Anwendungsstart? boolscher Wert |
| PluginsIniFile | Datei mit Plugin-Einstellungen |
| [GUI] | Grafische Benutzeroberfläche: |
| AnimateSystray | animiere Systray bei Datenverkehr? boolscher Wert |
| AnimateWindowTitle | animiere Titelleiste bei Nachricht? boolscher Wert |
| ShowStartupMessage | zeige Neulingsbegrüßung einmal beim Start? boolscher Wert |
| ShowSendButton | zeige Sendschaltfläche neben der Eingabe? boolscher Wert |
| ShowSideBar | zeige Seitenleiste neben der Ausgabe? boolscher Wert |
| ShowSmileyBar | zeige Smileyleiste unter der Eingabe? boolscher Wert |
| ShowAwayTime | zeige Abwesenheitszeit? boolscher Wert |
| InputLines | Anzahl der Eingabezeilen (1-4) |
| ChatroomTopic | zeige Thema beim Chatraum betreten? boolscher Wert |
| ChatroomUsers | zeige Benutzer beim Chatraum betreten? boolscher Wert |
| ChatAdminCommands | zeige Befehle von anderen Chatadmins? boolscher Wert |
| nur für Chatadministratoren | |
| ChatServerUsers | zeige ankommende/verlassende Benutzer? boolscher Wert |
| nur für Chatadministratoren | |
| PingPrecise | zeige genaues Ping und Lag (1/10s)? boolscher Wert |
| AutoAway | aktiviere automatische Abwesenheit? boolscher Wert |
| AutoAwayLevel | automatische Abwesenheit wird zurückgesetzt bei (Level 0-3) |
| 0 = nur manuelles Rücksetzen | |
| 1 = automatisch bei öffentlichem Text | |
| 2 = automatisch bei öffentlichem Text oder Befehl | |
| 3 = automatisch bei (") oder beim Klicken ins Chat | |
| AutoAwayAfter | Zeit bis Benutzer abwesend markiert wird (Sekunden) |
| AutoAwayMessage | automatische Abwesenheitsmeldung |
| StdAwayMessage | normale Abwesenheitsmeldung |
| DndAwayMessage | Bitte-Nicht-Stören-Meldung (DND = Do Not Disturb) |
| DomkoTextFilter | aktiviere Textfilter in der Ausgabe? boolscher Wert |
| NachoTimeStamp | zeige Zeitmarkierung in der Ausgabe? boolscher Wert |
| NachoTimeStampHours | Stundenformat der Zeitmarkierung, 12 oder 24 |
| NachoTimeStampPrecise | genaue Zeitmarkierung mit Sekunden? boolscher Wert |
| NicknameLevel | Namensanzeige (Level 0-2) |
| 0 = keine Farbe | |
| 1 = farbiger Name | |
| 2 = farbiger Name mit angepasstem Trenner | |
| NicknameSeparatorL2 | Namenstrenner (wird nur in Level 2 verwendet) |
| Highlight | aktiviere hervorgehobene Textzeilen? boolscher Wert |
| HighlightText | hebe diesen Text hervor, Komma getrennter Text |
| HighlightMyNickname | hebe Text mit aktuellem Namen hervor? boolscher Wert |
| HighlightChatroomLevel | wie Chattext hervorgehoben wird (Level 0-5) |
| 0 = gar nicht | |
| 1 = Fettschrift | |
| 2 = blinke falls nicht aktuelles Chatfenster | |
| 3 = blinke (") und Fettschrift | |
| 4 = blinke immer | |
| 5 = blinke (") und Fettschrift | |
| HighlightMessageLevel | wie private Nachrichten hervorgehoben werden (Level 0-5), gleiche Levels wie bei Chattext |
| HighlightBlinkTime | Blinkzeit für Chatfenster und Systray (Sekunden) |
| TabsCloseButton | zeige Tabs mit Schließschaltfäche? boolscher Wert |
| TabsWhenChatWindowNumber | zeige Tabs wenn diese Anzahl Chatfenster vorhanden ist |
| InputBuffer | Eingabezeilen, Eingabepuffer |
| OutputBuffer | Ausgabezeilen im Chatfenster |
| ClearInputAndOutput | lösche Eingabe zusammen mit Ausgabe? boolscher Wert |
| ClientChatLogging | Chatgespräche mitloggen? boolscher Wert |
| ServerAuthentication | merke Benutzernamen und Passwörter? boolscher Wert |
| ServerAuthenticationFile | Datei mit Benutzernamen und Passwörter, Benutzerlogins |
| MainWindowTitle | zeige diesen Text in Titelleiste und Systray |
| MainWindowSticky | Hauptfenster immer ganz vorne? boolscher Wert |
| MainWindowCloseButtonMinimise | Schließschaltfäche verkleinert Hauptfenster? boolscher Wert |
| MainWindowEscKeyMinimise | Esc-Taste verkleinert Hauptfenster? boolscher Wert |
| MainWindowAnimateMinimise | animiere Hauptfenster immer beim Verkleinern? boolscher Wert |
| MainWindowShareInput | benutze selbe Eingabe im Hauptfenster? boolscher Wert |
| MainWindowNavigationView | Hauptfenster mit Navigationsleiste? boolscher Wert |
| MainWindowStatusView | Hauptfenster mit Statusleiste? boolscher Wert |
| MainWindowContactsView | Hauptfenster mit Kontakte? boolscher Wert |
| MainWindowOptions | Hauptfenster bietet Chateinstellungen an? boolscher Wert |
| MainWindowPos | Position und Größe des Hauptfensters |
| MainWindowSeparatorPos | Position der Hauptfensteraufteilung |
| [GUI Address Bar] ''Grafische | Benutzeroberfläche, Adressleiste:'' |
| ContactGroupAddresses | Name einer Kontaktgruppe, vorhandene Adressen werden zur Adressleiste hinzugefügt |
| HistoryMax | maximale Anzahl gespeicherter Einträge, 0 für keine |
| HistoryX | gespeicherte Serveradresse |
| (X = Zahl von 1 an aufsteigend) | |
| [GUI Aliases] | Grafische Benutzeroberfläche, Aliase: |
| AliasX | Alias und Befehle, Komma getrennter Text, |
| "$" im Text wird durch Argumente ersetzt, | |
| Sonderzeichen können mit umgekehrten Schrägstrich maskiert werden z.B. "\54" oder "\44" | |
| (X = Zahl von 1 an aufsteigend) | |
| [GUI Side Bar] | Grafische Benutzeroberfläche, Seitenleiste: |
| SideBarLevel | zeige Chaträume und Benutzer in Seitenleiste? (Level 0-2) |
| 0 = zeige nur Benutzerliste | |
| 1 = zeige Benutzerliste oben, Chaträume darunter | |
| 2 = zeige Chaträume oben, Benutzerliste darunter | |
| MenuX | Menutext mit Typ und Befehlen, Komma getrennter Text, |
| Menutext "----" steht für eine Abtrennung, "$" im Text wird durch Name ersetzt, | |
| Sonderzeichen können mit umgekehrten Schrägstrich maskiert werden z.B. "\54" oder "\44" | |
| 0 = kein bestimmter Typ, immer möglich | |
| 1 = Chaträume-Überschrift | |
| 2 = Chaträume | |
| 3 = Benutzerliste-Überschrift | |
| 4 = Benutzerliste | |
| (X = Zahl von 1 an aufsteigend) | |
| [GUI Smiley Bar] | Grafische Benutzeroberfläche, Smileyleiste: |
| ButtonX | Grafikname mit optionalem Tooltip und Befehlen, Komma getrennter Text, |
| Grafikname "----" steht für eine Abtrennung zwischen Schaltfächen, | |
| Sonderzeichen können mit umgekehrten Schrägstrich maskiert werden z.B. "\54" | |
| (X = Zahl von 1 an aufsteigend) | |
| [GUI Sounds] | Grafische Benutzeroberfläche, Geräuscheffekte: |
| EnableSoundEffects | aktiviere Geräuscheffekte? boolscher Wert |
| SoundEffectX | Chataktion mit Bedingung und Geräuschdatei, Komma getrennter Text, |
| eine Liste mit Chataktionen finden man in Abschnitt 5.6 | |
| (X = Zahl von 1 an aufsteigend) | |
| [Server] | Chatserver-Einstellungen: |
| PortChat | Port des Chatservers (TCP/UDP), 0 um alle Serverdienste zu deaktivieren |
| PortHttp | Port des Webservers (TCP), 0 um Webserver und Webchat zu deaktivieren |
| ServerHttpRoot | Webserver-Wurzelverzeichnis, alle Webserverorte sind innerhalb dieses Verzeichnisses |
| ServerHttpLocationChat | Webserverort für Webchat |
| ServerHttpLocationMedia | Webserverort für Grafiken und Geräusche |
| ServerHttpLocationStatus | Webserverort für Statusseite |
| ServerHttpLocationProtected | Webserverort für Passwort gesicherte Dateien, |
| Dateien und Unterverzeichnisse für registrierte Benutzer | |
| ServerHttpMimeFile | Webserver MIME-Types Datei, keine für eingebaute Datei |
| ServerAnnounceLocalNetwork | verkünde Chatserver im lokalen Netzwerk? boolscher Wert |
| ServerDefaultHomepage | Webserver mit einer Standard-Homepage? boolscher Wert |
| ServerDirectoryBrowsing | Webserver zeigt Verzeichnisinhalte an? boolscher Wert |
| ServerHourStatus | Chatstatus jede volle Stunde loggen? boolscher Wert |
| ServerDebugMode | Debuginformationen loggen? boolscher Wert |
| MaxUsers | maximale Anzahl von Benutzer im Chat (gesamt) |
| MaxUsersTextchat | maximale Anzahl von Textchat-Benutzer |
| MaxUsersWebchat | maximale Anzahl von Webchat-Benutzer |
| MaxUsersPichat | maximale Anzahl von Pichat-Benutzer |
| MaxSockets | maximale Anzahl eingehender Sockets per Server |
| HandshakeWaitDns | Zeit um auf DNS-Auflösung zu warten (Sekunden) |
| HandshakeTimeoutWelcome | Zeit bis Willkommensmeldung angezeigt wird (Sekunden) |
| HandshakeTimeout | Zeit für Handshake-Phase (Sekunden) |
| DisconnectTimeout | Zeit für Disconnect-Phase (Sekunden) |
| DataTransferTimeout | Zeit zum Erlauben von inaktivem Datenverkehr (Sekunden) |
| DataTransferKeepAlive | Zeit zum Warten auf nächste Anfrage (Sekunden) |
| DataTransferPersistentMax | maximale Anzahl Datenanfragen auf der selben Verbindung |
| DataTransferBufferSize | Sendpuffergröße für Datenübertragung (Bytes) |
| DataCompressionFileSizeMin | minimale Dateigröße für "On the fly" Komprimierung (Bytes) |
| DataCompressionFileSizeMax | maximale Dateigröße für Komprimierung (Bytes), setze auf 0 um Komprimierung zu deaktivieren |
| DataCompressionFilesExclude | Dateien von der "On the fly" Komprimierung ausschließen, Komma getrennte Dateiendungen |
| WebchatBrowserDynamic | Webbrowser, Komma getrennte Liste mit Useragenten |
| WebchatBrowserSimple | Webbrowser mit begrenzter Funktionalität im Webchat |
| WebchatBrowserUnsupported | Webbrowser die nicht funktionieren im Webchat, mehr über Browsertypen in Abschnitt 3.2 |
| WebchatSessionIpNetmask | erlaubte Variation in Session-IP-Adressen (0-32), der höchste Wert ist am strengsten |
| WebchatStreamPaddingSize | anfängliches Auffüllen bei streamender Chatausgabe (Bytes), |
| wird für dickköpfige Browser und Proxys benötigt | |
| WebchatStreamForceIntervall | Intervall für extra Streamaktualisierung (Sekunden), |
| nur aktiviert wenn in Webchatsession angefragt wurde | |
| WebchatPageRefreshIntervall | Intervall für Seitenaktualisierungen (Sekunden), |
| für gelegentliche Aktualisierung nicht-streamender Chatausgaben | |
| WebchatScreenSizeBrowserSimple | Anzahl Textzeilen in der einfachen Chatausgabe, wird für einfache Webbrowser verwendet |
| WebchatTextBreakLength | maximale Länge von langem Text vor Auseinanderbrechen |
| WebchatLinkBreakLength | maximale Länge von Hyperlink-Text vor Verkürzung |
| WebPageHeader | Kopfzeile für erzeugte Webseiten |
| WebPageFooter | Fußzeile für erzeugte Webseiten, normalerweise die Adresse der Pichat-Serversoftware |
| WebPageLanguageFile | Datei mit Textstrings für Webseiten, Beschreibung des Dateiformats findet man in Abschnitt 3.4 |
| PingSupportLagDetection | aktiviere Lag-Erkennung für Webchat und Textchat? boolscher Wert |
| PingSupportLagDetectionAbove | Pingzeit um Lag zu identifizieren (Sekunden) |
| PingSupportLagDetectionFallBelow | Pingzeit um Lagende zu identifizieren (Sekunden) |
| DnsLookupEntries | Größe des DNS-Puffers |
| DnsLookupThreads | maximale Anzahl von DNS-Arbeiter-Threads |
| DnsLookupTimeout | Zeit für DNS-Auflösung (Sekunden) |
| FilterIpNetmaskChat | gefilterte IP-Adressen-Anzeige und Logging im Chat (0-32), setze auf 32 um nicht zu filtern, |
| das Benutzen einer Filters verkürzt angezeigten Rechnernamen auf Domainnamen | |
| FilterIpNetmaskHttp | gefilterte IP-Adressen-Logging im Webserver (0-32), setze auf 32 um nicht zu filtern |
| FollowXForwardedFor | IP-Adresse eines SSL-Beschleunigers oder Reverse-HTTP-Proxys für eingehenden Datenverkehr |
| AlwaysXForwardedSecure | IP-Adresse eines Proxys der nur HTTPS-Verbindungen weiterleitet, z.B. Stunnel |
| AnnounceNetworks | Broadcastadressen für Ankündigungen im lokalen Netzwerk, Komma getrennter Text |
| AnnounceIntervall | Intervall für Ankündigungen im lokalen Netzwerk (Sekunden) |
| ConnectionTestIntervall | Intervall für Verbindungstests (Sekunden) |
| ChatroomListUpdateIntervall | Intervall für Chatraumaktualisierungen (Sekunden), |
| setze auf 0 für sofortige Aktualisierung, nicht empfohlen | |
| UserNumberUpdateIntervall | Intervall für Benutzerzahlaktualisierungen (Sekunden), |
| setze auf 0 für sofortige Aktualisierung, nicht empfohlen | |
| AwayUpdateIntervall | Intervall für Abwesenheitsstatusaktualisierungen (Sekunden), |
| setze auf 0 für sofortige Aktualisierung, nicht empfohlen | |
| AutoAwayTextchatLevel | automatische Abwesenheit wird zurückgesetzt bei (Level 0-2) |
| 0 = nur manuelles Rücksetzen | |
| 1 = automatisch bei öffentlichem Text | |
| 2 = automatisch bei öffentlichem Text oder Befehl | |
| AutoAwayTextchatAfterIdle | Zeit bis Textchatbenutzer abwesend markiert wird (Sekunden) |
| AutoQuitTextchatAfterIdle | Zeit bis Textchatbenutzer ausgeloggt wird (Sekunden) |
| AutoAwayWebchatLevel | automatische Abwesenheit (Level 0-2), siehe oben |
| AutoAwayWebchatAfterIdle | Zeit bis Webchatbenutzer abwesend markiert wird (Sekunden) |
| AutoQuitWebchatAfterIdle | Zeit bis Webchatbenutzer ausgeloggt wird (Sekunden) |
| AwayForceAfterIdle | Zeit bis zum erzwungenen Abwesend melden (Sekunden), |
| eine "Idlezeit" von 0 deaktiviert die selbige Funktion | |
| [Server Permissions] | Chatserver, Zugriffsrechte: |
| ChatModeDefault | Chatservermodus wenn der Chat gestartet wird |
| CHAT_OPEN = alle Benutzer dürfen den Chat betreten | |
| CHAT_MEMBERS = nur registrierte Benutzer | |
| CHAT_CLOSED = keine weiteren Benutzer | |
| UserTypeDefault | Standard-Benutzertyp wenn jemand den Chat betritt |
| USER_ZOMBIE = Benutzer mit vielen Einschränkungen | |
| USER_VISITOR = Benutzer mit einigen Einschränkungen | |
| USER_NORMAL = Benutzer ohne Einschränkungen | |
| VisitorRestrictionLevel | Einschränkungen für Besucher (Level 0-3) |
| 0 = dürfen mit jedem Reden | |
| 1 = können keine private Nachrichten zu Besucher schicken | |
| 2 = können nicht mit anderen Besucher/Visitor reden | |
| 3 = können nicht mit anderen Benutzer reden | |
| VisitorRestrictionChatroom | Besucher dürfen Chatraum wechseln? boolscher Wert |
| VisitorRestrictionNickname | Besucher dürfen Namen ändern? boolscher Wert |
| SafeguardLoginFailedMax | maximale Anzahl gescheiterter Loginversuche pro Benutzername |
| SafeguardExpireTime | Ablaufzeit von Safeguards (Sekunden) |
| UserInformationExpireTime | Ablaufzeit von alten Benutzerinformation (Sekunden), setze auf 0 um nicht zu speichern |
| ChatroomInformationExpireTime | Ablaufzeit von alten Chatrauminformationen (Sekunden), setze auf 0 um nicht zu speichern |
| ZombieQuitTime | Standardzeit die Zombies bleiben dürfen (Sekunden) |
| VisitorQuitTime | Standardzeit die Besucher bleiben dürfen (Sekunden) |
| NormalQuitTime | Standardzeit die Benutzer bleiben dürfen (Sekunden) |
| ClosedQuitTime | Endzeit nachdem Chat geschlossen wurde (Sekunden), |
| eine Endzeit von 0 bedeutet unendliche Zeit | |
| ChatBanTime | Standardzeit zum Verbannen aus dem gesamten Chat (Sekunden) |
| ChatroomBanTime | Standardzeit zum Verbannen aus Chatraum (Sekunden), |
| eine Bannzeit von 0 bedeutet unbegrenzter Bann | |
| ChatroomAdminCanCreate | Chatadmins dürfen neue Chaträume erstellen? boolscher Wert |
| ChatroomUserCanCreate | Benutzer dürfen neue Chaträume erstellen? boolscher Wert |
| ChatroomEnterInAny | Man kann den Chat in jedem Chatraum betreten? boolscher Wert |
| ChatroomDefault | Name des Standard-Chatraums, der Chatservereingang |
| ChatroomBanned | Name des Chatraums für verbannte Benutzer |
| [Server Chatrooms] | Chatserver, permanente Chaträume: |
| ChatroomX | Chatraumname mit Typ und Thema, Komma getrennter Text, |
| Konferenzräume benötigen beim Typ auch ein Kennwort im Format "conference !code1234" | |
| (X = Zahl von 1 an aufsteigend) | |
| [Server MOTD] | Chatserver, Nachricht des Tages (MOTD = Message of the Day): |
| MessageX | Textzeile die angezeigt wird wenn Benutzer den Chat betritt, für spezielle Sprachen stellt man |
| dem Text ein Sprachkürzel mit Doppelpunkt vor, z.B. "de:" oder "en:" | |
| (X = Zahl von 1 an aufsteigend) | |
| [Server Actions] | Chatserver, Chataktionen: |
| ExternalProgram | externes Programm oder Script |
| ChatActionX | Chataktion mit Bedingung und Befehlsargument, Komma getrennter Text, |
| eine Liste mit Chataktionen finden man in Abschnitt 5.6 | |
| (X = Zahl von 1 an aufsteigend) | |
| [Client] | Chatclient-Einstellungen: |
| DefaultPort | Standard-Port um zum Chatserver zu verbinden (TCP) |
| ChatroomStart | Name des Chatraums beim Betreten den Chatservers, keinen für Chatservereingang |
| WelcomeMotdMax | maximale MOTD-Zeilen bei der Wilkommensmeldung |
| LagDetection | aktiviere Lag-Erkennung? boolscher Wert |
| LagDetectionAbove | Pingzeit um Lag zu identifizieren (Sekunden) |
| LagDetectionFallBelow | Pingzeit um Lagende zu identifizieren (Sekunden) |
| DnsPendingNotifiesMax | maximale Anzahl gleichzeitiger DNS-Anfragen |
| DnsHostnameFlushAge | maximales Alter von gepufferten Rechnernamen (Sekunden) |
| ConnectTimeout | Zeit um zum Server zu verbinden (Sekunden) |
| ConnectHandshakeTimeout | Zeit um auf dem Server einzuloggen (Sekunden) |
| ConnectRetryDelay | Verzögerung zwischen Verbindungsversuchen (Sekunden), Komma getrennter Text |
| ConnectRetryLocalNetwork | maximale Anzahl Verbindungsversuche wenn lokales Netzwerk wiederhergestellt wurde, |
| setze auf 0 um Wiederverbindung zu deaktivieren | |
| GhostSessionResurrection | Session nach Unterbrechung wiederherstellen? boolscher Wert |
| PongAnswerTimeout | Zeit um letzten Ping zu speichern der gepingt hat (Sekunden) |
| KeepAliveIntervall | Intervall um Keepalive zu schicken (Sekunden) |
| DisabledCommands | Befehle die herausgefiltert werden, Komma getrennter Text |
| [Client Proxy] | Chatclient, Proxy-Einstellungen: |
| UseProxy | benutze lokalen HTTP-Proxy? boolscher Wert |
| ProxyAddress | Adresse des Proxys |
| ProxyPort | Port des Proxys (TCP) |
| ProxyResolveDns | Proxy löst Rechnernamen auf? boolscher Wert |
| ProxyBypassLocalNetwork | übergehe Proxy bei lokalen Adressen? boolscher Wert |
| ProxyBypassHosts | übergehe Proxy bei manchen Rechnern, Komma getrennter Text |
| [Contacts] | Kontakt-Einstellungen: |
| ContactGroupX | Gruppenname und Kontaktdatei, Komma getrennter Text, |
| Beschreibung der Kontaktdateien findet man in Abschnitt 5.2 | |
| (X = Zahl von 1 an aufsteigend) | |
| [Color Schemes] | Farbschema-Einstellungen: |
| ColorSchemeDefault | Name des Standard-Farbschemas |
| ColorSchemeGuiFont | Standard-Zeichensatz in der Benutzeroberfläche, Name und Punktgröße |
| ColorSchemePackX | Datei mit weiteren Farbschemas, die Platzhalter "*" und "?" sind möglich, |
| Beschreibung des Dateiformats findet man in Abschnitt 5.3 | |
| (X = Zahl von 1 an aufsteigend) | |
| [Graphics] | Grafik-Einstellungen: |
| GraphicsAndSmileysLevel | zeige Grafiken und Smileys im Chat (Level 0-6) |
| 0 = keine Grafiken oder Smileys | |
| 1 = zeige Smileys | |
| 2 = auch Ausdrücke | |
| 3 = auch Symbole | |
| 4 = auch Flirt (Herze, Küsse, Blumen) | |
| 5 = auch Spaß (Kaffee, Alkohol, Pizza) | |
| 6 = auch Sonstiges, alle Grafiken anzeigen | |
| GraphicPackX | Datei mit weiteren Grafiken und Smileys, die Platzhalter "*" und "?" sind möglich, |
| Beschreibung des Dateiformats findet man in Abschnitt 5.4 | |
| (X = Zahl von 1 an aufsteigend) | |
| [Languages] | Sprach-Einstellungen: |
| LanguageGuiDefault | Name der Standard-Sprache in der Benutzeroberfläche |
| LanguagesPreferred | bevorzugte Sprachen, Komma getrennte Liste mit Namen |
| LanguagePackX | Datei mit weiteren Sprachen, die Platzhalter "*" und "?" sind möglich, |
| Beschreibung des Dateiformats findet man in Abschnitt 5.5 | |
| (X = Zahl von 1 an aufsteigend) | |
| [Logfiles] | Logdateien-Einstellungen: |
| LogfilesSizeMax | maximale Dateigröße die Logdateien anwachsen dürfen (Bytes), 0 bedeutet unbegrenzt |
| LogfilesDirectory | Verzeichnis um Logdateien abzuspeichern |
| ServerChatLogfile | Chatserver-Logdatei, keine um Logging auszuschalten |
| ServerHttpLogfile | Webserver-Logdatei, keine um Logging auszuschalten |
| ClientChatLogfile | Chatclient-Logdatei, %s und %S stehen für verbundenen Chatserver, |
| Dateinamen können Zeitformatierungen benutzen, siehe Abschnitt 6 | |
| [3D Visualisation] | 3D-Fenster-Einstellungen: |
| Width | Breite (Pixel) |
| Height | Höhe (Pixel) |
| ColorDepth | Farbtiefe, 16 oder 32 (Bits) |
| FullScreen | Vollbildmodus? boolscher Wert |
Bemerkungen: Einstellungen sind entweder Text oder Zahl. Ein "boolscher" Wert steht entweder
für 0 (nein/aus) oder 1 (ja/an). Um neue Einstellungen zu erhalten löscht man die Datei
"pichat.ini" und startet Pichat erneut. Achtung, du verlierst dadurch dein Profil und andere
persönlichen Einstellungen! Falls keine INI-Datei erstellt werden kann werden die
Standard-Einstellungen verwendet.
5.2. Kontaktdateien
Pichat benutzt mehrere Kontaktdateien zum Speichern von Freunden und anderen
Personen mit denen man in Kontakt bleiben will. Jede Datei beinhaltet eine
einzelne Kontaktgruppe. Um eine neue Kontaktdatei hinzuzufügen, lädt man die Datei
herunter und kopiert sie in ddas Pichat-Verzeichnis im Heimatverzeichnis. Dann fügt
man den Dateinamen zum [Contacts] Abschnitt der Pichat INI-Datei hinzu. Es werden nur
Kontaktdateien geladen die in der Pichat INI-Datei aufgelistet sind.
Eine Kontaktdatei kann mehrere Abschnitte beinhalten, jeder Abschnitt beschreibt
einen Kontakt, Abschnitte die nicht mit "Contact" beginnen werden ignoriert.
| Syntax: | [Contact name] | ||||||||||||
| |||||||||||||
| Argumente: |
| ||||||||||||
| Beispiel: | [Contact Pichat Europe] | ||||||||||||
| ServerAddress = eu.pichat.net:9009 | |||||||||||||
| Description = Der Standard-Chatserver in Europa | |||||||||||||
| Connect = 1 |
Dieses Beispiel definiert einen Kontakt zu einem bekannten Chatserver.
Bemerkungen: Der erste Kontakt (ohne Namen) in einer Datei beschreibt die
Kontaktgruppe, er beinhaltet nur eine "Description"-Einstellung. Alle Kontakte
werden beim Anwendungsstart geladen, Duplikate innerhalb einer Gruppe werden
ignoriert. Falls gar keine Kontakte gefunden werden dann werden die folgenden
beiden Kontakte hinzugefügt: "Pichat Europe" und "Pichat USA".
5.3. Farbschemadateien
Pichat unterstützt mehrere Farbschemas, es gibt zwei eingebaute Farbschemas:
"Day" und "Night". Um neue Farbschemas hinzuzufügen lädt man Farbschemadateien
herunter und kopiert sie in das Pichat-Verzeichnis im Heimatverzeichnis. Es werden
nur Farbschemas geladen die in diesem Verzeichnis oder im [Color Schemes]
Abschnitt der Pichat INI-Datei aufgelistet sind. Man kann die vorhandenen Farbschemas
mit dem /COLORSCHEME Befehl im Chat sehen.
Eine Farbschemadatei kann mehrere Abschnitte enthalten, jeder Abschnitt beschreibt
ein Farbschema, Abschnitte die nicht mit "ColorScheme" beginnen werden ignoriert.
Ein Farbschema beschreibt Farben, Zeichensatz und welche Grafiken benutzt werden.
Man muss nicht alle Einstellungen für ein neues Farbschema angeben, man kann auch
nur teilweise die Grundfarben überschreiben (die Grundfarben sehen genauso aus wie
die das eingebaute Farbschema "Day").
| Syntax: | [ColorScheme name] | ||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Argumente: |
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Hier eine Liste der vorhandenen Farbnamen: | |||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Beispiel: | [ColorScheme HelpDesk] | ||||||||||||||||||||||||||||||||||||||||||||||||
| Colors=COLOR_TEXT_CHATOTHER,200,0,0 |
Dieses Beispiel zeigt Text von anderen Benutzer in rot an. Für weitere Farbschema-Beispiele siehe
Pichat Downloads.
Bemerkungen: Die eingebauten Farbschemas "Day" und "Night" können frei an eigene Wünsche
angepasst werden. Ein Farbschema wird aus der ersten Farbschemadatei geladen die es anbietet,
Duplikate werden dabei ignoriert. Alle Farbschemas werden beim Anwendungsstart geladen. Das
Webchat bietet Farbschemas als alternative Stylesheets an, es gibt dabei eine Beschränkung
wieviele Farbschemas im Webbrowser geladen werden können (limitiert auf ungefähr 50). Es sind
nicht alle Farben im Webchat vorhanden, es gibt keine Farben für selektierten Text (der
Webbrowser bestimmt das selbst). In einem Textchat mit Telnet gibt es gar keine Farbschemas
aufgrund von technischen Beschränkungen.
5.4. Grafikdateien
Pichat unterstützt eigene Grafiken, es gibt über 50 eingebaute Smileys und Grafiken
im Chat. Um neue Grafiken hinzuzufügen lädt man Grafikpacks herunter und kopiert sie in das
Pichat-Verzeichnis im Heimatverzeichnis. Es werden nur Grafikpacks geladen die in diesem
Verzeichnis oder im [Graphics] Abschnitt der Pichat INI-Datei aufgelistet sind. Bitte gehe sicher
dass PNG-Dateien ins Medienverzeichnis kopiert werden (Standard ist "~/pichat/webserver/chatmedia"),
siehe [Server] Abschnitt in der Pichat INI-Datei.
Ein Grafikpack kann mehrere Abschnitte enthalten, Abschnitte die nicht mit "Graphics" beginnen
werden ignoriert. Jeder Abschnitt kann eine beliebige Anzahl Chatgrafiken definieren und auch
vorhandene Grafiken überschreiben. Grafikdateien existieren immer im Paar, das heißt eine
Datei wird für helle Farbschemas verwendet und die andere für dunkle Farbschemas. Das erste
Grafikset ist auf weißem Hintergrund ausgerichtet und das zweite auf dunklem Hintergrund.
| Synatx: | [Graphics] | ||||||||||||||||||||||||||||||||||||||||||
| grafikname dateiname, level, grossklein, genauesparsing, monochrom | |||||||||||||||||||||||||||||||||||||||||||
| Argumente: |
| ||||||||||||||||||||||||||||||||||||||||||
| Hier eine Liste mit eingebauten Anwendungs-Grafiken: | |||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||
| Beispiel: | [Graphics] | ||||||||||||||||||||||||||||||||||||||||||
| :logo: graphic_logo.png, 6 |
Dieses Beispiel fügt eine neue Grafik zum Chat hinzu, sie wird angezeigt wenn man :logo:
eingibt und verwendet die zwei Grafikdateien chat1_graphic_logo.png und chat2_graphic_logo.png
aus dem Medienverzeichnis. Für weitere Grafik-Beispiele siehe Pichat Downloads.
Bemerkungen: Die eingebauten Chatgrafiken können frei angepasst und überschrieben werden.
Eine Grafik wird durch den letzten Grafikpack definiert der sie beinhaltet. Alle
Grafiken werden beim Anwendungsstart überprüft, man sollte sicher gehen dass es zwei
zusammenpassende Grafikdateien für jede Chatgrafik gibt. Grafikdateien benutzen das
PNG-Format (Portable Network Graphics), eine Transparenzfarbe oder ein Alphakanal ist
notwendig, die maximale Auflösung ist 640 x 128 Pixel.
5.5. Sprachdateien
Pichat unterstützt mehrere Sprachen, es gibt drei eingebaute Sprachen: Englisch,
Deutsch und Schwedisch. Um neue Sprachen hinzuzufügen lädt man Sprachdateien
herunter und kopiert sie in das Pichat-Verzeichnis im Heimatverzeichnis. Es werden
nur Sprachdateien geladen die in diesem Verzeichnis oder in dem [Languages] Abschnitt
der Pichat INI-Datei aufgelistet sind. Man kann die vorhandenen Sprachen mit dem
/LANGUAGE Befehl im Chat sehen.
Eine Sprachdatei kann mehrere Abschnitte enthalten, jeder Abschnitt beinhaltet
eine Sprache, Abschnitte die nicht mit "Language" beginnen werden ignoriert.
Jeder Abschnitt muss eine komplette Sammlung von Textstrings haben, man kann
eine Sprache nicht teilweise überschreiben. Jeder Sprach-Abschnitt beginnt mit
[Language name], wobei "name" für die internationales Abkürzung steht, z.B. "de",
"en" oder "sv" (ISO639). Ein Sprach-Abschnitt selbst besteht nur aus Textzeilen,
die erste Zeile bestimmt den Zeichensatz, gefolgt von zwei Blöcken mit
Textstrings für Server und Client.
Die Benutzeroberfläche benutzt weitere Sprachresourcedateien. Auf Windows heissen
sie 'pichat_languageXXX.dll', wobei XXX für einen dreistelligen Sprachkode steht
(z.B. DEU fur Deutsch, SVE für Schwedisch). Von den vorhanden Sprachresourcen
wird automatisch die am besten passende benutzt.
Für eine englische Referenzdatei und weitere Sprachen siehe Pichat Downloads.
Bemerkungen: Die eingebauten Sprachen können frei an eigene Wünsche angepasst
werden. Eine Sprache wird aus der ersten Sprachendatei geladen die sie anbietet,
Duplikate werden dabei ignoriert. Sprachen werden bei Bedarf geladen, was bedeutet
eine Sprache wird erst dann geladen wenn ein Client sie das erste mal anfragt. Alle
Sprachdateien sollten einem formlosen und freien Stil folgen, damit der Text
natürlich klingt, anstatt Wort für Wort zu übersetzen. Es gibt eine Ausnahme,
Netzwerkfehlermeldungen sollten in Englisch bleiben.
5.6. Chataktionen
Pichat bietet Chataktionen an die einen benachrichtigen sobald etwas passiert.
Chataktionen lassen sich frei konfigurieren, so lässt sich beispielsweise ein
Geräuscheffekt abspielen oder ein externes Programm aufrufen das eine Aufgabe
erfüllt.
| Syntax: | einstellung = chataktion, bedingung, text | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Argumente: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Hier eine Liste der vorhandenen Chataktionen: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (Mit * markierte Aktionen sind nur für Chatadministratoren) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Beispiele: | [GUI Sounds] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EnableSoundEffects=1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SoundEffect1=CHAT_JOIN, <9, ~/pichat/sound_notify.wav | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SoundEffect2=CHAT_PING, =2, ~/pichat/sound_hello.wav | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SoundEffect3=CHAT_PING, *, default | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SoundEffect4=CHAT_PONG, *, default | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [Server Actions] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ExternalProgram=/usr/bin/esdplay | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ChatAction1=CHAT_SERVER_USERADD, *, /usr/local/share/sound_alert.wav |
Das erste Beispiel spielt ein Geräusch wenn ein Benutzer den Chatraum betritt, ein besonderes
Geräusch bei einem /PING Nummer 2 und listet dann die
Standard-Geräuscheffekte auf. Die Bedingung nach CHAT_JOIN filtert automatische Wiederverbindungen
heraus. Das zweite Beispiel spielt ein Geräusch auf einem Linux-Chatserver ab sobald ein neuer
Benutzer den Chat betritt.
Bemerkungen: Zwei Abschnitte in der Pichat INI-Datei verwenden Chataktionen, das sind die
Abschnitte [GUI Sounds] und [Server Actions]. Es sind nicht
alle Chataktionen im Abschnitt [Server Actions] möglich, nur Chatserver-Aktionen können
dort benutzt werden (diejenigen die mit CHAT_SERVER beginnen). Es gibt noch
weitere Chataktionen für Chatplugins, die wichtigsten Chataktionen
sind auf jeden Fall hier aufgelistet.
6. Status, Statistiken und Logdateien
Pichat bietet einen Chatstatus einschließlich Benutzerstatistiken und
Datenverkehrstatistiken. Man kann den aktuellen Status mit dem /STATUS
Befehl im Chat sehen. Als Alternative gibt es die Statusinformationen auch
als Webseite, RSS-Feed und wird in Logdateien geschrieben.
| Beispiele: | Den Chatstatus als Webseite sieht man mit... |
| http://127.0.0.1/chatstatus | |
| http://myserver/chatstatus |
Hier ist ein typischer Chatserverstatus:
Moaks Chat, Willkommen in Moaks Chat
Chatserver Port 9009, Webserver Port 80
Benutzer 4 online, 6 Spitzenwert, 100 max, 92 hiergewesen, 0% Aktivität
Datenverkehr 5MB insgesamt, 1MB empfangen, 4MB versendet, 22% Komprimierung
Chatserver läuft 5 Tage 10h 53min
Chatserver Port 9009, Webserver Port 80
Benutzer 4 online, 6 Spitzenwert, 100 max, 92 hiergewesen, 0% Aktivität
Datenverkehr 5MB insgesamt, 1MB empfangen, 4MB versendet, 22% Komprimierung
Chatserver läuft 5 Tage 10h 53min
Benutzerstatistiken zeigen die aktuelle Benutzertätigkeit eines Chatservers an,
außerdem gibt es weitere Informationen wie die höchste Benutzerzahl seitdem der
Server gestartet wurde (Spitzenwert). Es gibt auch eine Anzeige für die
Chataktivität der letzten Stunde in Prozent, höhere Werte bedeuten dass mehr
Benutzer aktiv miteinander chatten. Die Chataktivität wird aus Benutzern errechnet
die in Chaträumen chatten. Keine Einfluss auf diese Berechnung haben private
Nachrichten und Benutzer die nur zwischen Chaträumen hin und her springen ohne
etwas gesagt zu haben.
Datenverkehrstatistiken zeigen den Datenverkehr seitdem der Server gestartet
wurde. Der gesamte Datenverkehr wird aus der Summe von allen eingehenden und
ausgehenden Daten berechnet (von Chatserver und Webserver). Es gibt ausserdem eine
Datenkomprimierungsrate, höhere Werte bedeuten bessere Komprimierung. Der
Chatserver und der Webserver benutzen Komprimierung wann immer möglich um das
Datenaufkommen zu minimieren. Der Datenverkehr kann um bis zu 50% reduziert
werden, jedoch sinkt die Komprimierungsrate mit höherem Webserverdatenaufkommen.
Das ist nicht ungewöhnlich, denn Webserverdaten bestehen aus einem hohen Anteil
von Mediendaten (bzw einer großen Menge an Metadaten) welche nicht besonders gut
komprimiert werden können.
Logdateien wachsen über die Zeit an, man will vermutlich alte Logdaten löschen
oder archivieren. Im [Logfiles] Abschnitt der Pichat INI-Datei kann man eine Logdatei
mit Zeitangaben angeben, diese Datei wird dann regelmäßig neu geöffnet und das
Loggen wird in einer neuen Datei fortgesetzt.
| Beispiel: | [Logfiles] |
| ServerChatLogfile=pichat_chatserver_%Y%m.log | |
| ServerHttpLogfile=pichat_webserver_%Y%m.log | |
| ClientChatLogfile=pichat_conversation_%s_%Y%m.log |
Dieses Beispiel erzeugt monatlich wechselnde Logdateien. Die "%" Zeitangaben werden
entsprechend der strftime-Funktion expandiert, für eine Beschreibung siehe die strftime-Dokumentation
(z.B. Linux Hilfesystem). In Chatclient-Logdateien haben %s und %S eine spezielle Bedeutung
und stehen für den verbundenen Chatserver. Im oben gezeigten Beispiel wäre die Chatserver-Logdatei
pichat_chatserver_200010.log im Oktober 2000, dann pichat_chatserver_200011.log im November 2000 und
so weiter. Ähnliches gilt für andere Logdateien.
Bemerkungen: Logdateien werden höchstens einmal jede volle Stunde neu geöffnet. Auf einem
Linux/BSD-System öffnet das SIGHUP-Signal die Logdateien sofort neu.


