This page describes the VolanoChat Server settings, with the following sections:
The Server properties are defined in groups below, showing the default value for each property. For file path names, you must specify the path in Unix notation (using "/" instead of "\"). A relative path (one not beginning with "/") is assumed to be relative to the current working directory where the VolanoChat Server is started. There can be no spaces on either side of the equal sign.
By default, the Server reads its properties from a file called
"properties.txt" in the directory where the Server is
started. You may specify a different properties file when you start the
Server by using the syntax:
java COM.volano.Main properties
where properties is the path to the properties file you
want the Server to use.
This property is the port number at which the VolanoChat Server
accepts connections from VolanoChat Client applets. This number must be
the same as the VolanoChat Client server.port property
value in order for the Client applet to connect to the correct port
number. The default is port 8000.
server.port=8000
This property specifies the number of incoming connections that can be queued up while waiting for the VolanoChat Server to accept them. If a connection request arrives when the queue is full, the connection is refused. The default value if this property is omitted is the default for the Java Virtual Machine (50 for Sun's JDK Version 1.0.2).
server.backlog=10
This is the password required to monitor chat rooms when using the
monitoring version of the VolanoChat Client applet. Monitoring
capabilities are activated in the VolanoChat Client applet by setting
the applet monitor parameter to
true, although the password is required in order to use any
of those capabilities. The default is no password, allowing no
monitoring of chat rooms.
server.password=
This property is the port number at which the VolanoChat Server accepts status reporting connections. The default is port 8001. See the Performance monitoring section for how to obtain status reports from your VolanoChat Server.
status.port=8001
This is the password required to obtain status reports from your VolanoChat Server. The default is no password, allowing no status reports from the Server.
status.password=
This is the doorman to your VolanoChat Server, limiting the total number of connections accepted by the Server. You can use this value to control the total number of people using your VolanoChat Server, ensuring good performance for those who are already connected and chatting. The default is 100 connections.
server.limit=100
This property allows you to limit the number of people per room. Since every chat message must be sent to everyone else in the room, this number determines the maximum number of messages sent for every message received. You can use this number to control the amount of work your computer must do for every chat message it receives. The default is a maximum of 25 people per room.
room.limit=25
This property gives the location of the access control file
controlling user and Web page access to your VolanoChat Server. The
syntax of the access control file is documented later
on this page. The default is the file access.txt in the
directory where the VolanoChat Server is started.
server.access=access.txt
This property gives the location of the file containing a list of
rooms to be permanently available in the VolanoChat Server, with one
room name per line. The syntax of the room list file is documented
later on this page. The default is the file
rooms.txt in the directory where the VolanoChat Server is
started.
server.rooms=rooms.txt
These properties specify the maximum length of character strings from the user, specified by the number of characters. Their default values are shown below. These value should be equal to or greater than the properties of the same name for the VolanoChat Client, since any Client sending more characters will be immediately disconnected (and assumed not to be a VolanoChat Client).
length.roomname=100 length.username=50 length.profile=200 length.chattext=600
These properties give the location and prefix of the logs files to be used by
the Server. The date and time will be appended to each log file name when it is
created, using the suffix .YYMMDD.HHMMSS for each of the files.
The format of each log file is documented
later on this page.
log.access=logs/access log.chat=logs/chat
The VolanoChat Server uses the same access control directives used by popular Web servers such as the NCSA HTTPd Web Server and the Apache HTTP Web Server.
There are three types of directives in the access control file:
An order directive is one of the following:
order deny,allow order allow,deny order mutual-failurewhere:
deny,allow
allow,deny
mutual-failure
A host access directive is one of the following:
deny from all deny from host1 host2 ... hostn allow from all allow from host1 host2 ... hostnwhere:
all
host
Host names and domain names are compared from right to left, so that
".vip.best.com" would match all hosts in the
vip.best.com domain, such as
volano.vip.best.com. Begin partial domain names with a dot
(".") so that comparisons will be made against complete
components in the name.
Full and partial IP addresses are compared from left to right, so
that "192.168." would match any IP address beginning with
those two numbers, such as 192.168.0.5. End partial IP
addresses with a dot (".") so that comparisons will be made
against complete components in the address.
A referrer access directive is one of the following:
referrer deny from all referrer deny from url1 url2 ... urln referrer allow from all referrer allow from url1 url2 ... urlnwhere:
all
url
protocol://host/file (with no port number nor anchor
reference).
For URL specifications, the comparison is from left to right, so you must specify full host names or full IP addresses in the URL.
Here are some sample access control files. This sample:
order deny,allow deny from all allow from .vip.best.com referrer deny from all referrer allow from http://www.best.com/~
allows users to connect only from computers in the
vip.best.com domain, and would allow those connections only
through Web pages in the user directories beginning with
"http://www.best.com/~".
The opposite effect would be:
order allow,deny allow from all deny from .vip.best.com referrer allow from all referrer deny from http://www.best.com/~
These directives allow any user except those from
vip.best.com to connect, and allows any referring Web page
except those in the user directories at www.best.com.
Of course, you may also deny specific Web pages or users with:
deny from chat.volano.com deny from http://www.volano.com/chat.html
The server.rooms property allows you to specify a file
containing a list of room names, one per line. Each room name in the
list will create a permanent chat room when the Server is started. The
following example would create six permanent rooms each time the Server
is started:
# Create chat rooms for each of the supported languages. English Chat Room French Chat Room German Chat Room Italian Chat Room Portuguese Chat Room Spanish Chat Room
The VolanoChat Server records two log files:
All errors encountered by the Server are time stamped and written to standard error.
The access log file records each chat connection in the same format as the NCSA and Apache Web server combined log format. An entry is recorded at the end of each chat connection. This log file is suitable for any Web log analysis program such as the popular Analog program.
Each line in the log file has the following format:
host - - [DD/Mon/YYYY:hh:mm:ss zone] "request" ddd bbbb "referrer" "agent"where:
host
DD
Mon
YYYY
hh
mm
ss
zone
request
ddd
200 - Okay 401 - Unauthorized Web page 403 - Forbidden host 505 - Wrong VolanoChat Client applet version
bbbb
referrer
agent
Vendor/Version API/Version (OS/Version Architecture) URL
Here is a sample log entry (all on one line in the actual log file):
localhost - - [04/Dec/1996:17:31:19 -0800] "GET http://localhost/volano/ HTTP/1.06" 200 623 "http://localhost/volano/index.html" "Netscape Communications Corporation/1.02 API/45.3 (Windows 95/4.0 Pentium) http://home.netscape.com"
The chat log records extra information not found in the access log file, in the format:
[DD/Mon/YYYY:hh:mm:ss zone] host hh:mm:ss connections private kickerwhere:
date
host
hh:mm:ss
connections
private
kicker
You must set the status.password property before
starting your VolanoChat Server in order to enable status reporting.
Once the status password is set, you can obtain reports by running the
Status application from your VolanoChat Server directory as follows:
java COM.volano.Status host port password interval
where:
host
port
status.port Server property.
password
status.password Server property.
interval
The format of the status reports are (all on one line):
DD/MM/YY HH:MM:SS used available %used threads
connections rooms private received sent total
where:
used
available
%used
threads
connections
rooms
private
received
sent
total
A sample status report is:
02/21/97 18:47:35 175KB 381KB 46% 44 12 6 0 1 5 6