PreviousNextUpFAQ Table of Contents

Server Properties

The properties file itself looks like this by default. To change the server properties, simply edit the file with any plain text editor. When changes are made to any of the server configuration files, you must restart the VolanoChat server for the changes to take effect.

File locations

Server base directory

The VolanoChat server looks for its Java properties file in its base directory. The server determines its base directory depending on whether or not it was started with a parameter specifying the path to a properties file.

If the server is started with no parameters, as with the command java COM.volano.Main, its base is the directory from which it was started. It looks in the current working directory for a file called properties.txt. In this way if you simply change to the installation directory (called vchat2.1.x by default) and start the server, it will find all of the configuration files created during its installation.

If the server is started with a command parameter specifying the path to its properties file, as in the UNIX command:

java COM.volano.Main /home/volano/vchat2.1.x/properties.txt

it will set its base to the directory containing the properties file you specify (/home/volano/vchat2.1.x in this example). In this way you can start the server and point to a different directory for the location of its configuration files. This method also allows you to start more than one instance of the VolanoChat server, each with a different configuration and different set of log files.

Secondary files

The VolanoChat server properties file gives the location of three other configuration files:

In addition, it specifies the location of as many as seven sets of optional log files:

You may specify absolute or relative paths to these secondary files and directories. If the file paths are not absolute, they are assumed to be relative to the VolanoChat server base directory, as described above.

Property names and values

Each of the VolanoChat server properties is explained below, showing the value initially defined by the sample properties file. You can let a property take on its default value by commenting out its definition, as in:

# server.port=9000

