Main Links Oben mindestbreite Main Rechts Oben
mindestbreite


Chat Server und Client einrichten

Der Chat Server und der Client muss vor dem Starten eingerichtet werden. Die folgenden Kapitel zeigen im Detail welche Einstellungen vorgenommen werden müssen, damit der Server gestartet werden kann und wie die Clients konfiguriert werden müssen, damit eine Verbindung mit dem Chat-Server hergestellt werden kann.

1. BASIS
1.1. Um was geht es
1.2. Was wird benötigt
1.3. Start

2. SERVER einrichten
2.1. Server-Konfigurationsfile anpassen
2.2. Einträge im Konfigurationsfile »Server.ini«
2.3. Anpassen der Startdatei
2.4. Parameter der Startdatei
2.5. Anpassen des Java Runtime Environment (JRE)
2.6. Einrichten bei mehreren IP-Adressen

3. CLIENT einrichten
3.1. Client-Konfigurationsfile anpassen
3.2. Einträge im Konfigurationsfile »Client.ini«
3.3. Anpassen der Startdatei

4. END
4.1. Programm / Version
4.2. Freigabe und Quellcode
4.3. Thanx
4.4. Hilfe

5. VERSION HISTORY
5.1. Version 1.0.1
5.2. Version 1.0.2


1.0 BASIS

1.1. Um was geht es

Chat ist ein kleines Programm, in dem ein Chat-Server und ein entsprechender Client enthalten ist. Personen an unterschiedlichen Lokationen (Internet und auch LAN) können sich wie im IRC miteinander unterhalten. Die einzelnen Chat-Räume (Channels) können in einen sogenannten "Einladungsmodus" gesetzt oder auch "moderiert" werden. Der Server verwaltet grundsätzlich eine unbegrenzte Anzahl an Channels und Benutzern.

1.2 Was wird benötigt

Da der Chat in Java entwickelt wurde, ist eine Java Runtime Environment (JRE) oder ein Java Development Kit (JDK) zum Ausführen des Chats notwendig. Es muss beachtet werden, dass mindestens die Version 1.3.1 des JRE/JDK eingesetzt wird. Die alten Java Versionen können im "Oracle Java Archiv" gefunden werden:

1.3 Start

Leider kann die Anwendung nicht mit einem einfachen Klick auf das Batch-File gestartet werden. Man muss zumindest die in den Kapitel 2.1, 2.3, 2.4 und 2.5 angesprochenen Einstellungen/Anpassungen vornehmen, um den Chat Server starten zu können. Der Client muss entsprechend den Kapitel 3.1 und 3.3 angepasst werden.

1.4 Inhalt von »void-chat.zip«

1) die mit x) gekennzeichnteten Einträge müssen angepasst werden
README.txt Dieses Readme File
Server.inix)1) Konfigurationsfile für den Server
Client.inix) Konfigurationsfile für den Client
chat-classes13.zip Enthält die class-Files für den Client und den Server
StartServer.batx) Batch-File zum Starten des Servers
StartClient.batx) Batch-File zum Starten des Clients
/dat/IRC.template Template File für die IRC ähnlichen Commands
/dat/MSG.template Template File für die MSG Commands
/dat/Error_en.properties Enthält die Fehlermeldungen des Servers
/channel Default Verzeichnis in das die Channels ihre Daten ablegen
/log Default Verzeichnis in das die Log-Files abgelegt werden
/config/Server_ex.ini Beispiel-Konfigurationsfile für den Server
/config/Client_ex.ini Beispiel-Konfigurationsfile für den Client
/config/Server.in_ Sicherheitskopie des Server-Konfigurationsfiles
/config/Client.in_ Sicherheitskopie des Client-Konfigurationsfiles

2.0 SERVER

2.1. Server-Konfigurationsfile anpassen

Zunächst sind die Eintragungen in der »Server.ini« zu überprüfen1). Damit der Server gestartet werden kann, müssen die Einträge:

  • server.name
  • server.comment
  • server.admin.name
  • server.admin.pw
  • server.admin.email
ausgefüllt sein.

Bei

  • server.host
sollte die IP Adresse des Rechners, auf dem der Server läuft, eingetragen werden. Bei Rechnern mit mehreren IP-Addressen muss die IP-Addresse, auf die der Server agieren soll, eingetragen werden.

Die übrigen Eintragungen müssen nicht angepasst werden.

