By default, the Server reads
its properties from a file called
properties.txt
in the directory
where the Server is started. When
changes are made to any of the server properties, you must restart
the VolanoChat server for the changes to take effect.
The Server properties are defined 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.
server.port=8000
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. The default is port
8000.
server.backlog=10
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 Java Version 1.0.2).
server.password=
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.
status.port=8001
This property is the port number at which the VolanoChat Server accepts status reporting connections. The default is port 8001. See the section on Performance Monitoring for information on how to obtain status reports from your VolanoChat Server.
status.password=
This is the password required to obtain status reports from your VolanoChat Server. The default is no password, which allows no status reports from the Server.
server.limit=100
This is the doorman to your VolanoChat Server, limiting the total number of simultaneous 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.
room.limit=25
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 each chat message it receives. The default is a maximum of 25 people per room. A good room size is 20 to 30, since any higher and it gets hard to read that fast.
server.access=access.txt
This property gives the location of the access control file which controls
user and Web page access to your VolanoChat Server. The syntax of the access
control file is documented in Access
Control. The default is the file access.txt
in the directory
where the VolanoChat Server is started.
server.rooms=rooms.txt
This property gives the location of the file which contains 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
in the Creating
Chat Rooms section. The default is the file rooms.txt
in the directory where the VolanoChat Server is started.
length.roomname=100 length.username=50 length.profile=200 length.chattext=600
These properties specify the maximum length of character strings from the
user, specified as the maximum number of characters. Their default values are
shown above. These
values 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).
log.access=logs/access log.chat=logs/chat
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 in
the Server
Logs section.
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 | effect |
---|---|
deny,allow
|
The deny directives are evaluated before the allow directives. A host or URL that does not match either list is given access. This order makes the deny directives the default, and the allow directives the exceptions. See the examples. |
allow,deny
|
The allow directives are evaluated before the deny directives. A host or URL that does not match either list is given access. This makes the allow directives the default, and the deny directives the exceptions. |
mutual-failure
|
You specify precisely which hosts or URLs are allowed or denied. A host or URL which does not match either list is denied access. A host or URL matching both lists is denied access. |
A host access directive is one of the following
( unlike on this
web page, directives must consist of one, unbroken line):
directive | effect |
---|---|
deny from all
|
Denies all hosts. |
deny from host1 host2 ... hostn
|
Denies access from the specified host, where the host is a partial domain name, a full host name, a partial IP address, or a full IP address. |
allow from all
|
Allows access from all hosts. |
allow from host1 host2 ... hostn
|
Allows access from the specified host, where the host is a partial domain name, a full host name, a partial IP address, or a full IP address. |
Host names and domain names are compared from right to left, so that
".volano.com"
would match all hosts in the
volano.com
domain, such as "ferrara.volano.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
( unlike on this
web page, directives must consist of one, unbroken line):
directive | effect |
---|---|
referrer deny from all
|
Denies all referrers. |
referrer deny from url1 url2 ... url#
|
Denies referrers from a Universal Resource Locator specified in the
form of protocol://host/file (with no port number or anchor
reference specified).
|
referrer allow from all
|
Allows all referrers. |
referrer allow from url1 url2 ... url#
|
Allows all referrers from a Universal Resource Locator specification in the
form of protocol://host/file (with no port number or anchor
reference specified).
|
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. The first sample allows users to
connect only from computers in the volano.com
domain, and would
allow those connections only through Web pages on Volano's site at
"http://www.volano.com/"
.
order deny,allow deny from all allow from .volano.com referrer deny from all referrer allow from http://www.volano.com/
For the opposite effect, these directives allow any user except those from
volano.com
to connect, and allows any referring Web page except
those in the user directories at www.volano.com
.
order allow,deny allow from all deny from .volano.com referrer allow from all referrer deny from http://www.volano.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