For file path names you should specify the path in Web notation using a forward slash ("/") for the path separator instead of the Windows backward slash character ("\"). There can be no spaces on either side of the equal sign when defining the property values.

Applet code base directory

applet.codebase=vcclient

This property gives the local file path to your applet code base directory, which you moved under your Web server document directory during installation. This property allows the VolanoChat applet configuration servlet to find all the applet property files when modifying the properties through the Web page form.

General properties

server.host=

This property allows you to define the host name or IP address at which the VolanoChat server accepts connections. It can be used to direct the server to bind to a particular address when running on a multi-homed host with multiple virtual addresses. The default if undefined is to accept connections on all of the machine's addresses.

server.port=8000

This property defines the port number at which the VolanoChat server accepts chat connections from VolanoChat client applets. This number must be the same as the VolanoChat applet server.port property value. The default is port 8000.

server.password=

This property defines the password required to monitor chat rooms when using the monitor interface of the VolanoChat applet. Monitoring capabilities are activated in the VolanoChat applet by setting the applet monitor parameter to true, although the correct password is required in order to use any of the monitoring capabilities. The default is no password, which allows no monitoring of any chat rooms.

admin.client.host=127.0.0.1

This property defines the host name or IP address from which the COM.volano.Status and COM.volano.Shutdown programs can be executed against this VolanoChat server. The default is the IP address of the localhost, meaning the status and shutdown programs must be run on the same machine as the VolanoChat server itself.

admin.port=8001

This property defines the port number at which the VolanoChat server accepts administrative connections. The default is port 8001.

admin.password=

This property defines the password required to make administrative connections to the VolanoChat server from the COM.volano.Status and COM.volano.Shutdown applications. The default is no password, which allows no administrative connections.

status.interval=60

This property defines the interval, in seconds, at which you wish to receive status reports from the VolanoChat server when using the COM.volano.Status application. The default is 60 seconds.

server.backlog=50

This property specifies the number of incoming connections that can be queued up by your operating system while waiting for the VolanoChat server to accept them. Connections are queued when the VolanoChat server has reached the connection limit defined by the server administrator or set by your VolanoChat license key. If a connection request arrives when the queue is full, the connection is refused. The default is 50 pending connections.

server.limit=0

This property sets the limit on the total number of simultaneous chat connections to your VolanoChat server. You can use this value to control the total number of people using your VolanoChat server, thereby placing a limit on the resources used by the server. The default is zero, allowing an unlimited number of concurrent connections or the maximum number of connections allows by your VolanoChat license key.

server.timeout=10

This property defines the number of minutes before a connection is disconnected after the VolanoChat server detects the client applet is not responding. Note that this is not an idle timeout on the person actually chatting—rather, it is a dead session timeout used to clean up any connections which were not closed normally. The default is 10 minutes.

server.verbose=false

This property enables or disables verbose error logging. When the verbose error logging is enabled with a value of true, a complete Java stack trace is recorded for each error in addition to the message text. When disabled with a value of false, only the error message text is recorded. The default value is false.

server.trace=false

This property enables or disables server packet tracing. When the packet tracing is enabled with a value of true, the Java class name of each object serialized across each client network connection is written to standard output. The default value is false.

address.broadcast=false

This property determines whether the IP address or host name of each chat visitor is sent out to all other visitors along with the visitor's profile text. A value of false prevents the address information from being sent to anyone except VolanoChat monitors and administrators. A value of true sends each visitor's IP address to all other visitors. The VolanoChat applet properties text.status.profile and text.status.noprofile determine whether VolanoChat applets display the address information along with the profile text when it is received from the server. The default value of the property prevents people from obtaining IP addresses using TCP/IP trace tools or non-Volano clients.

script.timeout=10

This property defines the number of seconds that the VolanoChatPro server will wait for a response from the membership name and access scripts. If the access script times out, the requesting member name and password is denied access as a member. If the name script times out, the name is permitted even if it happens to be a member name. The default value is 10 seconds.

script.trace=false

This property enables or disables tracing of the HTTP requests and responses between the VolanoChatPro server and the member name and access scripts. When the tracing is enabled with a value of true, each HTTP request and response is written to standard output and can be used to debug problems with your membership access. The default value is false.

server.nothreadgroups=false

This property, when set to true, works around Apple Mac Runtime for Java bug number 2232076. It should be set to true when running the VolanoChat server on the Mac with the Apple MRJ virtual machine in order to avoid java.lang.IllegalThreadStateException errors.

room.limit=25

This property sets the maximum number of people allowed to enter each chat room. The default is a maximum of 25 people per room.

room.nodynamic=false

This property enables or disables the ability of client applets to create dynamic rooms in the VolanoChat server. You can normally control dynamic room creation using the Web page referrer access control. When set to true, this property will completely prevent any dynamic rooms from being created since the referrer-based access control can be defeated by imposter VolanoChat applets. The default value is false.

room.sweep.interval=15

This property defines the interval in minutes at which the list of rooms is swept for those that are empty and not referenced by visitors. Note that a room may be empty but is still referenced in the VolanoChat server as long as anyone who entered through the Web page which created the room is still connected. The default value is 15 minutes.

length.chattext=1000
length.profile=1000
length.roomname=100
length.username=20

These properties set the maximum length of character strings received from a VolanoChat client applet. The property length.roomname defines the maximum number of characters for a room name; length.username defines the maximum number of characters for a person's nickname; length.profile defines the maximum number of characters for a profile; and length.chattext defines the maximum number of characters for one chat message.

Their default values are those shown above. The values of these properties should be equal to or greater than the properties of the same name for the VolanoChat client applet, since any applet sending more characters will be disconnected and assumed not to be a VolanoChat applet.

Configuration files

server.http=httpd.txt

This property defines the name and location of the properties file used by VolanoChat's built-in servlet runner. See the Servlet Runner section for an explanation of the servlet runner's properties. The default when omitted is to disable the servlet runner.

server.access=access.txt

This property defines the name and location of the access control file which defines the people and the Web pages that may access to your VolanoChat server. The syntax of the access control file is documented in the Access Control section later in this chapter. The default when omitted allows access from any host or Web page.

server.rooms=rooms.txt

This property defines the name and location of the file containing the list of rooms to be permanently available in the VolanoChat server. The syntax of the room list file is documented in the Permanent Rooms section later in this chapter. The default when omitted is to have no permanent chat rooms.

Log files

log.access=access.log
log.error=error.log
log.support=support.log
log.public=
log.private=

These properties define the names and locations of the VolanoChat server log files. The property log.access defines the server access log file, log.error defines the error log file, log.support defines the file to contain support information, log.public defines the public room access log file, and log.private defines the private room access log file. The format of the server, public, and private access logs can be defined with format properties shown below. The default when a log property is undefined or omitted is to disable the corresponding log file.

log.chat.public.dir=vcclient
log.chat.public.suffix=.html
log.chat.private=

These properties define the names and locations of the VolanoChat server chat message log files. The property log.chat.public.dir defines the directory where each of the public room chat message files are stored, with the file name equal to the room name followed by the suffix defined by the log.chat.public.suffix property value. The default location is the vcclient directory located under the VolanoChat server installation directory, and the default suffix is .html. The property log.chat.private defines the name of the single file containing the chat messages from all private rooms. Omitting a public message log directory location or a private message log file name disables the message logging. Message logging may also be enabled or disabled through the room transcription properties below.

Room transcriptions

transcribe.room.permanent=false
transcribe.room.dynamic=false
transcribe.room.event=false
transcribe.room.private=false

These properties enable or disable the transcription of messages in the public and personal chat rooms. Transcription is enabled when set to true and disabled when set to false. The default value for each property is false. The properties for permanent, dynamic, and event chat rooms control the logging of public messages into the directory defined by log.chat.public.dir. The property for private chat rooms controls the logging of private chat messages into the file defined by log.chat.private. Permanent public rooms are those listed in the rooms.txt file by default. Dynamic public rooms are those created by access through VolanoChat applets defining the group applet parameter, and event rooms are auditoriums created for moderated events.

Log file formats

format.date=
[dd/MMM/yyyy:HH:mm:ss z]
format.access=
{0} - - {1} "GET {2} HTTP/{3}" {4,number,0} {5,number,0} "{6}" "{7}" {8}
format.access.agent=
{0}/{1} API/{2} ({3}/{4} {5}) {6}
format.access.extra=
{0,number,0} {6}
format.public=
{0} {1,number,0} "{2}" "{3}" {4}
format.private=
{0} {1,number,0} "{2}" "{3}" {4} "{5}" {6}
format.status=
{0} {1} {2,number,0} {3,number,0} {4,number,0} {5,number,0} {6,number,0} {7,number,0} {8,number,0} {9,number,0}
format.status.memory=
{0,number,0}KB {1,number,0}KB {2,number,0%}

These properties define the message format templates of the server, public, and private access log files, as well as the templates used by the COM.volano.Status application to format status reports from the server. The message formats allow the server administrator to create log files for any log analysis program or for importing into any spreadsheet program. The defaults are the message format templates shown for each property above. See the Log Files section later in this chapter for details on the message format templates.

format.chat.public=
{3,date,[dd/MMM/yyyy:HH:mm:ss]} <b>&lt;{0}&gt;</b> {2}<br>
format.chat.private=
{3,date,[dd/MMM/yyyy:HH:mm:ss]} <b>&lt;{0} -&gt; {1}&gt;</b> {2}<br>

These properties define the format for logging public and private chat messages, where {0} is the name of the sender, {1} is the name of the receiver, and {2} is the chat message text. You can add the variable {3} as a formatted time stamp, such as {3,date,[dd/MMM/yyyy:HH:mm:ss]}. With the default definitions above, public chat messages are saved like the following two examples:

[27/May/1999:14:42:22] <John> Hi there!
[27/May/1999:14:42:30] <Mark> Hi, John. What's up?

and private chat messages are saved like the following:

[27/May/1999:14:42:22] <John -> Mark> What's up?
[27/May/1999:14:42:30] <Mark -> John> Not much here. And you?

Member access

member.version=
member.only=false
member.access=
member.name=

The VolanoChat server supports connectivity to member databases. If member.version is set to 2.1, the new interface for VolanoChat 2.1 is used instead of the older VolanoChat 2.0 member script interface. If member.only is set to false, members and non-members can access the chat server. If true, only members may access the VolanoChat server. The member.access and member.name properties allow you to define Uniform Resource Locators (URLs) for the scripts that access information in your member database. The defaults are shown above, using the older version 2.0 interface, allowing access to non-members, and defining no database access scripts. See the Member Database Support chapter for details on the database interface.

Member monitors

member.monitor.matchcase=false
member.monitor.multiuse=false
member.monitors=

Note: These properties work only in conjunction with a membership database in a VolanoChatPro server.

These properties allow you to specify a list of members who may act as monitors in the VolanoChatPro server. Define the list of member-monitors in a file with one name per line and specify the path to the file with the property member.monitors. For example, if your member-monitors are Matt and Jane, you could create a file called monitors.txt containing the following:

matt
jane

You could place the file in the VolanoChat installation directory (where the properties.txt file is located), and then specify:

member.monitors=monitors.txt

The property member.monitor.matchcase determines whether to match the case of the member names when looking up member-monitors in the list. The default value is false, in which case both the requested member name and the list are converted to lower case characters before comparing their values. Otherwise, the names are matched in a case-sensitive manner when true.

The property member.monitor.multiuse determines whether there can be more than one connection with the same member-monitor name in the VolanoChatPro server. When set to true, the property allows more than one person with the same member name to be signed into the server as a monitor at the same time. The default value is false, which disconnects any other person using the same member-monitor name when a member signs in as a monitor.

Auditorium access and creation

auditoriums.permanent=false

This property determines whether event auditoriums remain permanently available in the VolanoChat server once they're created. A value of true causes all event auditoriums to remain in the server until it is stopped. A value of false allows the event auditorium to be removed from the server once all the guests and moderators on stage have left the room.

entrance.stage=

This property defines a Uniform Resource Locator (URL) prefix which must match any VolanoChat applet attempting to create an event auditorium. In this way, you can define a part of your Web site as the stage entrance for guests and moderators of live events, while not allowing any other Web site or location to create event auditoriums in your server.

Access to server events

event.callback.prefix=

This property defines a Uniform Resource Locator (URL) prefix which must match the callback location of any server-side event listeners registering with your VolanoChat server. In this way you can restrict server-side event notifications to only those URLs which are authorized by your VolanoChat server.


PreviousNextUpFAQ Check HTML Table of Contents