1) mit der Version 1.0.2 sind in dem Konfigurationsfile default-Eintragungen vorhanden, damit für einen »schnellen« Start diese Eintragungen/Anpassungen nicht vorgenommen werden müssen. Nichtsdestotrotz sollten die Daten für einen »eigenen« Server angepasst werden.

2.2. Einträge im Konfigurationsfile »Server.ini«

1) die mit x) gekennzeichnteten Einträge müssen angepasst werden
2) über den Loglevel können Systemausgaben gesteuert werden. Der Loglevel 10 bewirkt, dass die Anwendung keine Ausgaben erzeugt. Bei Loglevel 0 werden alle relevanten Daten ausgegeben. Für die Fehlersuche sollte daher der Level 0 eingestellt werden
3) »Verlorene« Benutzer sind Benutzer, die sich nicht ordnungsgemäß am Server abgemeldet haben. Dies kann daran liegen, dass der Benutzer die Chat Client Anwendung nicht ordnungsgemäß beendet hat, dass die Internet- (Nezwerk-) verbindung abgebrochen ist oder ein sonstiger Fehler aufgetreten ist.
4) »Verwaiste« Channels sind Channels, in denen sich kein Benutzer mehr befindet
[CONNECTION]
server.protocol Definiert das Netzwerkprotokoll. Ist kein Wert eingetragen, wird TCP genutzt.
Möliche Eintragungen sind RMI oder TCP. Das Protocoll RMI kann fü das Internet nicht genutzt werden
server.hostx)1) Definiert die IP-Adresse, auf die der Chat-Server aufsetzen soll. Soll der Chat-Server im Internet erreichbar sein, ist die IP-Adresse, die der Internet-Provider dem RechnerClient zugeteilt hat, einzutragen
server.port Definiert den Port, auf dem die Kommunikation erfolgen soll. Standardeintragung ist 1285
server.bind Definiert den »Bind«-Namen. Unter diesem Namen wird das zugehörige Java-Objekt im Rechner (RMIRegistry) registriert.
Clients suchen das Server-Objekt unter zuhilfenahme dieses Namens. Der Standardname sollte daher NICHT geändert werden
[SERVER]
server.namex) Der Name des Servers. Zum erfolgreichen Starten des Servers muss eine Eintragung vorhanden sein
server.commentx) Ein Kommentar für den Server. Zum erfolgreichen Starten des Servers muss eine Eintragung vorhanden sein
server.pw Zum Setzen eines Passworts für den Server. Ist ein Passwort gesetzt, müssen die Clients beim CONNECT das Passwort angeben
server.user.limit Setzt eine Obergrenze an gleichzeitig auf dem Server befindlichen Benutzern
server.admin.name Der Name des Administrators. Zum erfolgreichen Starten des Servers muss eine Eintragung vorhanden sein
server.admin.pw Das Kennwort für den Administrator. Zum erfolgreichen Starten des Servers muss eine Eintragung vorhanden sein
server.admin.email Die e-Mail des Administrators. Zum erfolgreichen Starten des Servers muss eine Eintragung vorhanden sein
errorfile Definiert den Standort des Errorfiles »error_en.properties«. Das File muss über die Dateistruktur erreichbar sein (darf also NICHT in einem Archivfile (zip,jar,arj...) abgelegt sein.
Die Eintragung wird als relative Pfadangabe zum aktuellen Arbeitsverzeichnis verstanden. Ist z.B der Server in
  D:\Programme\Chat
installiert und die Eintragung zu errorfile ist:
  errorfile=files\Error_en.properties
muss das File im Verzeichnis:
  D:\Programme\Chat\ files\Error_en.properties
abgelegt sein
[LOGGING]
log.server.console Gibt an, ob der Server Ausgaben in die Konsole loggen soll (true) oder nicht (false)
log.server.file Definiert das zu benutzende Logfile für den Server. Mögliche Werte sind:
  1. kein Wert angegeben: der Server erstellt KEIN Logfile
  2. Angabe eines vollqualifizierten Logfiles: der Server erstellt sein Logfile am angegebenen Ort
  3. Angabe eines relativen Logfiles: der Server erstellt sein Logfile im Pfad der sich aus »Arbeitsverzeichnis« + »angegebener Pfad/Name« zusammensetzt
Beispiele:
log.server.file=
log.server.file=D:\Programme\chat\myLogs\Server.log
log.server.file=\myLogs\Server.log
log.server.level Definiert den entsprechenden Loglevel (0-10) 2)
log.channel.console Gibt an, ob die einzelen Channels Ausgaben in die Konsole loggen sollen (true) oder nicht (false)
log.channel.path Definiert den Pfad, in den die einzelen Channels ihr Logfile ablegen sollen. Mögliche Werte sind:
  1. kein Wert angegeben: die Channels erstellen KEIN Logfile
  2. Angabe eines vollqualifizierten Pfads: die Channels erstellen ihre Logfiles im angegebenen Pfad
  3. Angabe eines relativen Pfads: die Channels erstellen ihre Logfiles im Pfad der sich aus »Arbeitsverzeichnis« + »angegebener Pfad/Name« ergibt
Beispiele:
log.channel.path=
log.channel.path=D:\Programme\chat\myLogs\
log.channel.path=\myLogs\
log.channel.level Definiert den entsprechenden Loglevel (0-10) 2)
[VERWALTER]
user.verwalter.wait Definiert das Zeitinterval in Millisekunden, nach der die Benutzerverwaltung nach »verlorenen« 3) Benutzern sucht. »Verlorene« Benutzer werden aus der Benutzerverwaltung entfernt.
Je geringer der eingestellte Wert ist, desto häufiger sucht die Verwaltung nach »verlorenen« Benutzer, was aber auch zur Folge hat, dass der Server mehr belastet ist. Längere Wartezeiten entlasten den Server, können aber dazu führen das nicht mehr vorhandene Benutzer bis zum nächsten Suchlauf noch verwaltet werden.
channel.verwalter.wait Definiert das Zeitinterval in Millisekunden, nach der die Channelerverwaltung nach »verwaisten« 4) Channels sucht. »Verwaiste« Channels werden aus der Channelverwaltung entfernt.
Je geringer der eingestellte Wert ist, desto häufiger sucht der Verwalter nach »verwaisten« Channels, was aber auch zur Folge hat, dass der Server mehr belastet ist. Längere Wartezeiten entlasten den Server, können aber dazu führen das »verwaisten« Channels bis zum nächsten Suchlauf noch verwaltet werden.
[CHANNEL]
channel.savepath Definiert den Pfad, in der die einzelnen Channels ihre Informationsdatei (*.ch) schreiben. Mögliche Werte sind:
  1. kein Wert angegeben: die Channels erstellen ihre Informationsfile in »Arbeitsverzeichnis« + »/channels/*.ch«
  2. Angabe eines vollqualifizierten Pfads: die Channels erstellen ihr Informationsfile im angegebenen Pfad
  3. Angabe eines relativen Pfads: die Channels erstellen ihr Informationsfile im Pfad der sich aus raquo;Arbeitsverzeichnis« + »angegebener Pfad« zusammensetzt
Beispiele:
channel.savepath=
channel.savepath=D:\Programme\chat\myChannels\
channel.savepath=\myChannels\
channel.wait Definiert das Zeitinterval in Millisekunden, nach der der einzelne Channel nach »verlorenen« 3) Benutzern sucht. »Verlorenen« Benutzer werden aus dem Channel entfernt (aber nicht automatisch aus der Benutzerverwaltung)
reserved[0...n] Definiert einen reservierten Channelnamen. Es können beliebig viele Einträge in der INI enthalten sein. Je Eintrag darf immer nur ein Channelname angegeben werden. Für eine eindeutige Identifizierung sollte dem Channelname der Präfix # vorangestellt werden.

Beispiel:
reserved[0]=#notallowed
reserved[1]=#forbidden

2.3. Anpassen der Startdatei

Im zip-File »void-chat.zip« ist das Batch-File »StartServer.bat« enthalten, daß an die Installation der Java Runtime Umgebung (Java Runtime Environment = JRE) angepasst werden muss:

set JDK=D:\Programme\Java\JDK1.3\jre

set classpath=%JDK%/lib/rt.jar;.;chat-classes13.zip;
%JDK%/bin/java de.y.chat.server.ServerMain
Hier muss die Zeile
set JDK=
an die Installation der JRE auf dem Rechner angepasst werden.

Beispiel:
Hat man die JRE unter D:\Programme installiert, so befindet sich dort folgende Ordner-Strukur:
  D:\Programme\JRE
oder
  D:\Programme\JDK\JRE (wenn man das Java Development Kit installiert hat).

Die Eintragung in der raquo;StartServer.bat« muss dann folgendermaßen angepasst werden:

set JDK=D:\Programme\JRE (oder set JDK=D:\Programme\JDK\JRE)

2.4. Parameter der Startdatei/

Innerhalb des Batch-File »StartServer.bat« kann dem zu startenden Java-Programm ein spezielles Konfigurationsfile übergeben werden:

/ini=Name des Ini-Files (zur übergabe eines speziellen »Server.ini« Files)

Beispiel:

%JDK%/bin/java de.y.chat.server.ServerMain /ini=myServer.ini

2.5. Anpassen des Java Runtime Environment (JRE)

Damit der Server erfolgreich gestartet werden kann, muss der JRE noch bekanntgegeben werden, dass die Anwendung die entsprechenden Rechte erhält.Dazu öffnet man das File »java.policy«, welches sich im JRE Ordner unter JRE\lib\security\ befindet. Hier muss man unter den Zeilen:

// Standard extensions get all permissions by default
grant codeBase "file:${java.home}/lib/ext/*" {
  permission java.security.AllPermission;
};
die folgenden Zeile(n) hinzufügen:
grant codeBase "file:/<chat-installations-pfad>/chat-classes13.zip" {
  permission java.security.AllPermission;
};

Anschliessend sucht man die Zeile

permission java.net.SocketPermission "localhost:1024-", "listen";
und ändert diese in
permission java.net.SocketPermission "localhost:1024-","listen,accept,connect,resolve";

2.6. Einrichten bei mehreren IP-Adressen

Soll der Chat-Server auf einem Rechner laufen, für den mehrere IP Adressen "konfiguriert" sind (z.B. für eine lokale Netzwerkkarte und durch einen Internet-Provider) muss der JDK Parameter:

-Djava.rmi.server.hostname=
verwendet werden. Der Parameter muss in der »StartServer.bat« angegeben werden.

Beispiel:
Für seine Netzwerkkarte hat man sich eine private IP-Adresse reserviert, z.B. 192.168.0.99. Durch den Internet Provider hat man beim "Einwählen" dieIP-Adresse 80.131.4.117 erhalten. Der Chat-Server soll anderen Benutzern im Internet zur Verfügung gestellt werden. Es muss der Parameter

-Djava.rmi.server.hostname=80.131.4.117
in dem Batch-File »StartServer.bat« zus„tzlich angegeben werden. Das Batch-File sieht dann so aus:
set JDK=D:\Programme\Java\JDK1.3\jre
set classpath=%JDK%/lib/rt.jar;.;chat-classes13.zip;
%JDK%/bin/java -Djava.rmi.server.hostname=80.131.4.117 de.y.chat.server.ServerMain

2.7. Tipp Server Starten

Nachdem man die oben genannten Eintragungen im der »Server.ini« vorgenommen hat, die Anpassungen im java-Policy File durchgeführt und die »StartServer.bat« an das eigene JRE angepasst hat, kann man den Server starten.
Möchte man aber testen, ob der Server ordnungsgemäß gestartet ist sollte daher die »Server.ini« nochmals vorübergehend geändert werden. Die Zeilen

log.server.console=
log.server.file=
log.server.level=
sollten folgende Eintragungen erhalten:
log.server.console=true
log.server.file=/log/server.log
log.server.level=0
Dies führt dazu, dass der Server alle Ausgaben in die Konsole und in das Server Logfile schreibt.

Startet der Server ordnungsgemäß erscheint eine Ausgabe in der Konsole, die in etwa so aussieht:

Tatsächliches Logfile ist=D:/void-chat/log/server.log
Binding the server...
Done.
Server installed.

Location Data:
  ** Protocol: TCP
  ** Host: 127.0.0.1
  ** Port: 1285

Konnte der Server nicht gestartet werden kommt entweder

  • eine Fehlermeldung, die den Fehler im Klartext beschreibt. Dies ist dann der Fall, wenn eine notwendige Eintragung in der »Server.ini« fehlt oder fehlerhaft ist
oder
  • ein typischer java Stacktrace. Handelt es sich bei dem java-Fehler um eine java.security.AccessControlException, ist dies ein Indiz dafür, daß die Eintragung im java-Policy File nicht richtig ist. Die Eintragungen sollten dann nochmals geprüft werden.
    Beispiel für java.security.AccessControlException:
    Binding the server...
    Failed.
    
    ************************** CATCHED EXCEPTION ************************
    Exception caused in Class de.y.chat.server.ServerHandler
    Exception message: access denied (java.net.SocketPermission 127.0.0.1:1285 
        connect,resolve)
    *********************** END OF CATCHED EXCEPTION ********************
    ************************** CATCHED EXCEPTION ************************
    Exception caused in Class de.y.chat.server.ServerHandler
    Exception message: access denied (java.net.SocketPermission 127.0.0.1:1285 
        connect,resolve)
    java.security.AccessControlException: access denied 
      (java.net.SocketPermission 127.0.0.1:1285 connect,resolve)
        at java.security.AccessControlContext.checkPermission(Unknown Source)
        at java.security.AccessController.checkPermission(Unknown Source)
        at java.lang.SecurityManager.checkPermission(Unknown Source)
        at java.lang.SecurityManager.checkConnect(Unknown Source)
        at java.net.Socket.<init>(Unknown Source)
        at java.net.Socket.<init>(Unknown Source)
        at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source)
        at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
        at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
        at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
        at sun.rmi.server.UnicastRef.newCall(Unknown Source)
        at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
        at java.rmi.Naming.bind(Unknown Source)
        at de.y.chat.server.ServerHandler.installServer(ServerHandler.java:129)
        at de.y.chat.server.ServerHandler.startup(ServerHandler.java:79)
        at de.y.chat.server.ServerMain.main(ServerMain.java:31)
    *********************** END OF CATCHED EXCEPTION ********************
      
    


3. CLIENT

3.1. Client-Konfigurationsfile anpassen

Folgende Einträge in der »Client.ini« müssen1) ausgefüllt sein:

  • name=
  • email=
  • realname=
Die übrigen Eintragungen müssen nicht angepasst werden.

1) mit der Version 1.0.2 sind in dem Konfigurationsfile default-Eintragungen vorhanden, damit für einen »schnellen« Start diese Eintragungen/Anpassungen nicht vorgenommen werden müssen. Nichtsdestotrotz sollten die Daten für einen »eigenen« Client angepasst werden.

3.2. Einträge im Konfigurationsfile »Client.ini«

1) die mit x) gekennzeichnteten Einträge müssen angepasst werden
2) über den Loglevel können Systemausgaben gesteuert werden. Der Loglevel 10 bewirkt, dass die Anwendung keine Ausgaben erzeugt. Bei Loglevel 0 werden alle relevanten Daten ausgegeben. Für die Fehlersuche sollte daher der Level 0 eingestellt werden
[CLIENT]
name1)x)) der Nickname des Benutzers
eMailx) die e-Mailadresse des Benutzers
realname der wirkliche Name des Benutzers
firststartup true, wenn der Client zum ersten Mal gestartet wird, ansonsten false
join.channel[0...n] Der Name eines Channels, der automatisch betreten werden soll. Es können beliebig viele Einträge in der INI enthalten sein. Je Eintrag darf immer nur ein Channelname angegeben werden. Für eine eindeutige Identifizierung sollte dem Channelname der Präfix # vorangestellt werden.
Beispiel:
join.channel[0]=#final
join.channel[1]=#help
join.channel[2]=#ut2003
[SERVER]
server.protocol Definiert das Netzwerkprotokoll. Ist kein Wert eingetragen, wird TCP genutzt.
Mögliche Eintragungen sind RMI oder TCP. Das Protocoll RMI kann fü das Internet nicht genutzt werden
server.hostx) Definiert die IP-Adresse des Chat-Servers
server.port Definiert den Port, auf dem die Kommunikation mit dem Server erfolgen soll.
Standardeintragung ist 1285
server.bind Definiert den »Bind«-Namen. Unter diesem Namen wurde der Chat-Server auf dem Host-Rechner in der RMIRegistry registriert.
Nach der Herstellung der Verbindung zwischen Client und Host, sucht der Client in der RMIRegistry des Hostrechners nach dem Chat-Server unter Berücksichtigung der »server.bind« Eintragung.
Dieser Standardname sollte daher nicht geändert werden
[LOGGING]
log.client.console true, wenn Ausgaben in die Konsole geloggt werden sollen, ansonsten false
log.client.file der Name des Files, in die die Ausgaben des Clients geloggt werden sollen. Mögliche Werte sind:
  1. kein Wert angegeben: der Client erstellt kein Logfile
  2. Angabe eines vollqualifizierten Logfiles: der Client erstellt sein Logfile am angegebenen Ort
  3. Angabe eines relativen Logfiles: der Client erstellt sein Logfile im Pfad der sich aus »Arbeitsverzeichnis« + »angegebener Pfad/Name« zusammensetzt
Beispiele:
log.client.file=
log.client.file=D:\Programme\chat\myLogs\Server.log
log.client.file=\myLogs\Server.log
log.client.level definiert den Loglevel (0-10)2)
[COMMANDS+HELP]
typ Definiert den Command Typ. Die Eintragung ist in dieser Version ohne Bedeutung. Grundsätzlich sind im Client 2 unterschiedliche Befehlssätze implementiert: IRC und MSG.
Der IRC Befehlssatz enthält Befehle, die eng an die im IRC gebräuchlichen Befehle angelehnt sind. Der MSG Befehlssatz ist eine Eigenentwicklung.
  • Um die IRC ähnlichen Befehle zu nutzen sind folgende Einstellungen notwendig:
    template=de/y/chat/client/IRC.template
    parser.class=de.y.chat.ParserIRC
    help.class=de.y.chat.client.HelpIRC_de
  • Um die MSG Befehle zu nutzen sind folgende Einstellungen notwendig:
    template=de/y/chat/client/MSG.template
    parser.class=de.y.chat.ParserMSG
    help.class=de.y.chat.client.HelpMSG_de
template Definiert das Template File für die Commmands
parser.class Definiert das zu benutzenden Befehlsparser class-file (de.y.chat.client.ParserIRC oder de.y.chat.client.HelpMSG_de)
[USER_INTERFACE]
font.name der Name des Zeichensatzes
font.size die Größe des Zeichensatzes

3.3. Anpassen der Startdatei

Im zip-File »void-chat.zip« ist das Batch-File »StartClient.bat« enthalten, daß an die Installation der Java Runtime Umgebung (Java Runtime Environment = JRE) angepasst werden muss:

set JDK=D:\Programme\Java\JDK1.3\jre

set classpath=%JDK%/lib/rt.jar;.;chat-classes13.zip;
%JDK%/bin/java de.y.chat.server.ServerMain
Hier muss die Zeile
set JDK=
an die Installation der JRE auf dem Rechner angepasst werden.

Beispiel:
Hat man die JRE unter D:\Programme installiert, so befindet sich dort folgende Ordner-Strukur:
  D:\Programme\JRE
oder
  D:\Programme\JDK\JRE (wenn man das Java Development Kit installiert hat).

Die Eintragung in der »StartClient.bat« muss dann folgendermaßen angepasst werden:

set JDK=D:\Programme\JRE
oder
set JDK=D:\Programme\JDK\JRE

3.4. Parameter der Startdatei

Innerhalb des Batch-File »StartClient.bat« kann dem zu startenden Java-Programm ein spezielles Konfigurationsfile übergeben werden:

/ini=Name des Ini-Files (zur übergabe eines speziellen »Client.ini« Files)

Beispiel:

%JDK%/bin/java de.y.chat.client.ClientMain /ini=myClient.ini


4. END

4.1. Programm - Version

Chat was programmed by: VoiD in 2002 (c)
Version: 1.0.1
E-Mail: VoiD
Fehler und Fehlermeldungen, Bugs und sonstige Anregungen bitte an Found a Bug
senden.

4.2. Freigabe und Quellcode

Der Chat ist für den privaten Bereich hiermit ausdrücklich freigegeben. Für eine kommerzielle/betriebliche Nutzung ist das Einverständnis einzuholen. Eine entsprechende Anfrage ist an VoiD zu richten.
Interessierte Entwickler können den Quellcode gerne bei mir anfordern.

4.3. Thanx

Special thanks to:

  • [lunatic]suicide
  • CygX
  • Fragger

4.4. Hilfe

Update 31.05.2015: Das Chatprogramm ist jetzt 13 Jahre alt, da kann ich - aus hoffentlich verständlichen Gründen - keinen Support mehr leisten.

Have fun :)

5. VERSION HISTORY

5.1. Version 1.0.1

  • Server Fehlermeldung beim Starten überarbeitet
  • Chat Client Version wird beim "connect" auf den Server überprüft
  • mind. Java Version 1.3.1 erforderlich
  • Prüfung der VM Version bei Programmstart

5.2. Version 1.0.2

  • Channels *.ch Files enthalten einen Zeitstempel (timestamp)
  • Channels *.ch Files enthalten eine Checksummen, damit die Files nicht geändert werden können. Manuell geänderte Channel Files werden nicht mehr aktzeptiert. Der entsprechende Channel wird nicht geöffnet
  • Der Benutzer wird über das "Disconnect" informiert
  • Befehl /privileg #channel eingeführt, damit der Benutzer seinen Privilegienwert im Channel erfragen kann



mindestbreite
Main Links Unten mindestbreite Main Rechts Unten